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, Francja, Niemcy, Polska, Portugalia, Rumunia, Słowacja, SłoweniaCZK, 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.

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:

LocationData ElementTypeConditionDescription
Request BodytokenInfoTokenInfoConditionalPayment Tokens
Request Body.tokenInfotokenNameStringOptionalToken Name
Request Body.tokenInfotokenTypeStringMandatoryToken Type.
Possible values are („ApplePay”, „GooglePay”).
Request Body.tokenInfovalueStringMandatoryToken Value
Request BodyinfoInfoMandatoryObject that defines the transaction additional information.
Request Body.infodeviceInfoDeviceInfoMandatoryObject that defines the customer device information.
Request Body.info.deviceInfobrowserAcceptHeaderStringOptionalBrowser Accept Header
Request Body.info.deviceInfobrowserJavaEnabledStringOptionalBrowser Java Enabled
Request Body.info.deviceInfobrowserJavascriptEnabledStringOptionalBrowser Javascript Enabled
Request Body.info.deviceInfobrowserLanguageStringOptionalbrowser Language
Request Body.info.deviceInfobrowserColorDepthStringOptionalbrowser Color Depth
Request Body.info.deviceInfobrowserScreenHeightStringOptionalbrowser Screen Height
Request Body.info.deviceInfobrowserScreenWidthStringOptionalbrowser Screen Width
Request Body.info.deviceInfobrowserTZStringOptionalBrowser Time Zone
Request Body.info.deviceInfobrowserUserAgentStringOptionalBrowser User Agent
Request Body.info.deviceInfosystemFamilyStringOptionalSystem Family
Request Body.info.deviceInfosystemVersionStringOptionalSystem Version
Request Body.info.deviceInfosystemArchitectureStringOptionalSystem Architecture
Request Body.info.deviceInfodeviceManufacturerStringOptionalSystem Manufacturer
Request Body.info.deviceInfodeviceModelStringOptionalDevice Model
Request Body.info.deviceInfodeviceIDStringOptionalDevice Unique Identification
Request Body.info.deviceInfoapplicationNameStringOptionalApplication Name
Request Body.info.deviceInfoapplicationVersionStringOptionalApplication Version
Request Body.info.deviceInfogeoLocalizationStringOptionalGeolocation
Request Body.info.deviceInfoipAddressStringOptionalIP Address
Request Body.infocustomerInfoCustomerInfoMandatoryKey Value tuple array.
Request Body.info.customerInfokeyStringOptional
Request Body.info.customerInfovalueStringOptional

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:

Result CodestatusMsgDescriptionAction
HTTP-200SuccessSuccess responseN/A
HTTP-400Bad RequestThe JSON payload is not matching the API definition or some mandatory HTTP headers are missing.Please check in API Market for the correct syntax.
HTTP-401UnauthorizedOn the Authorization, Bearer token is invalid/expired or not associated with the Terminal used.Please check in SIBS Backoffice under the Credentials if the token is valid and create a new one if needed.
HTTP-403ForbiddenThe ClientID set on the X-IBM-Client-Id HTTP header is not valid or does not possess a valid subscription to the API.Please check in SIBS Backoffice under the SPG APP 2.0 if the ClientID is correct. If the problem persists contact SIBS Gateway support for a ClientID reset.
HTTP-405Method Not AllowedThe HTTP Method used is not matching any of the API definitions available.Please check in API Market for the correct HTTP Method.
HTTP-429Too Many RequestsThe API calls rate limit has been exceeded.Please check in API Market for information on the rate limits that apply to the API.
HTTP-500Internal Server ErrorThe API call has failed… and its most likely on our side.You should retry the operation, and if the problem persists contact SIBS Gateway support for assistance.
HTTP-503Service UnavailableThe API call is not currently available. Usually we are always on, but short availability issues may occur during scheduled maintenance.You should wait and try again later.