Predautorizácia
Odporúčame použiť typ transakcie „predautorizácia“ v prípade predpokladu zvýšeného počtu žiadostí o zrušenie alebo čiastočného zrušenia platieb z dôvodu nedostupnosti tovaru/služieb, zmien ceny objednávky a pod.
Ak chcete použiť predautorizáciu pre platby kartou, môžete pri iniciovaní platby zadať is_pre_authorization: true.
from tatrapayplus.client import TBPlusSDK
from tatrapayplus.models import *
client = TBPlusSDK(
"your-client-id",
"your-client-secret",
)
payment_data = InitiatePaymentRequest(
base_payment=BasePayment(
instructed_amount=Amount(
amount_value=120.0,
currency="EUR",
),
end_to_end="ORDER123456",
),
card_detail=CardDetail(
is_pre_authorization=True,
card_holder="Janko Hruska",
),
bank_transfer=BankTransfer(),
)
response = client.create_payment(payment_data, "https://your-redirect-uri.com", "127.0.0.1")
V prípade platby prostredníctvom predautorizácie je obchodník povinný zabezpečiť ukončenie/zrušenie predautorizácie zavolaním na online rozhranie do 7 dní od dátumu, kedy bola predautorizácia vykonaná.
Ak obchodník vykoná transakciu predautorizácie za účelom registrácie karty pre ComfortPay, transakcia nebude zúčtovaná a bude držiteľovi karty uvoľnená bankou držiteľa karty v priebehu niekoľkých dní.
Neodporúčame vykonávať následné storno tohto typu transakcie. Je to z dôvodu, že autorizačná správa obsahuje všetky informácie pre budúcu opakovanú platbu.
Existuje riziko, že banka zákazníka si tieto informácie v rámci zrušenia transakcie neuchová.
from tatrapayplus.client import TBPlusSDK
from tatrapayplus.models import *
client = TBPlusSDK(
"your-client-id",
"your-client-secret"
)
payment_id = "b54afd37-5bb9-4080-9416-5ec450779087"
cancel_pre_authorization_data = CardPayUpdateInstruction(
operation_type=CardPayUpdateInstructionOperationType.CANCEL_PRE_AUTHORIZATION,
)
chargeback_response = client.update_payment(payment_id, cancel_pre_authorization_data)
# or
cancel_pre_authorization_data = CardPayUpdateInstruction(
operation_type=CardPayUpdateInstructionOperationType.CONFIRM_PRE_AUTHORIZATION,
)
chargeback_response = client.update_payment(payment_id, cancel_pre_authorization_data)