Skip to content

Apple Pay

Podczas konwencjonalnego procesu płatności klienci zazwyczaj muszą podać różne dane osobowe, w tym informacje o karcie, adresy rozliczeniowe i wysyłkowe, adres e-mail lub numer telefonu. Jednak Apple Pay znacznie usprawnia ten proces, umożliwiając klientom łatwe dokonywanie płatności kartą kredytową za pomocą płynnego i bezpiecznego procesu z wykorzystaniem uwierzytelniania Touch ID lub Face ID.

Po wybraniu przycisku Apple Pay:

  1. Klient otrzymuje przyjazny dla użytkownika arkusz płatności.
  2. Klienci wybierają preferowaną kartę płatniczą spośród dostępnych opcji.
  3. W celu zwiększenia bezpieczeństwa klienci potwierdzają swoją tożsamość za pomocą uwierzytelniania biometrycznego, takiego jak Face ID lub Touch ID, przed sfinalizowaniem płatności.
Opcja płatnościKategoriaKrajeWalutyCechyIntegracje
Apple PayCyfrowy portfelCzechy, Estonia, Francja, Niemcy, Polska, Portugalia, Rumunia, SłowacjaCZK, EUR, PLN, RONWstępnie autoryzowane przechwytywanie
Zakup jednorazowy
Częściowe przechwytywanie
Częściowy zwrot kosztów
Subscrypcje
Zwrot kosztów
Anulowanie
API
Formularz Płatności
Wtyczka Prestashop
Wtyczka WooCommerce
Wtyczka Magento

Przed rozpoczęciem

Aby móc otrzymywać płatności Apple Pay, konieczne jest ustawienie i skonfigurowanie integracji Apple Pay, co również wymaga użycia certyfikatu.

Info

Z Apple Pay można korzystać na wyznaczonych urządzeniach i obsługiwanych przeglądarkach. Więcej informacji znajdziesz na stronie Urządzenia zgodne z usługą Apple Pay.

Upewnij się, że Twój serwer jest odpowiednio przygotowany do bezpiecznej komunikacji z Apple Pay, spełniając te warunki wstępne.

  • Działająca domena z ważnym certyfikatem SSL
  • Dostępność terminala Secure Shell (SSH) do użytku.
  • Odpowiednie uprawnienia przyznane w celu uzyskania dostępu do plików serwera, ułatwiające przesyłanie niezbędnych plików na serwer.

Więcej informacji można znaleźć na stronie Ustawienie Serwara.

Jak skonfigurować Apple Pay

Aby skonfigurować i włączyć Apple Pay do płatności, pierwszym krokiem jest uzyskanie Apple Development Account i ubieganie się o Apple Developer Program albo Enterprise. Należy liczyć się z kilkudniowym oczekiwaniem na zatwierdzenie.

Proces ten wymaga zalogowania się przy użyciu konta Apple Developer i obejmuje następujące główne kroki:

Krok 1: Utwórz Merchant ID
Krok 2: Wygenerowanie certyfikatu przetwarzania płatności
Krok 3: Zarejestruj domeny, które będą przetwarzać transakcje Apple Pay
Krok 4: Utworzenie certyfikatu tożsamości sprzedawcy
Krok 1: Utwórz Merchant ID

W Apple Developer, pod Certyfikaty, Identifikatory & Profile, utwórz Merchant ID.

Aby uzyskać więcej informacji, zapoznaj się z wytycznymi ApplePay, aby wygenerować identyfikator merchanta.

Krok 2: Wygenerowanie certyfikatu przetwarzania płatności

Twój Account Manager dostarczy ci plik .CSR niezbędny do wygenerowania certyfikatu przetwarzania płatności Apple Pay, jak opisano w bieżącym kroku.

Przejdź do Apple Developer, wybierz merchant ID, i wybierz Stwórz Certyfikat.

Kliknij Wybierz plik aby przesłać dostarczony plik CSR.

Pobierz certyfikat i udostępnij go swojemu Account Manager’owi.

Krok 3: Zarejestruj domeny, które będą przetwarzać transakcje Apple Pay

