Account Funding Transaction
Account Funding Transaction (AFT) to specjalny typ transakcji kartowej wyróżniony przez organizacje kartowe VISA i Mastercard w celu odróżnienia standardowego zakupu towarów lub usług od transakcji polegających na pobraniu środków z jednego rachunku (np. karty) w celu zasilenia innego kwalifikowanego rachunku, portfela, karty albo późniejszego transferu środków. Jest to wymagane dla takich operacji jak:
- transfer między własnymi rachunkami użytkownika, tzw. account-to-account lub me-to-me,
- doładowanie portfela elektronicznego lub wirtualnego,
- doładowanie kart lub rachunku prepaid,
- zasilenie rachunku wykorzystywanego do nabycia aktywów płynnych i finansowych, takich jak waluty, akcje, inne papiery wartościowe lub kryptowaluty.
Integracja AFT
Przed aktywacją płatności w trybie AFT, PayU jest zobowiązane dokonać niezbędnych konfiguracji oraz uzyskać zgody ze strony Visa oraz Mastercard, dlatego skontaktuj się z naszym przedstawicielem, aby rozpocząć ten proces jak najszybciej.
Po zakończeniu tego procesu PayU przygotowuje odpowiednią konfigurację sklepu lub POS-a, aby obsługiwać wymagane przypadki użycia. Klasyfikacja transakcji jako AFT wynika z przeprowadzonej konfiguracji po stronie PayU, a nie z osobnego parametru przekazywanego w standardowym żądaniu utworzenia zamówienia.
Aby poznać szczegóły procesu aktywacji AFT, skontaktuj się ze swoim opiekunem handlowym lub wsparciem PayU.
Aby obługiwać AFT musisz również rozszerzyć integrację z PayU o dodatkowe pola, przedstawione w sekcji Rozszerzenie API dla AFT.
Rozszerzenie API dla AFT
Z punktu widzenia API, aby dokonać poprawnego zamówienia w trybie AFT, należy przekazać następujące pola w sekcji buyer:
firstName- wymagane przez VISA i MastercardlastName- wymagane przez VISA i MastercardbirthDate- wymagane przez VISA
Pola te nie są oznaczone jako wymagane w ogólnej specyfikacji API Create an Order. Jednak po włączeniu trybu AFT dla sklepu lub POS-a, brak tych danych może skutkować odrzuceniem transakcji kartowej. Dlatego przed aktywacją AFT należy upewnić się, że integracja przekazuje wymagane dane kupującego.
Wartości pól powinny być poprawne i niepuste. Szczegółowa specyfikacja techniczna znajduje się w sekcji Create an Order naszej dokumentacji API.
- Przykład zamówienia dla kart Visa
- Przykład zamówienia dla kart Mastercard
curl -v -X POST https://secure.payu.com/api/v2_1/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"notifyUrl": "https://your.eshop.com/notify",
"customerIp": "127.0.0.1",
"merchantPosId": "145227",
"description": "Account topup",
"currencyCode": "PLN",
"totalAmount":"15000",
"extOrderId": "x25doraf1g5jite4uhrvlj",
"buyer": {
"email": "email@email.com",
"firstName": "John",
"lastName": "Doe",
"birthDate": "2006-12-03T00:00:00.000+01:00"
},
"products": [
{
"name": "Invoice payment",
"unitPrice": "15000",
"quantity":"1"
}
],
"payMethods": {
"payMethod": {
"card": {
"number": "4444333322221111",
"expirationMonth": "12",
"expirationYear": "29",
"cvv": "123"
}
}
}
}'
curl -v -X POST https://secure.payu.com/api/v2_1/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"notifyUrl": "https://your.eshop.com/notify",
"customerIp": "127.0.0.1",
"merchantPosId": "145227",
"description": "Account topup",
"currencyCode": "PLN",
"totalAmount":"15000",
"extOrderId": "x25doraf1g5jite4uhrvlj",
"buyer": {
"email": "email@email.com",
"firstName": "John",
"lastName": "Doe"
},
"products": [
{
"name": "Invoice payment",
"unitPrice": "15000",
"quantity":"1"
}
],
"payMethods": {
"payMethod": {
"card": {
"number": "5150030090350186",
"expirationMonth": "12",
"expirationYear": "29",
"cvv": "123"
}
}
}
}'