SimPay transfer/paysafecard/blik/paypal
Base:
use PatryQHyper\Payments\Online\Methods\SimPayPayment;
$simpay = $payment->online(
new SimPayPayment(
'bearer token',
'serviceId',
'serviceIpnHash'
)
);
Generate payment:
// required
$sim->setAmount(2.46);
// optional fields
$sim->setCurrency('PLN');
$sim->setDescription('opis');
$sim->setControl('controlData');
$sim->setReturnSuccess('https://simpay.pl');
$sim->setReturnFail('https://simpay.pl/fail');
$sim->setCustomerName('Jan Kowalski');
$sim->setCustomerEmail('test@mail.tld');
$sim->setCustomerIp('192.168.0.1');
$sim->setAntiFraudUserAgent('Mozilla/...');
$sim->setAntiFraudSteamId('STEAMID64');
$sim->setAntiFraudMcUsername('MinecraftNick');
$sim->setAntiFraudMcId('Minecraft premium player uuid');
$sim->setBillingName('First name');
$sim->setBillingSurname('Surname');
$sim->setBillingStreet('billing street');
$sim->setBillingBuilding('building');
$sim->setBillingFlat('flat');
$sim->setBillingCity('city');
$sim->setBillingRegion('region');
$sim->setBillingPostalCode('postCode');
$sim->setBillingCountry('PL');
$sim->setBillingCompany('Test Company Sp. z o.o.');
$sim->setShippingName('First name');
$sim->setShippingSurname('Surname');
$sim->setShippingStreet('Shipping street');
$sim->setShippingBuilding('building');
$sim->setShippingFlat('flat');
$sim->setShippingCity('city');
$sim->setShippingRegion('region');
$sim->setShippingPostalCode('postCode');
$sim->setShippingCountry('PL');
$sim->setShippingCompany('Test Company Sp. z o.o.');
$sim->setCart([
[
'name' => 'Test product',
'quantity' => 2,
'price' => 1.23,
'producer' => 'Test producer',
'category' => 'Category',
'code' => 'Product Code',
],
]);
$sim->setDirectChannel('blik');
$sim->setChannelTypeBlik(true);
$sim->setChannelTypeTransfer(true);
$sim->setChannelTypeCards(false);
$sim->setChannelTypeEWallets(true);
$sim->setChannelTypePayPal(false);
$sim->setChannelTypePaySafe(true);
$sim->setReferer('wizjoner');
$simpayPayment = $sim->generatePayment();
$simpayPayment->getTransactionUrl();
$simpayPayment->getTransactionId();
Get IPN signature:
// Your code in IPN handler.
// example payload getter
$payload = json_decode(file_get_contents('php://input'), true);
$signature = $simpay->generateIpnSignature($payload);
if(!hash_equals($signature, $payload['signature'])) {
throw new \Exception('invalid signature');
}
Last updated