Przejdź do Apple Developer, wejdź w Certyfikaty, Identyfikatory & Profilei znajdź wcześniej utworzony Merchant ID.

W ramach Apple Pay w sekcji Web, kliknij guzikDodaj domenę i postępuj zgodnie z krokami opisanymi przez Apple.

Aby uzyskać więcej informacji, zapoznaj się z wytycznymi dotyczącym rejestracji domeny sprzedawcy.

Krok 4: Utworzenie certyfikatu tożsamości sprzedawcy

Wygeneruj plik .p12 i powiązane hasło, aby umożliwić transakcje za pośrednictwem bramki płatności SIBS i wyślij je do swojegoAccount Managera w celu uwierzytelnienia komunikacji z serwerami Apple Pay.

Plik .p12 można utworzyć za pomocą różnych środków, w tym OpenSSL, KeyTool lub KeyChain Access (dostępny tylko w systemach Mac).

Opcja 1: Wygenerowanie pliku .p12 przy użyciu OpenSSL
Opcja 2: Utworzenie pliku .p12 przy użyciu Keychain Access (wyłącznie dla komputerów Mac)

Opcja 1: Wygenerowanie pliku .p12 przy użyciu OpenSSL

1. Wygeneruj Certyfikat Signing Request (ecccertreq.csr):
Zadanie to można łatwo wykonać za pomocą polecenia terminala, opisanego poniżej:

openssl req -new -newkey rsa:2048 -nodes -keyout applepay.key -out applepay.csr -subj '/O=My Company/C=PL'

Upewnij się, że CSR został wygenerowany z danymi Twojej firmy. W podanym przykładzie „O=My Company” należy zastąpić rzeczywistą nazwą firmy, a „C=PL” należy zastąpić odpowiednim kodem kraju dla firmy.

Spowoduje to wygenerowanie dwóch plików:

  • applepay.key
  • applepay.csr

Przechowuj te pliki w miejscu, w którym będziesz mógł się do nich później odwołać.

2. Wgraj Merchant Identity Certificate CSR:
a. Przejdź do Certyfikaty, Identyfikatory & Profile.
b. Wybierz Identyfikatory z paska bocznego.
c. W sekcji Identyfikatory przefiltruj i wybierz Merchant IDs.
d. Wybierz identyfikator merchanta.
e. Kliknij w Stwórz Certyfikat podApple Pay w Web and Merchant Identity Certificate.
f. Kliknij Wybierz Plik. In the dialog that appears, select the certificate request file (applepay.csr), then select Choose.
g. Wybierz Koontynuuj aby kontynuować proces pobierania certyfikatu tożsamości merchanta podpisanego przez Apple.

3. Pobierz podpisany przez Apple certyfikat przetwarzania płatności:
a. Ponownie, przejdź do Certyfikaty, Identyfikatory & Profile.
b. Wybierz Identyfikatory z paska bocznego.
c. W sekcji Identyfikatory wybierz Merchant IDs.
d. Wybierz identyfikator merchanta.
e. Kliknij Pobierz podApple Pay w Web and Merchant Identity Certificate. Spowoduje to zapisanie pliku certyfikatu (apple_pay.cer) w folderze Pobrane.

4. Wygeneruj plik .p12 (ecckeystore.p12):

Konieczne będzie przekonwertowanie pliku .cer na plik .pem przy użyciu następującego polecenia terminala:

openssl x509 -inform der -in apple_pay.cer -out apple_pay.pem

Następnie będzie można wygenerować plik .p12 za pomocą następującego polecenia:

openssl pkcs12 -export -out merchant_id-v2.p12 -inkey applepay.key -in apple_pay.pem
Opcja 2: Utworzenie pliku .p12 przy użyciu Keychain Access (wyłącznie dla komputerów Mac)

