Step by Step Set-Up Guide for Apple Pay
Onboarding
1) The Merchant Sign the ApplePay contract with Apple.
To generate your Apple pay merchant identifier, you will find below the Apple pay documentation.
Configure Apple Pay on the web - Configure capabilities - Account - Help - Apple Developer
Register a merchant domain
In Certificates, Identifiers & Profiles, click Identifiers in the sidebar, then select Merchant IDs from the pop-up menu on the top right.
On the right, select your merchant identifier.
Under Merchant Domains, click Add Domain.
Enter the fully qualified domain name, then click Save.
Click Download, place the downloaded file in the specified location, then click Verify.
Click Done
2) The merchant send the Apple pay merchant identifier to BNP Paribas sales.
3) BNP Paribas Sales Complete the Axepta boarding form with Apple Pay merchant identifier.
4) Axepta start the configuration.
5) Axepta support send the Certificate Signing Request by mail to the merchant technical contact notifed in the bording form.
6) The merchant needs to upload the Certificate Signing Request on his Marchant Apple Pay Account.
To upload the certificate signing request, you will find below the Apple pay documentation
Configure Apple Pay - Configure capabilities - Account - Help - Apple Developer
Upload a payment processing certificate
In Certificates, Identifiers & Profiles, click Identifiers in the sidebar.
Under Identifiers, select Merchant IDs using the filter on the top right.
On the right, select your merchant identifier.
Note: If a banner appears at the top of the page saying that you need to accept an agreement, click the Review Agreement button and follow the instructions before continuing.y
Upload the Certificate signing request given by Axepta support
Testing Apple pay transaction
Testing transaction with Apple pay test account
1) The Merchant create a sandbox tester Account
To create a sandbox Tester Account, you will find below the Apple pay documentation.
Sandbox Testing - Apple Pay - Apple Developer
Create a Sandbox Tester Account
To create a sandbox tester account, follow these steps:
- Sign in to App Store Connect.
- On the homepage, click Users and Access.
- Under Sandbox, click Testers.
- Click “+” to set up your tester accounts.
- Complete the tester information form and click Invite.
- Sign out of your Apple ID on all testing devices and sign back in with your new sandbox tester account.
2) Ask Axepta support to configure the sandbox environnement.
Axepta Support need the apple pay merchant identifier in order to configure the test environnement.
3) The merchant add the test card number provided by Apple pay in Apple pay account.
To add a test card, you will find below the Apple Pay documentation.
Sandbox Testing - Apple Pay - Apple Developer
Adding a Test Card Number
To get started, add a test card to Wallet:
- Make sure to sign out of iCloud and sign into your test device with your sandbox tester account.
- Go to Wallet and tap Add Credit or Debit Card.
- Using your test credential, follow the steps to add a new card using manual entry.
- After your card has been added, you may begin testing.
Note: To provision test cards on your device and use the sandbox, you will need to make sure that your device’s region is set to a country or region that supports Apple Pay.
4) The merchant must send to Axepta the paramater &orderdesc=Test:0000 in the payment request to simulate a success capture.
Testing transaction with production Apple pay account
1) The merchant must carry out these tests with a real Ewallet/card.
2) The merchant need to send the parameter orderdesc: Test:0000 to simulate a success capture or &capture=manual in which case the transaction is not captured.
Paygate interface
Calling the interface
Two transactions are created when making a credit card payment via Apple Pay. In the Apple Pay transaction the required credit card data are determined first and the actual credit card transaction is then carried out automatically. This takes place via a server-to-server connection and supports all usual credit card transaction options. The difference here, however, is that you don't transmit the credit card information, which you don't know. Instead, you transmit the PKPaymentToken generated by Apple Pay, which contains the required credit card data in encrypted form.
In order to make a credit card payment with Apple Pay, go to the following URL:
https://www.computop-paygate.com/applepay.aspx |
Notice: For security reasons, Axepta rejects all payment requests with formatting errors, please use the correct data type for each parameters.
The following table describes the encrypted payment request parameters:
The table describes just basic parameters. It is also possible to include all credit card payment parameters (without credit card data). More information about this you can find within Card processing.
If you are processing Recurring or stored Credential on File transactions, please make sure to review all the necessary information in "COF Mandate Integration Guide".
If there are any specific parameters that are mandatory for credit card payment, these parameters are also mandatory for Apple Pay.
Parameters for Apple Pay
Key | Format | CND | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
MerchantID | ans..30 | M | MerchantID, assigned by Axepta. Additionally this parameter has to be passed in plain language too. | ||||||||
TransID | ans..64 | M | TransactionID provided by you which should be unique for each payment | ||||||||
RefNr | an..12 | C | Merchant’s unique reference number, which serves as payout reference in the acquirer EPA file. Please note, without the own shop reference delivery you cannot read out the EPA transaction and regarding the additional settlement file (CTSF) we cannot add the additional payment data. Merchant’s unique reference number, which serves as payout reference in the acquirer EPA file. Please note, without the own shop reference delivery you cannot read out the EPA transaction and regarding the additional settlement file we cannot add the additional payment data. Notes:
The format depends on the available paymethods for your MerchantId and this parameter is used for card payments reconciliation. Please choose your format in that way that all paymethods are covered. We recommend to use the most restrictive format for this parameter (AN12 - M) and create unique RefNr. More details : Data reconciliation : Key Data | ||||||||
Amount | n..10 | M | Amount in the smallest currency unit (e.g. EUR Cent) 100 is the smallest currency unit | ||||||||
Currency | a3 | M | Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. | ||||||||
MAC | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. | ||||||||
UserData | ans..1024 | O | If specified at request, Paygate forwards the parameter with the payment result to the shop. | ||||||||
RTF | a1 | O | Establishment of Credential on File Agreement (Cardholder agrees that his card data can be stored for further transactions). | ||||||||
Capture | an..6 | OM | Determines the type and time of capture.
| ||||||||
OrderDesc | ans..64 | M | Description of purchased goods, unit prices etc. | ||||||||
URLNotify | ans..256 | O | Complete URL which Paygate calls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserData parameter instead.
| ||||||||
MerchantIDExt | ans..128 | C | Merchant Identifier of Public Key Mandatory if more then one Merchant Identifiers are stored with Computop | ||||||||
TokenExt | ans..6000 | M | Apple Pay PKPaymentToken as JSON string in the Base64 format Example for TokenExt { "paymentData": { "data": "GiZiyzsI6r6lnPYUeceR6itk2PDyBozl2Xy77c5u2X8Ze7l5EasyyH4Q6BoAevrvBfe0FnUNARBEXRySLwqqnpUHO6Du/amZEECRXxlrH91wFqH4oXry2CTDRu7TaIlmnR+s3ien5JI8iWo9hoEW7hyJOE7QGaS6rfR1CtQ4DWJEUq/tFnW98tj3kwKU6iOAAvE467boopMDGBS1fK5HzGXs4hH/6r+LPRfSOKBi1L5VWAexs9Bzw3ByyG69i52doRuFb1xOcMOJbmPg40hap13IjBW6dnj1phbsqP2i/JxvWPV3EcuqpuIoVZr5w53w//pPsl54kmeXNddIjVD5dIhhOKZ8AznD4eL2dbzkp6bic8xScBf3G8hrKXTRTL7V+KT2S+TQliHN0SNXrFu6B6o=", "signature": "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", "header": { "publicKeyHash": "OgiD2qBTWYf/a+LDshFeQcPq6tOmePu0epHpP4ZkNicc=", "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc/HxA3lJZrC+B0ITom0Iji+gFdn7ivGtpI+fl2u8n8XByPgBaVK2b44qUvsGigoNd0OFLNXo0Q07R2B54eIdS3A==", "transactionId": "156632b2aadf355d4958d9051a42bf62e07aea5716e72083aa64247944f6e3e14d" }, "version": "EC_v1" }, "paymentMethod": { "displayName": "MasterCard 0063", "network": "MasterCard", "type": "debit" }, "transactionIdentifier": "156632B2AAD12F355D4958D9051A42BF62E07AE5716E720AA6424794F6E3E14567D" } | ||||||||
Channel | a..10 | O | Channel over which the order is processed. Allowed value : ECOM |
Result parameters for Apple Pay
The following table describes the result parameters with which Axepta responds to your system
- Please be prepared to receive additional parameters at any time and do not check the order of parameters
- The key (e.g. MerchantId, RefNr) should not be checked case-sentive
Key | Format | CND | Description |
---|---|---|---|
mid | ans..30 | M | MerchantID, assigned by Axepta |
Description | an32 | M | ID assigned by Paygate for the payment, e.g. for referencing in batch files This ID refers to the credit card transaction unless an error occurs already at the Apple Pay transaction. |
XID | an32 | M | ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate |
TransID | ans..64 | M | TransactionID provided by you which should be unique for each payment |
refnr | ns..30 | O | Merchant’s unique reference number |
UserData | ans..1024 | O | If specified at request, Paygate forwards the parameter with the payment result to the shop. |
Status | a..50 | M | OK (URLSuccess) or FAILED (URLFailure) |
Description | ans..1024 | M | Further details in the event that payment is rejected. Please do not use the Description but the Code parameter for the transaction status analysis! |
Code | n8 | M | Error code according to Paygate Response Codes |
MAC | an64 | M | Hash Message Authentication Code (HMAC) with SHA-256 algorithm. |
schemeReferenceID | an64 | C | Card scheme specific transaction ID required for subsequent credential-on-file payments, delayed authorizations and resubmssions. |
Capture / Credit / Reversal
Captures, credits and reversals do not refer to the Apple Pay transaction but directly to the credit card transaction.
Batch processing via the interface
Captures, credits and reversals via batch do not refer to the Apple Pay transaction but directly to the credit card transaction.