Masterpass
Masterpass to portfel cyfrowy, który umożliwia użytkownikom bezpieczne przechowywanie informacji o kartach. Wersja Masterpass oferowana przez PayU jest obecnie skierowana tylko do użytkowników z numerem telefonu w Polsce.
Masterpass jest dostępny w PayU na dwa różne sposoby:
- Jako metoda płatności na stronie płatniczej PayU.
- W bezpośredniej integracji z Mastercard (white label).
Wykorzystanie strony płatności PayU
W standardowej integracji Masterpass jest dostępny z poziomu strony płatniczej PayU i nie wymaga żadnych zmian w integracji z PayU - jest po prostu kolejną metodą płatności dostępną dla płatnika.
Przycisk Masterpass jest wyświetlany za pośrednictwem formularza płatności kartą, serwowanego przez PayU. Przycisk jest widoczny kiedy metoda płatności Masterpass jest włączona (listę włączonych metod można znaleźć w panelu PayU, w zakładce Płatności Elektroniczne->Moje sklepy->Punkty płatności).
Przycisk wywołuje ekran, na którym płacący loguje się do portfela i wybiera zapisaną kartę. Dane karty są następnie w bezpieczny sposób przekazywane do PayU i użyte do przeprowadzenia płatności.
Dalsze przetwarzanie płatności podlega standardowemu procesowi, opisanemu na stronie Procesy Płatności.
Płatność zostanie rozliczona jak standardowa płatność kartą, dlatego aby sprawdzić, czy dane karty zostały pobrane z Masterpass, należy sprawdzić wartość parametru payment flow
, dostępną poprzez usługę pobrania danych transakcji.
Możesz też wywołać ekran Masterpass bezpośrednio – wówczas płacący nie musi klikać na przycisk metody płatności Masterpass na stronie płatniczej PayU. Opis tej metody znajduje sie poniżej w sekcji Bezpośrednie wywołanie.
Rozwiązanie white label
Innym sposobem zintegrowania Masterpass jest zbudowanie własniej strony płatniczej i włączenie na niej usługi Masterpass. Możesz zintegrować się z "Masterpass by Mastercard" w zakresie obsługi portfela elektronicznego, a z PayU (za pomocą REST API) w zakresie zlecania zamówienia. Dzięki temu możesz dowolnie kształtować proces zakupowy na swojej stronie.
Więcej informacji znajdziesz na oficjalnej stronie Masterpass.
Ponieważ zamówienia z metodą płatności Masterpass będą rozliczane tak jak standardowe płatności kartą, warto rozważyć integrację usługi pobrania danych transakcji. Taka integracja pomoże rozróżnić karty wpisane przez formularz PayU od kart wybranych przez płacącego bezpośrednio z portfela "Masterpass by Mastercard".
Integracja Masterpass white label nie jest dostępna na środowisku sandbox.
Bezpośrednie wywołanie Masterpass
Jak wspomniano wcześniej, Masterpass jest dostępny z poziomu strony płatności PayU i nie wymaga żadnych zmian w integracji. Jeśli jednak chcesz przekierować płatnika bezpośrednio na stronę płatności PayU, z już wybranym Masterpass jako metodą płatności, musisz określić metodę płatności w żądaniu zamówienia.
{
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "ma"
}
}
}
Masterpass przy integracji white label
Ta forma integracji wymaga dodatkowej konfiguracji ze strony PayU.
Jeśli chcesz obsługiwać Masterpass na swojej stronie płatniczej, musisz rozszerzyć standardowe zamówienie o pole extOrderId
i sekcję payMethods
.
"extOrderId": "<transaction id used in Masterpass by Mastercard>",
"payMethods": {
"payMethod" : {
"type": "PBL",
"value": "ma",
"authorizationCode": "<masterpassToken>"
}
}
Wartość pola authorizationCode
kodowana jest base64
i zawiera masterpassToken o następującej strukturze:
{
"cardId": "<cardId from the Masterpass by Mastercard wallet>",
"cardIssuingTokens": "<issue token for card transaction returend by the Masterpass by Mastercard service>",
"merchantName": "<your name in Masterpass by Mastercard service>"
}
Dalsze przetwarzanie żądania podlega standardowemu procesowi opisanemu na stronie Payment Flows.
Tworzenie zamówienia przy integracji white-label
Aby przetworzyć zamówienie na własnej stronie płatniczej przy użyciu Masterpass jako metody płatności, musisz najpierw pobrać dwie informacje:
cardIssuingTokens
dla danegocardId
z systemu Masterpass by Mastercard,accessToken
zgrant_type
ustawionym na client_credentials , w celu uwierzytelnienia zamówienia.
Następnie możesz utworzyć zamówienie w systemie PayU dla transakcji Masterpass by Mastercard, przekazanej w polu extOrderId
.
curl -X POST https://secure.snd.payu.com/api/v2_1/orders \
-H 'Authorization: Bearer e5e55002-c534-4d43-b9a3-affb84b0386d' \
-H 'Content-Type: application/json' \
-d '{
"currencyCode": "PLN",
"totalAmount": 2099,
"description": "TEST_4cd6ce05-4f4e-4edb-8631-d7dc88e761db",
"notifyUrl": "https://notify.pl",
"customerIp": "193.17.41.0",
"merchantPosId": "2334121",
"extOrderId": "PayU-UAT-1871fdaa-0ada-4455-84ae-b8a823de2c9d",
"products": [
{
"name": "Wireless Mouse for Laptop",
"unitPrice": "2099",
"quantity": "1"
}
],
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "ma",
"authorizationCode": "eyJjYXJkSWQiOiI1NTY1NyIsImNhcmRJc3N1aW5nVG9rZW5zIjoiZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKcWRHa2lPaUk0TkdReE5tRmxaQzB5TUdJMkxUUm1ObUV0T0RFM01DMWpOVEJsTXpnMU16Y3pNRFVpTENKemRXSWlPaUk0TkdReE5tRmxaQzB5TUdJMkxUUm1ObUV0T0RFM01DMWpOVEJsTXpnMU16Y3pNRFVpTENKcFlYUWlPakUxTmpnd01qVXpNVGdzSW1WNGNDSTZNVFUyT0RBeU5qSXhPQ3dpYVhOUGJtVlVhVzFsUTJGeVpGUnZhMlZ1SWpwMGNuVmxmUS5zcS1sQnZHNmEzZmtfNDJ1VWpnczg3cHcwTGtpeEdHVDgtVXpwckZudWtQRVMwSjc2SHhSc1A4d2Z2djMwOExTS2FxeVMyQUZscmpFOFdHYVRqM3pnUSIsIm1lcmNoYW50TmFtZSI6Ik11bHRpS2lubyJ9"
}
}
}'
Gdzie pole authorizationCode
przed kodowaniem base64
wyglądało następująco:
{
"cardId": "55332",
"cardIssuingTokens": "eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI4NGQxNmFlZC0yMGI2LTRmNmEtODE3MC1jNTBlMzg1MzczMDUiLCJzdWIiOiI4NGQxNmFlZC0yMGI2LTRmNmEtODE3MC1jNTBlMzg1MzczMDUiLCJpYXQiOjE1NjgwMjUzMTgsImV4cCI6MTU2ODAyNjIxOCwiaXNPbmVUaW1lQ2FyZFRva2VuIjp0cnVlfQ.sq-lBvG6a3fk_42uUjgs87pw0LkixGGT8-UzprFnukPES0J76HxRsP8wfvv308LSKaqyS2AFlrjE8WGaTj3zgQ",
"merchantName": "NazwaMerchanta"
}
Po wysłaniu żądania otrzymasz odpowiedź zależną od tego, czy transakcja zakończyła się powodzeniem.
Możliwe błędy w usłudze Masterpass przy integracji white-label
Status HTTP | Kod Błędu | CodeLiteral | Opis |
---|---|---|---|
500 | ERROR_INTERNAL | SERVICE_TEMPORARY_UNAVAILABLE | Usługa płatności Masterpass chwilowo niedostępna lub problem z tokenizacją danych karty. |
400 | ERROR_VALUE_INVALID | MASTERPASS_INVALID_DATA | Niepoprawne dane związane z systemem Masterpass::
|
400 | ERROR_VALUE_INVALID | INVALID_CURRENCY_CODE | Nieobsługiwana waluta. |
400 | ERROR_AUTHORIZATION_CODE | AUTH_CODE_INVALID | Niepoprawny authorizationCode . |