Tpay
API

Visa Mobile

Visa Mobile to metoda płatności kartą, w trakcie której płatnik podaje numer telefonu zarejestrowany w usłudze Visa Mobile, a następnie zatwierdza płatność w swojej aplikacji bankowej lub aplikacji Visa Mobile.

Aby skorzystać z Visa Mobile, płatnik musi aktywować usługę w aplikacji mobilnej swojego banku lub zainstalować i aktywować aplikację Visa Mobile na swoim telefonie. Dostępność Visa Mobile w aplikacji bankowej jest uzależniona od udziału banku w programie Visa Mobile. W przypadku gdy bank nie udostępnia takiej możliwości, jego karty mogą być wykorzystane do płatności Visa Mobile z wykorzystaniem aplikacji Visa Mobile. Więcej o tym jakie banki i w jakim zakresie uczestniczą w tej usłudze znajdziesz tutaj.

Sprawdź więcej.

Zanim zaczniesz

Upewnij się, że:

Uwaga

Visa Mobile aktualnie jest dostępna tylko dla agenta rozliczeniowego Elavon. Sprawdź, czy twoje płatności kartowe są realizowane za pośrednictwem tego agenta rozliczeniowego.

Transakcja Visa Mobile

Realizuj płatności Visa Mobile wykorzystując endpoint zakładania transakcji podając groupId: 171.

Wyślij zapytanie o utworzenie transakcji Visa Mobile

Aby utworzyć transakcję Visa Mobile, wyślij żądanie POST na endpoint:

https://api.tpay.com/transactions

Sprawdź szczegóły w dokumentacji API Reference: POST /transactions

W zapytaniu określ następujące parametry:

amount
Kwota transakcji (w złotówkach).
description
Opis transakcji widoczny dla płatnika.
payer.email
Adres e-mail płatnika.
payer.name
Imię i nazwisko płatnika.
pay.groupId
Identyfikator grupy płatności dla Visa Mobile: 171.

Podstawowe body żądania powinno wyglądać następująco:

{
  "amount": 0.1,
  "description": "Testowa płatność Visa Mobile",
  "payer": {
    "email": "[email protected]",
    "name": "Jan Nowak"
  },
  "pay": {
    "groupId": 171
  }
}

Przykład:

curl --location 'https://api.tpay.com/transactions' \
--header 'Authorization: Bearer <access_token> \
--header 'Content-Type: application/json' \
--data-raw '{
   "amount": 0.1,
   "description": "Testowa płatność Visa Mobile",
   "payer": {
      "email": "[email protected]",
      "name": "Jan Nowak"
   },
   "pay": {
      "groupId": 171
   }
}'

Po wysłaniu żądania otrzymasz w odpowiedzi schemat TransactionCreated.

Najważniejsze parametry odpowiedzi:

result
success - Transakcja została utworzona pomyślnie.
status
pending - Transakcja oczekuje opłacenia.
transactionPaymentUrl
Adres URL, na który należy przekierować płatnika.

Przykładowa odpowiedź:

{
  "result": "success",
  "requestId": "f2a39301d8c269e69f8d",
  "transactionId": "ta_NmLeGv2e85MBGbEP",
  "title": "TR-BRA-CPBRFHX",
  "posId": "ps_NyRBLzV5kelrpjaM",
  "status": "pending",
  "date": {
    "creation": "2024-06-07 21:54:16",
    "realization": null
  },
  "amount": 0.1,
  "currency": "PLN",
  "description": "Testowa płatność Visa Mobile",
  "hiddenDescription": "",
  "payer": {
    "payerId": "py_a9rjlZWxRLdG1bqY",
    "email": "[email protected]",
    "name": "Jan Nowak",
    "phone": "",
    "address": "",
    "city": "",
    "country": "PL",
    "postalCode": ""
  },
  "payments": {
    "status": "pending",
    "method": "pay_by_link",
    "amountPaid": 0,
    "date": {
      "realization": null
    }
  },
  "transactionPaymentUrl": "https://secure.tpay.com/?title=TR-BRA-CPBRFHX&uid=01HZT487JQ5PVSX4ZMJ9KWW57D"
}
Uwaga

Parametr transactionId przechowaj w swoim systemie. Więcej o transactionId.

Przekieruj płatnika na Panel Transakcyjny

Przekieruj płatnika na URL zawarty w odpowiedzi w polu transactionPaymentUrl.

Następnie płatnik wprowadza numer telefonu w formularzu płatności i go zatwierdza.

Bank wysyła powiadomienie push do aplikacji banku płatnika lub do aplikacji Visa Mobile w celu zatwierdzenia płatności. Po otrzymaniu powiadomienia w aplikacji płatnik ma 5 minut na zatwierdzenie transakcji. Po tym czasie transakcja zostaje anulowana.

Płatnik zostanie przekierowany na stronę sukcesu lub porażki

Gdy płatność zostanie zakończona, płatnik zostanie przekierowany na stronę sukcesu (success page) lub stronę porażki (error page) w zależności od tego, czy transakcja się udała.

