Paynow PHP Library provides access to Paynow API from Applications written in PHP language.
- PHP 7.1 or higher
- HTTP client implements
php-http/client-implementation
. For more information see the packages list.
Install the library using Composer
$ composer require pay-now/paynow-php-sdk
If you don't have HTTP client that implements PSR-18 you can use:
$ composer require pay-now/paynow-php-sdk nyholm/psr7 php-http/curl-client
Use autoloader
require_once('vendor/autoload.php');
Making a payment
use Paynow\Client;
use Paynow\Environment;
use Paynow\Exception\PaynowException;
use Paynow\Service\Payment;
$client = new Client('TestApiKey', 'TestSignatureKey', Environment::SANDBOX);
$orderReference = "success_1234567";
$idempotencyKey = uniqid($orderReference . '_');
$paymentData = [
"amount" => "100",
"currency" => "PLN",
"externalId" => $orderReference,
"description" => "Payment description",
"buyer" => [
"email" => "customer@domain.com"
]
];
try {
$payment = new Payment($client);
$result = $payment->authorize($paymentData, $idempotencyKey);
} catch (PaynowException $exception) {
// catch errors
}
Handling notification with current payment status
use Paynow\Notification;
$payload = trim(file_get_contents('php://input'));
$headers = getallheaders();
$notificationData = json_decode($payload, true);
try {
new Notification('TestSignatureKey', $payload, $headers);
// process notification with $notificationData
} catch (Exception $exception) {
header('HTTP/1.1 400 Bad Request', true, 400);
}
header('HTTP/1.1 202 Accepted', true, 202);
See the Paynow API documentation
If you have any questions or issues, please contact our support at support@paynow.pl.
MIT license. For more information see the LICENSE file