1. Wygeneruj żądanie podpisania certyfikatu:
a. Przejdź do folderu Narzędzia w folderze Aplikacje w swoim komputerze Mac i uruchom Keychain Access.
b. Z rozwijanego menu Keychain Access, przejdź do Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.
c. Wypełnij okno Certificate Information wymaganymi danymi:
– Wprowadź swój adres e-mail i przypisz nazwę do klucza prywatnego.
– Zostaw pole CA Email Address puste.
– Pod Zapytanie jest grupa, zaznacz opcję Zapisz na dysku .
– Wybierz Pozwól mi podać informacje o parze kluczy.
d. Przejdź dalej klikając Kontynuuj w Keychain Access i określ lokalizację pliku.
e. Ustaw Key Pair Information w następujący sposób:
– Algorytm: ECC
– Key Size: 256 bits
f. Zakończ proces generowania CSR, klikając Continue within Keychain Access.

2. Załaduj Merchant Identity Certificate CSR:
a. Przejdź do Certyfikaty, Identyfikatory & Profile.
b. Wybierz Identyfikatory z paska bocznego.
c. W sekcji Identyfikatory przefiltruj i wybierz Merchant IDs.
d. Wybierz identyfikator merchanta.
e. Kliknij Stwórz Certyfikat pod Apple Pay on the Web and Merchant Identity Certificate.
f. Kliknij Wybierz Plik. W wyświetlonym oknie dialogowym wybierz plik żądania certyfikatu (ecccertreq.csr), a następnie wybierz opcję Choose.
g. Wybierz Koontynuuj aby kontynuować proces pobierania certyfikatu tożsamości merchanta podpisanego przez Apple.

3. Pobieranie podpisanego przez Apple Merchant Identity Certificate:
a. Ponownie, przejdź do Certyfikaty, Identyfikatory & Profile.
b. Wybierz Identyfikatory z paska bocznego.
c. W sekcji Identyfikatory wybierz Merchant IDs.
d. Wybierz identyfikator merchanta.
e. Kliknij Pobierz podApple Pay on the Web and Merchant Identity Certificate. Spowoduje to zapisanie pliku certyfikatu (apple_pay.cer) w folderze Pobrane.

4. Wygeneruj plik .p12 (ecckeystore.p12):
a. Double-click the apple_pay.cer file to install it in Keychain Access.
b. Wyeksportuj zarówno certyfikat przetwarzania płatności, jak i parę kluczy do pliku .p12:
– Wybierz Payment Processing Certificate.
– Przytrzymując klawisz Cmd , wybierz również plik pary kluczy.
– Z menu rozwijanego Dostęp do pęku kluczy wybierz opcję Plik > Export Items.
– Podaj nazwę pliku .p12 i zapisz .

Po zakończeniu tego procesu będziesz mógł rozpocząć płatność.

Dokonać płatności

Krok 1: Utwórz zamówienie
Krok 2: Uzyskanie sesji płatności
Krok 3: Złożenie wniosku o płatność
Krok 4: Sprawdź status płatności
Krok 1: Utwórz zamówienie

W pierwszej kolejności należy zainicjować tworzenie zamówienia.

Po wygenerowaniu żądania zamówienia pamiętaj o podaniu „XPAY” jako metody płatności.

Krok 2: Uzyskanie sesji płatności

Po wykonaniu tego kroku konieczne będzie zainicjowanie połączenia synchronicznego w celu skonfigurowania sesji ApplePay.

GET {version-id}/{id}/xpay/payment/applepay-session

Ścieżka i parametry nagłówka:

LokalizacjaElement DanychTypStanOpis
ŚcieżkaIdCiągWarunkowySłuży do sprawdzania statusu transakcji według identyfikatora transakcji
Nagłówek żądaniaTyp zawartościCiągObowiązkowyapplication/json
Nagłówek żądaniaAutoryzacjaCiągObowiązkowyPodsumowanie autoryzacji

Pomyślna odpowiedź techniczna jest wskazywana przez status HTTP-200 wraz z wartością returnStatus.statusCode „000”.

Krok 3: Złożenie wniosku o płatność

Następnie złóż wniosek o płatność zgodnie z poniższym szczegółowym komunikatem.

