Konta Sprzedawców
Program Partnerski to forma współpracy z firmami oferującymi różnorodne usługi, takie jak wdrożenia rozwiązań e-commerce u swoich klientów czy tworzenie własnych rozwiązań marketplace. W ramach programu Partner poleca usługi Tpay i zarabia określony procent od każdej faktury poleconego przez siebie klienta.
Aby korzystać z Marketplace Tpay, musisz być w Programie Partnerskim Tpay. Jeśli nie masz jeszcze statusu partnera – dowiedz się, jak dołączyć do Programu.
Instrukcję uruchamiania i obsługi płatności marketplace Tpay w Panelu Partnera znajdziesz tutaj.
Autoryzacja
Jako Partner możesz wygenerować dostępy do rejestracji sprzedawców po API z poziomu swojego Panelu Partnera w zakładce API -> Partner API.
Zakładka pozwoli Ci na wygenerowanie dostępów do komunikacji po API, pozwalających na dostęp do metody accounts
.
Aby wygenerować klucze dostępu do API, należy kliknąć przycisk Dodaj nowy klucz.
Zostaną wygenerowane:
- Client ID.
- Secret.
W celu autoryzacji w API sprawdź instrukcję Pierwsze kroki > Autoryzacja.
Rejestracja konta sprzedawcy
Oprócz generowania linków afiliacyjnych w Panelu Partnera, pozwalających na samodzielną rejestrację nowego sprzedawcy przez formularz rejestracyjny Tpay, system oferuje API rejestracji. Posiadając adres email sprzedawcy oraz wcześniej wygenerowany kod oferty możesz wysłać żądanie metodą POST
na adres:
https://api.tpay.com/v1/accounts/merchant
Pozostałe pola są opcjonalne.
Sprawdź szczegóły w dokumentacji API Reference: POST /v1/accounts/merchant
W zapytaniu określ następujące parametry:
offerCode | Kod oferty, pod który zostanie przypisane konto. |
email | Adres email sprzedawcy. |
taxId | Numer identyfikacji podatkowej (NIP dla polskich podmiotów). |
regon | Numer Regon. |
krs | Numer KRS. |
legalForm | Forma działalności gospodarczej zobacz lista form działalności. |
categoryId | Kategoria prowadzonej sprzedaży zobacz lista kategorii sprzedaży. |
address[].name | Nazwa firmy. |
address[].street | Ulica. |
address[].houseNumber | Numer domu. |
address[].flatNumber | Numer mieszkania. |
address[].postalCode | Kod pocztowy. |
address[].city | Miasto. |
address[].country | Kraj. |
address[].phone | Telefon. |
address[].isMain | Podany adres jest adresem głównym. Jeśli przesłano tylko adres główny, staje się on domyślnie używanym również do faktur i korespondencji. Zestaw danych może zawierać maksymalnie po jednym adresie z każdego rodzaju. |
address[].isCorrespondence | Podany adres służy do korespondencji. |
address[].isInvoice | Podany adres służy do faktur. |
website[].url | Adres URL punktu sprzedaży. |
website[].name | Nazwa punktu sprzedaży. |
contactPerson[].name | Imię osoby kontaktowej. |
contactPerson[].surname | Nazwisko osoby kontaktowej. |
contactPerson[].phone | Telefon osoby kontaktowej. |
contactPerson[].email | Adres email osoby kontaktowej. |
merchantApiConsent | Zgoda na pozyskanie danych dostępowych do API w odpowiedzi na żądanie. Jeśli sprzedawca ją wyraził, wyślij true, aby uzyskać klucze API sprzedawcy potrzebne do automatycznej integracji. |
Podstawowe body żądania powinno wyglądać następująco:
{ "offerCode": "9u7UP", "email": "[email protected]" }
Po wysłaniu żądania otrzymasz w odpowiedzi schemat MerchantCreated
{ "result": "success", "id": "01JQ404XV7KJPRD5PHFFZ6R9YR", "offerCode": "9u7UP", "email": "[email protected]", "taxId": null, "regon": null, "krs": null, "legalForm": null, "categoryId": null, "verified": false, "activationLink": "https://panel.tpay.com/Auth/Account/Activate/xyz123", "website": [ { "posId": "01JQ404XVJBPR066ZK1XX5A0A0", "accountId": "01JQ404XV7KJPRD5PHFFZ6R9YR", "name": "", "friendlyName": "", "description": "", "url": "", "date": { "create": "2025-03-24 12:56:00", "modification": null }, "settings": { "confirmationCode": "i3DCcHbIA_81rI@FeP4$+LMScK2X#T_|", "isTestMode": true }, "verificationScope": 0, "verificationDate": null, "verificationStatus": 0 } ], "address": [ { "addressId": "ar_8OqmRLlQoV9eXgdx", "friendlyName": "-", "name": "-", "street": "-", "houseNumber": "", "flatNumber": "", "postalCode": "-", "city": "-", "country": "PL", "phone": "", "isMain": true, "isCorrespondence": true, "isInvoice": true } ], "person": [] }
Na środowisku testowym (Sandbox) część danych sprzedawcy zostanie automatycznie uzupełniona losowymi danymi w celu automatycznej aktywacji konta.
Przykładowe rozbudowane żądanie rejestracji wygląda następująco:
{ "offerCode": "9u7UP", "email": "[email protected]", "taxId": "7773061579", "regon": "30087843700000", "krs": "0000412357", "legalForm": 36, "categoryId": 60, "address": [ { "name": "Example Sp. z o.o.", "street": "ul. Przykładowa", "houseNumber": "44b", "flatNumber": "1", "postalCode": "11-111", "city": "Warszawa", "country": "PL", "phone": "123123123", "isMain": true, "isCorrespondence": true, "isInvoice": true } ], "website": [ { "url": "http://przykladowezakupy.pl", "name": "Przykładowe zakupy online" } ], "contactPerson": [ { "name": "Jan", "surname": "Kowalski", "phone": "123123123", "email": "[email protected]" } ], "merchantApiConsent": true }
Po wysłaniu żądania otrzymasz w odpowiedzi schemat MerchantCreated
{ "result": "success", "id": "01JVVCFMWT0QCGDFM7HB9SJXWT", "offerCode": "9u7UP", "email": "[email protected]", "taxId": "7773061579", "regon": "30087843700000", "krs": "0000412357", "legalForm": 36, "categoryId": 60, "verified": false, "activationLink": "http://docker.pop.com:81/Auth/Account/Activate/7a86870f6ab05385ddcae991a8e5e831", "website": [ { "posId": "01JVVCFMX8ZGGV4E33ZYSXZMT8", "accountId": "01JVVCFMWT0QCGDFM7HB9SJXWT", "name": "Przykładowe zakupy online", "friendlyName": "", "description": "", "url": "http://przykladowezakupy.pl", "date": { "create": "2025-05-22 08:56:53", "modification": null }, "settings": { "confirmationCode": "M6(d5QU+3P!57N2(C294#J^XN$2=WgZl", "isTestMode": true }, "verificationScope": 0, "verificationDate": null, "verificationStatus": 0 } ], "address": [ { "addressId": "ar_vM9jQLGqBVK01aAp", "friendlyName": "Example Sp. z o.o.", "name": "Example Sp. z o.o.", "street": "ul. Przykładowa", "houseNumber": "44b", "flatNumber": "1", "postalCode": "11-111", "city": "Warszawa", "country": "PL", "phone": "123123123", "isMain": true, "isCorrespondence": true, "isInvoice": true } ], "person": [ { "personId": "pr_P0jrvklnKGxgDZye", "name": "Jan", "surname": "Kowalski", "contacts": [ { "contact": "123123123", "type": 2 }, { "contact": "[email protected]", "type": 1 } ], "isBeneficiary": false, "isRepresentative": false, "isContactPerson": true, "isAuthorizedPerson": false } ], "transactionApiCredentials": { "apiKey": "string", "apiPassword": "string", "merchantId": 12345 }, "apiCredentials": [ { "clientId": "string", "clientSecret": "string" } ] }
Klucze dostępowe do API sprzedawców
Jeśli w zapytaniu wykonującym rejestrację nowego konta sprzedawcy przesłany zostanie parametr merchantApiConsent z wartością true, to system Tpay automatycznie wygeneruje dane dostępowe sprzedawcy i zwróci je w odpowiedzi. Dane te są wymagane do integracji w większości systemów ecommerce, a ich zwrócenie w tej formie pozwala na automatyzację integracji konta sprzedawcy z Twoim systemem sprzedażowym. Zwracane są klucze odpowiednio dla nowego API (Open API) oraz klucze do starego API (Origin API). Hasła zwracane w odpowiedzi są widoczne tylko raz w formie jawnej. Jeśli zostaną utracone, konieczne będzie zresetowanie hasła bądź wygenerowanie nowego klucza przez sprzedawcę w Panelu Akceptanta.
Lista form działalności
Możesz rozszerzyć zakres danych wysyłanych podczas rejestracji sprzedawcy o formę jego działalności gospodarczej. W tym celu wyświetl mu listę wyboru lub zmapuj posiadane dane na typy działalności w systemie Tpay.
Aby uzyskać listę, możesz wysłać żądanie metodą GET
na adres:
https://api.tpay.com/accounts/legalForm
Sprawdź szczegóły w dokumentacji API Reference: GET /accounts/legalForm
Po wysłaniu żądania otrzymasz w odpowiedzi schemat LegalFormListResultResponse
Lista kategorii sprzedaży
Możesz rozszerzyć zakres danych wysyłanych podczas rejestracji sprzedawcy o kategorię jego sprzedaży, czyli branżę. W tym celu wyświetl mu listę wyboru lub zmapuj posiadane dane na typy sprzedaży w systemie Tpay.
Aby uzyskać listę, możesz wysłać żądanie metodą GET
na adres:
https://api.tpay.com/accounts/category
Sprawdź szczegóły w dokumentacji API Reference: GET /accounts/category
Po wysłaniu żądania otrzymasz w odpowiedzi schemat CategoryListResultResponse
Pobieranie danych kont sprzedawców
Aby uzyskać listę kont sprzedawców zarejestrowanych dotychczas, możesz wysłać żądanie metodą GET
na adres:
https://api.tpay.com/accounts
Sprawdź szczegóły w dokumentacji API Reference: GET /accounts
Po wysłaniu żądania otrzymasz w odpowiedzi schemat AccountListResultResponse
{ "list": [ { "result": "success", "requestId": "376f310aba18a2ed6389", "id": "01GM5QNY2SANHEXFK6FEV2DWYD", "offerCode": "PFA7M", "email": "[email protected]", "taxId": "7773061579", "regon": "", "krs": "", "legalForm": 20, "categoryId": 66, "verificationStatus": 0, "activationLink": "https://panel.tpay.com/Auth/Account/Activate/123xyz", "website": [ { "posId": "01GM5QNY2N7Z4BKTAH8JJAXX25", "accountId": "01GM5QNY2SANHEXFK6FEV2DWYD", "name": "Przykladowe Zakupy Online", "friendlyName": "", "description": "Zakupy online - rtv i agd", "url": "https://przykladowezakupy.pl", "date": { "create": "2022-12-13 13:34:46", "modification": "2023-02-13 14:23:34" }, "settings": { "confirmationCode": "txf&#YE37gxq8f5q+*gC7q>%hq*6o", "isTestMode": false }, "verificationScope": 0, "verificationDate": "0000-00-00 00:00:00", "verificationStatus": 0 } ], "person": [ { "personId": "pr_X9x61ZG9KJrqPOAN", "name": "John", "surname": "Doe", "nationality": "", "sharesPct": 0, "pesel": "", "isBeneficiary": false, "isRepresentative": false, "isContactPerson": true, "isAuthorizedPerson": false, "pepStatement": 0, "dateOfBirth": null, "countryOfBirth": "", "typeOfDocument": 0, "serialNumber": "", "expiryDate": null, "issuingAuthority": "", "contact": [ { "contact": "987654321", "type": 2 }, { "contact": "[email protected]", "type": 1 } ] } ], "address": [ { "addressId": "ar_e1Z3xlEEDBElXngY", "friendlyName": "Adres Korespondencyjny", "name": "Example Sp. z o.o.", "street": "Ul. Jelenia", "houseNumber": "123", "roomNumber": "", "postalCode": "54-134", "postOffice": "", "city": "Warszawa", "country": "PL", "phone": "", "isMain": true, "isCorrespondence": true, "isInvoice": true } ], "transactionApiCredentials": { "merchantId": 12345, "apiKey": "string" }, "apiCredentials": [] } ], "result": "success", "requestId": "376f310aba18a2ed6389", "page": 1, "limit": 35, "total": 1 }
Znając identyfikator konta sprzedawcy zwrócony przy rejestracji przez API lub pobrany powyższą metodą, możesz również odpytać API Tpay o szczegóły konkretnego konta.
W tym celu możesz wysłać żądanie metodą GET
na adres:
https://api.tpay.com/accounts/{accountId}
Sprawdź szczegóły w dokumentacji API Reference: GET /accounts/{accountId}
Po wysłaniu żądania otrzymasz w odpowiedzi schemat Account
{ "result": "success", "requestId": "376f310aba18a2ed6389", "id": "01GM5QNY2SANHEXFK6FEV2DWYD", "offerCode": "PFA7M", "email": "[email protected]", "taxId": "7773061579", "regon": "", "krs": "", "legalForm": 20, "categoryId": 66, "verificationStatus": 0, "activationLink": "https://panel.tpay.com/Auth/Account/Activate/123xyz", "website": [ { "posId": "01GM5QNY2N7Z4BKTAH8JJAXX25", "accountId": "01GM5QNY2SANHEXFK6FEV2DWYD", "name": "Przykladowe Zakupy Online", "friendlyName": "", "description": "Zakupy online - rtv i agd", "url": "https://przykladowezakupy.pl", "date": { "create": "2022-12-13 13:34:46", "modification": "2023-02-13 14:23:34" }, "settings": { "confirmationCode": "txf&#YE37gxq8f5q+*gC7q>%hq*6o", "isTestMode": false }, "verificationScope": 0, "verificationDate": "0000-00-00 00:00:00", "verificationStatus": 0 } ], "person": [ { "personId": "pr_X9x61ZG9KJrqPOAN", "name": "Jan", "surname": "Kowalski", "nationality": "", "sharesPct": 0, "pesel": "", "isBeneficiary": false, "isRepresentative": false, "isContactPerson": true, "isAuthorizedPerson": false, "pepStatement": 0, "dateOfBirth": null, "countryOfBirth": "", "typeOfDocument": 0, "serialNumber": "", "expiryDate": null, "issuingAuthority": "", "contact": [ { "contact": "987654321", "type": 2 }, { "contact": "[email protected]", "type": 1 } ] } ], "address": [ { "addressId": "ar_e1Z3xlEEDBElXngY", "friendlyName": "Adres Korespondencyjny", "name": "Example Sp. z o.o.", "street": "Ul. Jelenia", "houseNumber": "123", "roomNumber": "", "postalCode": "54-134", "postOffice": "", "city": "Warszawa", "country": "PL", "phone": "", "isMain": true, "isCorrespondence": true, "isInvoice": true } ], "transactionApiCredentials": { "merchantId": 12345, "apiKey": "string" }, "apiCredentials": [] }