Visa Checkout

1 Visa Checkout

Visa Checkout to cyfrowy portfel w którym można zapisać dane karty płatniczej oraz inne dane, takie jak np. adres wysyłki.

Jest on 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 lightboxa Visa Checkout na stronie odbiorcy płatności (sklepu internetowego). 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.

Usługa działa zgodnie z poniższymi krokami:

  1. 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.
  2. (opcjonalnie) Płacący potwierdza dane na stronie sklepu.
  3. Płacący składa zamówienie i płaci.

Informacje dotyczące testowania usługi zawarte zostały w sekcji Sandbox.

Więcej informacji na temat Visa Checkout znajduje się na stronie Visa Checkout Developer Center.

2 Konfiguracja lightboxa

Aby umieścić lightbox na stronie sklepu, należy postępować wg instrukcji na stronie Visa Developer.

Dla dalszych interakcji z systemem PayU, kluczowym parametrem zwróconym przez lightbox jest callId.

Parametr ten należy przesłać do dostawcy usług płatniczych (tj. PayU), co umożliwi bezpieczne pobranie zaszyfrowanych danych karty z Visa Checkout i użycie ich do przeprowadzenia płatności.

3 Zamówienie

Aby obciążyć kartę zapisaną w Visa Checkout, należy w żądaniu OrderCreateRequest umieścić rozszerzony obiekt payMethods oraz 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ładowy obiekt payMethods dla płatności kartą zapisaną w Visa Checkout

            
            {
              "payMethods": {
                 "payMethod": {
                     "type":"PBL",
                     "value":"vc",
                     //tutaj należy wstawić callId
                     "authorizationCode":"7111023008968028002",
                    }
                 }
            }
            
      

Dalsze przetwarzanie żądania podlega standardowemu procesowi opisanemu w dokumentacji REST API. Należy zwrócić uwagę, że może wystąpić konieczność obsłużenia przekierowania na stronę weryfikacji 3D Secure.

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 pobrania danych transakcji, aby rozróżnić pomiędzy kartami wpisanymi poprzez formularz PayU, a kartami pobranymi z Visa Checkout.

Rozszerzony obiekt payMethods z opcjonalnymi danymi

{
  "payMethods": {
     "payMethod": {
         "type":"PBL",
         "value":"vc",
         //tutaj należy wstawić callId
         "authorizationCode":"7111023008968028002",
         //dane opcjonalne
         "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"
              }
          ]
        }
     }
}
                

4 Dane o płatności

Po uzyskaniu callId z Visa Checkout lightbox, krokiem opcjonalnym jest pobranie danych 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 jej 6 ostatnich cyfr. Dane mogą zostać użyte do celów informacyjnych, dla uzyskania adresu wysyłki lub innych danych związanych z zakupem.

Aby uzyskać dane, należy wysłać żądanie metodą HTTP GET na adres:

/api/visa-checkout/proxy/payment/data/{callId}

Żądanie należy uwierzytelnić tak jak pozostałe żądania w protokole REST API (zob. uwierzytelnienie użytkownika API).

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 można znaleźć w Checkout Developer Center: Get Payment Data API.

5 Sandbox

Metoda płatności Visa Checkout w wersji transparentnej jest dostępna również na środowisku Sandbox.

W tym celu należy wykonać kroki opisane w oficjalnej dokumentacji Visa Checkout. Na tym etapie również powinien już zostać przydzielony opiekun wdrożenia ze strony Visa.

Należy pamiętać, aby po utworzeniu konta Sandbox Visa Checkout Project utworzyć powiązanie (tzw. relationships) z kontem PayU Polska, co pozwoli PayU autoryzować transakcje Visa Checkout w Państwa imieniu.

Ponieważ Visa Checkout nie jest domyślną metodą płatności, prosimy o kontakt z naszym działem wsparcia IT po rejestracji w środowisku Sandbox, ale przed przystąpieniem do integracji z wykorzystaniem metody płatności Visa Checkout.