EnvironmentURLOperation Method & EndpointOperation Description
PRODapi.sibsgateway.comPOST version-id/{id}/xpay/paymentRequests the payment registered by the previous checkout using xpay payment details inserted by the customer.
TESTstargate-cer.qly.site[1|2].sibs.ptPOST version-id/{id}/xpay/paymentRequests the payment registered by the previous checkout using xpay payment details inserted by the customer.

Poniższy komunikat przedstawia żądanie płatności Apple Pay:

LocationData ElementTypeConditionDescription
PathidStringConditionalTransaction Id

Parametry nagłówka:

LokalizacjaElement DanychTypStanOpis
Nagłówek żądaniaTyp zawartościCiągObowiązkowyaplikacja/json
Nagłówek żądaniaautoryzacjaCiągObowiązkowyToken okaziciela. Na podstawie uwierzytelniania OAuth2 przeprowadzonego na etapie wstępnym.
Nagłówek żądaniax-ibm-client-idCiągObowiązkowyToken identyfikujący organizację klienta. Jest on podawany podczas procesu onboardingu i należy go stosować podczas każdego połączenia.

Parametry żądania:

LokalizacjaElement DanychTypStanOpis
Treść żądaniatokenInfoTokenInfoWarunkowyTokeny płatnicze
Żądanie Body.tokenInfotokenNameCiągOpcjonalnyNazwa tokena
Żądanie Body.tokenInfotokenTypeCiągObowiązkoweTyp tokena. Możliwe wartości to („ApplePay”, „GooglePay”).
Żądanie Body.tokenInfovalueCiągObowiązkoweWartość tokena
Treść żądaniainfoInformacjaObowiązkoweObiekt definiujący dodatkowe informacje o transakcji.
Zapytanie Body.infodeviceInfoInformacje o urządzeniuObowiązkoweObiekt definiujący informacje o urządzeniu klienta.
Zapytanie Body.info.deviceInfobrowserAcceptHeaderCiągOpcjonalnyBrowser Accept Header
Zapytanie Body.info.deviceInfobrowserJavaEnabledCiągOpcjonalnyPrzeglądarka Java włączona
Zapytanie Body.info.deviceInfobrowserJavascriptEnabledCiągOpcjonalnyPrzeglądarka z włączonym JavaScriptem
Zapytanie Body.info.deviceInfobrowserLanguageCiągOpcjonalnyJęzyk przeglądarki
Zapytanie Body.info.deviceInfobrowserColorDepthCiągOpcjonalnyGłębia kolorów przeglądarki
Zapytanie Body.info.deviceInfobrowserScreenHeightCiągOpcjonalnyWysokość ekranu przeglądarki
Zapytanie Body.info.deviceInfobrowserScreenWidthCiągOpcjonalnyszerokość ekranu przeglądarki
Zapytanie Body.info.deviceInfobrowserTZCiągOpcjonalnyStrefa czasowa przeglądarki
Zapytanie Body.info.deviceInfobrowserUserAgentCiągOpcjonalnyAgent użytkownika przeglądarki
Zapytanie Body.info.deviceInfosystemFamilyCiągOpcjonalnyRodzina systemowa
Zapytanie Body.info.deviceInfosystemVersionCiągOpcjonalnyWersja systemu
Zapytanie Body.info.deviceInfosystemArchitectureCiągOpcjonalnyarchitektura systemu
Zapytanie Body.info.deviceInfodeviceManufacturerCiągOpcjonalnyProducent systemu
Zapytanie Body.info.deviceInfodeviceModelCiągOpcjonalnyModel urządzenia
Zapytanie Body.info.deviceInfodeviceIDCiągOpcjonalnyUnikalna identyfikacja urządzenia
Zapytanie Body.info.deviceInfoapplicationNameCiągOpcjonalnyNazwa aplikacji
Zapytanie Body.info.deviceInfoapplicationVersionCiągOpcjonalnyWersja aplikacji
Zapytanie Body.info.deviceInfogeoLocalizationCiągOpcjonalnyGeolokalizacja
Zapytanie Body.info.deviceInfoipAddressCiągOpcjonalnyAdres IP
Zapytanie Body.infocustomerInfoInformacje o kliencieObowiązkoweTablica krotności wartości klucza.
Zapytanie Body.info.customerInfokeyCiągOpcjonalny
Zapytanie Body.info.customerInfovalueCiągOpcjonalny

