Zapamätanie karty (ComfortPay)
ComfortPay je samostatná služba, ktorá umožňuje zapamätať si kreditnú kartu používateľa pre budúce použitie.
Ak chcete túto funkciu používať, musíte na ňu spĺňať podmienky. Pre viac informácií kontaktujte podporu Tatrabanky.
Registrácia pre uloženie karty
Pre uloženie údajov o kreditnej karte používateľa je potrebné vykonať jednu platbu a zadať parameter card_detail.comfort_pay.
$initiate_payment_request = new Tatrapayplus\TatrapayplusApiClient\Model\InitiatePaymentRequest([
"base_payment" => new Tatrapayplus\TatrapayplusApiClient\Model\BasePayment([
"instructed_amount" => new Tatrapayplus\TatrapayplusApiClient\Model\Amount([
"amount_value" => 10.0,
"currency" => "EUR",
]),
"end_to_end" => new Tatrapayplus\TatrapayplusApiClient\Model\E2e([
"variable_symbol" => "1",
"specific_symbol" => "2",
"constant_symbol" => "3",
]),
]),
"card_detail" => new Tatrapayplus\TatrapayplusApiClient\Model\CardDetail([
"card_holder" => "Janko Hrasko",
"comfort_pay" => new Tatrapayplus\TatrapayplusApiClient\Model\RegisterForComfortPayObj([
"register_for_comfort_pay" => true,
]),
]),
// ...
]);
Získanie a uloženie tokenu karty
Po úspešnej platbe s card_detail.comfort_pay = RegisterForComfortPayObj(["register_for_comfort_pay" => true]) dostanete údaje o zákazníckej karte v premennej saved_card.
$payment_id = 'b54afd37-5bb9-4080-9416-5ec450779087'; // Retrieved from initiatePayment
$[$simple_status, $response] = $tatrapayplus_api->getPaymentIntentStatus($payment_id);
$status_obj = $response["object"]->getStatus();
$status_obj->getMaskedCardNumber(); // '440577******5558'
$comfort_pay_obj = $status_obj->getComfortPay(); // CardPayStatusStructureComfortPay instance
$comfort_pay_obj->getCid(); // '123'
| Premenná | Popis |
|---|---|
| cid | Tento token by mal byť uložený pre účet zákazníka. |
| masked_card_number | Môže byť zobrazené používateľovi, aby si mohol vybrať z uložených kariet |
Použitie uloženého tokenu
Po uložení tokenu cid pre zákazníka by ste mali zákazníkovi zobraziť uložené karty na vašej webovej stránke. Keď si používateľ vyberie jednu z uložených kariet, musíte odovzdať cid funkcii TatraPayPlusAPIApi::generateSignedCardId a výsledok tejto funkcie je možné odovzdať funkcii comfort_pay.SignedCardIdObj().
$cid = '123'; // cid taken from stored customer
$public_key_content = '...'; // contents of public key file in string format
$signed_card_id = TatraPayPlusAPIApi::generateSignedCardId(
$cid,
$public_key_content
);
$initiate_payment_request = new Tatrapayplus\TatrapayplusApiClient\Model\InitiatePaymentRequest([
"base_payment" => new Tatrapayplus\TatrapayplusApiClient\Model\BasePayment([
"instructed_amount" => new Tatrapayplus\TatrapayplusApiClient\Model\Amount([
"amount_value" => 10.0,
"currency" => "EUR",
]),
"end_to_end" => new Tatrapayplus\TatrapayplusApiClient\Model\E2e([
"variable_symbol" => "1",
"specific_symbol" => "2",
"constant_symbol" => "3",
]),
]),
"user_data" => new Tatrapayplus\TatrapayplusApiClient\Model\UserData([
"first_name" => "Janko",
"last_name" => "Hrasko",
"email" => "janko.hrasko@example.com",
]),
"card_detail" => new Tatrapayplus\TatrapayplusApiClient\Model\CardDetail([
"card_holder" => "Janko Hrasko",
"comfort_pay" => new Tatrapayplus\TatrapayplusApiClient\Model\SignedCardIdObj([
"signed_card_id" => $signed_card_id
]),
]),
// ...
]);