Integration of payment gate thepay. This library uses their component, version 3.2.2, 16.2.2017 (you can see in 'lib' directory)
extensions:
thePay: WebChemistry\ThePay\DI\ThePayExtension
thePay:
merchantId: 1
accountId: 3
password: myPassword
$config = [
'merchantId' => 100,
'accountId' => 100,
'password' => 'pswd',
'dataApiPassword' => 'apiPswd'
];
$thepay = new WebChemistry\ThePay\ThePay($config);
/** @var WebChemistry\ThePay\ThePay */
$thepay;
$sender = $thePay->createSender(199); // Price
$sender->setDescription('Super product'); // Description for easier identification in administration
$sender->setMerchantData('Customer id is 150.');
// or
$sender->setMerchantData([
'customer' => 150
]);
echo $sender->render();
/** @var WebChemistry\ThePay\ThePay */
$thepay;
$receiver = $thepay->getReceiver();
if (!$receiver->verifySignature(FALSE)) {
die('Bad request.');
}
if (!$receiver->isSuccess()) {
die('Payment was not successful.');
}
// Get info from api
$remotePayment = $receiver->getRemotePayment();
if ($remotePayment) {
$remotePayment->getValue(); // Price
}
$payment = $thepay->createPermanent('merchantData', 'description', 'localhost/returnUrl.php');
$payment->getMethods(); // Array of methods with payment information