Obsłuż powiadomienie

Poinformujemy Ciebie o statusie transakcji na webhook transakcyjny. Sprawdź szczegóły.

Visa Mobile on-site

Visa Mobile on-site jest to integracja płatności Visa Mobile w Twojej witrynie/aplikacji mobilnej.

Polega na umieszczeniu formularza do wpisania numeru telefonu, co umożliwia płatnikom dokonanie płatności bezpośrednio z poziomu Twojej witryny lub aplikacji mobilnej. Płatność odbywa się bez przekierowania na Panel Transakcyjny.

Uwaga

Metoda Visa Mobile on-site aktualnie jest dostępna tylko dla agenta rozliczeniowego Elavon. Sprawdź, czy twoje płatności kartowe są realizowane za pośrednictwem tego agenta.

Zbuduj formularz płatności Visa Mobile

W celu realizacji płatności Visa Mobile wyświetl formularz płatności w swoim systemie.

  • Wyświetl Visa Mobile jako dostępna metoda płatności
  • Umieść pole, w którym płatnik może wpisać numer telefonu wraz z międzynarodowym kodem telefonicznym.
  • Zrealizuj mechanizm walidowania numeru przed wysłaniem płatności:
    • Typ - string.
    • Minimalna długość: 7 znaków.
    • Maksymalna długość: 15 znaków.
    • Wyłącznie znaki numeryczne bez żadnych przerw czy znaków specjalnych.
    • Konieczne jest przekazanie telefonicznego kodu kraju przed numerem płatnika w formacie XXYYYYYYYYY (np. 48123456789).

Wyślij zapytanie o utworzenie transakcji Visa Mobile, podając numer telefonu

Aby utworzyć transakcję Visa Mobile, wyślij żądanie POST na endpoint:

https://api.tpay.com/transactions

Sprawdź szczegóły w dokumentacji API Reference: POST /transactions

W zapytaniu określ następujące parametry:

amount
Kwota transakcji (w złotówkach).
description
Opis transakcji widoczny dla płatnika.
payer.email
Adres e-mail płatnika.
payer.phone
Numer telefonu wraz z numerem kierunkowym.
payer.name
Imię i nazwisko płatnika.
groupId
Identyfikator grupy płatności dla Visa Mobile: 177.

Podstawowe body żądania powinno wyglądać następująco:

{
  "amount": 0.1,
  "description": "Testowa płatność Visa Mobile",
  "payer": {
    "email": "[email protected]",
    "name": "Jan Nowak",
    "phone": "48123456789"
  },
  "pay": {
    "groupId": 171
  }
}

Przykład:

curl --location 'https://api.tpay.com/transactions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <access_token> \
--data-raw '{
   "amount": 0.1,
   "description": "Testowa płatność Visa Mobile",
   "payer": {
      "email": "[email protected]",
      "name": "Jan Nowak",
"phone": "48123456789",
   },
   "pay": {
      "groupId": 171
   }
}'
Uwaga

Pole payer.phone jest opcjonalne. Jeśli nie zostanie podane, w odpowiedzi zostanie wygenerowany URL do Panelu Transakcyjnego. Po otwarciu URL w przeglądarce płatnik będzie miał możliwość samodzielnie wprowadzić numer telefonu, niezbędny dla płatności Visa Mobile.

Po wysłaniu żądania otrzymasz w odpowiedzi schemat TransactionCreated.

Transakcja założona prawidłowo

Jeśli numer telefonu jest zarejestrowany w Visa Mobile oraz udało się zainicjalizować transakcję to:

  • zostanie zwrócony parametr payments.status: pending
  • nie zostanie zwrócony parametr transactionPaymentUrl

Po zainicjowaniu takiej transakcji w aplikacji płatnika (aplikacji Visa Mobile albo aplikacji banku, który wspiera ten rodzaj płatności) zostanie wysłana notyfikacja z prośbą o potwierdzenie płatności.

Obsłuż powiadomienie

Poinformujemy Twój system o statusie transakcji za pośrednictwem webhooka. Sprawdź szczegóły.

Wyświetl wynik transakcji

Po otrzymaniu notyfikacji o statusie transakcji wykorzystaj pole tr_status i wyświetl wynik transakcji.

Transakcja nie została poprawnie zarejestrowana

Jeśli numer telefonu nie jest zarejestrowany w Visa Mobile lub nie uda się poprawnie założyć transakcji to:

  • zostanie zwrócony parametr payments.status: declined
  • zostanie zwrócony parametr transactionPaymentUrl wraz z URL do Panelu Transakcyjnego, na który możesz przekierować płatnika w celu dokończenia płatności, lub wyświetlić stosowny komunikat w celu zweryfikowania numeru telefonu.

Numer telefonu jest niepoprawny

Jeśli numer telefonu jest niepoprawny, tj. nie spełnia wymogów walidacyjnych opisanych powyżej, to podczas tworzenia transakcji zwrócimy HTTP Status 400 - Bad Request.