Poniżej znajduje się przykład płatności Apple Pay:

{
    "info": {
        "deviceInfo": {
            "browserAcceptHeader": "application/json, text/plain, */*",
            "browserJavaEnabled": "false",
            "browserJavascriptEnabled": "false",
            "browserLanguage": "en",
            "browserColorDepth": "24",
            "browserScreenHeight": "1080",
            "browserScreenWidth": "1920",
            "browserTZ": "-60",
            "browserUserAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
            "geoLocalization": "Lat: 38.7350528 | Long: -9.2143616",
            "systemFamily": "Windows",
            "systemVersion": "Windows",
            "deviceID": "498bfd4c3a3645b38667a7037b616c18",
            "applicationName": "Chrome",
            "applicationVersion": "106"
        },
        "customerInfo": [
            {
                "key": "customerName",
                "value": "Test Name"
            },
            {
                "key": "customerEmail",
                "value": "email@provider.com"
            }
        ]
    },
    "tokenInfo": {
        "tokenType": "applePay",
        "value": "{{appleTokenValue}}"
    }
}

Po przetworzeniu płatności otrzymasz odpowiedź wskazującą status transakcji. Dodatkowo możesz w dowolnym momencie wykonać operację „Pobierz status”, aby sprawdzić status.

Krok 4: Sprawdź status płatności

W tym kroku nagłówek HTTP Authorization jest ustawiony na token Bearer, który został użyty w początkowym Checkoucie.

GET {transactionID}/status

Adres URL żądania:

https://stargate-cer.qly.site1.sibs.pt/api/v1/payments/{transactionID}/status

Nagłówki żądań:

Authorization: ‘Bearer <AuthToken>’
X-IBM-Client-Id: ‘<ClientId>’
Content-Type: application/json

Pomyślna odpowiedź techniczna składa się ze statusu HTTP-200 i returnStatus.statusCode=”000″.

Oto kilka przykładów możliwych kodów wyników:

Kod wynikustatusMsgOpisAkcja
HTTP-200SukcesOdpowiedź powodzeniaNie dotyczy
HTTP-400Zła prośbaŁadunek JSON nie jest zgodny z definicją API lub brakuje niektórych obowiązkowych nagłówków HTTP.Sprawdź w API Market poprawną składnię.
HTTP-401NieautoryzowanyW przypadku Autoryzacji token okaziciela jest nieprawidłowy/wygasł lub nie jest powiązany z używanym terminalem.Sprawdź w SIBS Backoffice w sekcji Poświadczenia, czy token jest ważny i w razie potrzeby utwórz nowy.
HTTP-403ZabronionyIdentyfikator klienta ustawiony w nagłówku HTTP X-IBM-Client-Id jest nieprawidłowy lub nie posiada prawidłowej subskrypcji interfejsu API.Sprawdź w SIBS Backoffice w SPG APP 2.0, czy ClientID jest poprawny. Jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną SIBS Gateway w celu zresetowania ClientID.
HTTP-405Niedozwolona metodaZastosowana metoda HTTP nie jest zgodna z żadną dostępną definicją API.Sprawdź w API Market poprawną metodę HTTP.
HTTP-429Zbyt dużo zapytańPrzekroczono limit szybkości wywołań API.Informacje na temat limitów stawek mających zastosowanie do API można znaleźć w API Market.
HTTP-500Wewnętrzny błąd serweraWywołanie API nie powiodło się… i najprawdopodobniej jest to po naszej stronie.Powinieneś ponowić operację, a jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną SIBS Gateway w celu uzyskania pomocy.
HTTP-503serwis niedostępnyWywołanie API nie jest obecnie dostępne. Zwykle jesteśmy zawsze aktywni, ale podczas planowej konserwacji mogą wystąpić krótkie problemy z dostępnością.Powinieneś poczekać i spróbować ponownie później.