Visa Checkout
Visa Checkout to portfel cyfrowy, który umożliwia użytkownikom bezpieczne przechowywanie szczegółów karty oraz innych istotnych informacji, takich jak adresy dostawy. Można go używać poprzez stronę płatności PayU lub aktywować jako wygodne okno lightbox bezpośrednio na stronie internetowej Twojego sklepu.
Visa Checkout jest dostępny z poziomu strony płatniczej PayU - wówczas nie wymaga żadnych zmian w integracji z PayU i jest po prostu kolejną metodą płatności, dostępną dla płatnika.
Możliwe jest także bezpośrednie wywołanie lightbox Visa Checkout na twojej stronie płatniczej. Opis zamieszczony na tej stronie dotyczy właśnie tej usługi.
Zintegrowanie portfela Visa Checkout wymaga:
- utworzenia dla sklepu konta w Visa Checkout Merchant Services,
- zintegrowania się z PayU za pomocą REST API.
Jak to działa?
Usługa działa zgodnie z poniższymi krokami:
- Płacący wybiera opcję płatności za pomocą danych w Visa Checkout, a następnie loguje się do swojego konta za pomocą lightboxa, wyświetlonego nad stroną sklepu.
- (ocjonalnie) Płacący potwierdza dane na stronie sklepu.
- Płacący składa zamówienie i płaci.
Więcej informacji na temat Visa Checkout znajduje się na stronie Visa Checkout Developer Center.
Konfiguracja lighbox
Aby umieścić lightbox na stronie sklepu, należy postępować wg instrukcji na stronie Visa Developer.
callId
Parametr callId
, który jest zwracany przez lightbox, jest kluczowym elementem dla dalszej integracji z PayU. Należy go wysłać do dostawcy usług płatniczych (tj. PayU), aby zaszyfrowane dane karty mogły zostać bezpiecznie pobrane z Visa Checkout i wykorzystane do płatności.
Tworzenie zamówienia Visa Checkout
Aby obciążyć kartę zapisaną w Visa Checkout, należy w żądaniu zamówienia umieścić rozszerzony obiekt payMethods
oraz parametr extOrderId
.
Obiekt payMethod
musi zawierać pole authorizationCode
, którego wartość to parametr callId
.
Opcjonalnie, w zależności od ustaleń z PayU i Visa, można również przesłać tablicę specificData
.
- Przykład obiektu payMethods
- Przykład rozszerzonego obiektu payMethods
{
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "vc",
// tutaj należy wstawić callId
"authorizationCode": "7111023008968028002"
}
}
}
{
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "vc",
// tutaj należy wstawić callId
"authorizationCode": "7111023008968028002",
// opcjonalne dane
"specificData": [
{
"name": "subtotal",
"value": "1000.00"
},
{
"name": "shippingHandling",
"value": "100.00"
},
{
"name": "discount",
"value": "200.00"
},
{
"name": "promoCode",
"value": "promo code"
},
{
"name": "reason",
"value": "reason text"
},
{
"name": "tax",
"value": "2.00"
},
{
"name": "giftWrap",
"value": "2.00"
},
{
"name": "misc",
"value": "1.00"
}
]
}
}
}
Dalsze przetwarzanie żądania podlega standardowemu procesowi opisanemu na stronie Tokenizacja kart. Zwróć uwagę, że może wystąpić konieczność obsłużenia przekierowania na stronę weryfikacji
Ponieważ zamówienia z metodą płatności Visa Checkout będą rozliczane tak jak standardowe płatności kartą, warto rozważyć integrację usługi pobierania danych transakcji, aby rozróżnić pomiędzy kartami wpisanymi poprzez formularz PayU, a kartami pobranymi z Visa Checkout.
Pobieranie danych płatności
Po uzyskaniu callId
z lightboxa Visa Checkout, możesz dodatkowo pobrać dane o płatności od PayU.
Dane zostaną przez PayU zwrócone w postaci sumarycznej, tj. będą niezaszyfrowane i NIE BĘDĄ zawierać pełnego numeru karty, a jedynie jego 6 ostatnich cyfr. Dane mogą zostać użyte do celów informacyjnych, dla uzyskania adresu wysyłki lub innych danych związanych z zakupem.
Wysyłając żądania z metodą GET upewnij się, że w ciele żądania nie przesyłasz żadnych danych. Zgodnie ze standardem RFC 9110 żądania, które nie spełniają tego wymogu, zostaną odrzucone przez PayU i zwrócony zostanie kod HTTP 403.
Aby uzyskać dane, wyślij żądanie metodą HTTP GET na endpoint: /api/visa-checkout/proxy/payment/data/{callId}
.
System PayU odgrywa tu rolę pośrednika, a dane są zwracane w dokładnie takiej samej postaci w jakiej przekaże je Visa Checkout. Więcej informacji o dostępnych danych znajdziesz w Checkout Developer Center: Get Payment Data API.
Testowanie
W celu przetestowania Visa Checkout postępuj zgodnie z krokami opisanymi w oficjalnej dokumentacji Visa Checkout. Na tym etapie Visa powinna również przypisać opiekuna wdrożenia do Twojej sprawy.
Po utworzeniu konta Sandbox Visa Checkout Project, utwórz powiązanie (tzw. relationships) z kontem PayU Polska, co pozwoli PayU autoryzować transakcje Visa Checkout w twoim imieniu.
Ponieważ Visa Checkout nie jest domyślną metodą płatności, prosimy o kontakt z naszym działem wsparcia po rejestracji w środowisku Sandbox, ale przed przystąpieniem do integracji z wykorzystaniem metody płatności Visa Checkout.