Apple Pay
This page outlines the basics of using Apple Pay via Netaxept and gives you instructions needed for a successful implementation.
Before you start
Before starting to accept payments via Apple Pay, ensure to:
- Build integration towards Apple Pay for web or app.
- Build integration towards Netaxept via API.
- Sign an agreement with an acquirer to accept card payments and use the Apple Pay service.
Overview
Apple Pay is a Wallet payment method, enabling users to make secure payments, authenticate and approve payments via their Apple Pay payment app.
It is a card payment using the token services provided by the card scheme. The transactions are authenticated with Touch ID or Face ID and uses the 3DS.
However, in terms of liability shift the issuer might downgrade the transactions and not grant liability shift. This means you as a merchant can be liable for fraud.
If you are using Mobile in-App SDK, please visit this page: Github Mobile SDK.
Supported card schemes:
- Visa
- Mastercard
- Dankort
- Maestro
- American Express
Functionalities
Functionality | Name in API | Details |
---|---|---|
Payment type | - | Wallet |
Currencies | - | All |
Countries | - | All |
Refunds | - | ✅ |
Partial refund | - | ✅ |
Cancel payment | ANNUL | ✅ |
Apple Pay is supported by Nets acquiring.
Pre-auth Apple Pay
Apple Pay supports Netaxept’s pre-auth functionality as described on this page. Please note that for Apple Pay the pre-authorization needs to be initialized using the Process API call. For details, see "Step 1: Initiating a pre-authorization payment" -> "2. Process Call" in this section.
Activation
You are responsible for activating this payment method in Netaxept Admin and ensuring that all information is entered correctly.
- Go to Netaxept Admin -> Options -> Agreement -> Choose Apple Pay.
- Add a Merchant ID and domain (this is not sent to Apple and is just for reference).
- Click “Generate CSR” button and agreement is added – Merchant specific certificate will be generated.
- Click “Edit” on Apple Pay agreement and copy the CSR.
- Go to your Apple Dev account and create the certificate with the CSR. Note the expiration date for the certificate to ensure you create a new one before it expires.
- Copy the payment processing certificate.
- Go back to Netaxept Admin and click edit the agreement.
- Upload your certificate from Apple Pay in PEM File section and click “Save”.
Sharing Apple Pay agreement with your partners
To avoid the process of adding an agreement for each sub-merchant separately, you can automatically distribute your Apple Pay agreement to your selected sub-merchants by following below steps:
- Click "Share" next to your Apple Pay agreement on the partner you have added the Apple Pay agreement.
- Enter
merchantID
from which the agreement should be copied. - Upload a Comma Separated Value (CSV) file with
merchantId
andcurrencyCode
(NNNNNN, CCC
) to which the agreement should be distributed to.
Payment flow
Apple Pay is available in both test and production environments.
Test: https://test.epayment.nets.eu Production: https://epayment.nets.eu
Apple Pay is not available in any of our terminals; that is why, you need to create the payment request towards Apple and add the "Apple Pay" button on your own site or app.
Register call
- The paymentMethodActionList-parameter should specify Apple Pay
- The parameter PaymentData should be added and contain the encrypted Payment Data from Apple Pay in Json: {"paymentData”: {"version":"EC_v1","data":"4………….}
Ensure that you properly URL-encode the data.
Terminal call
Terminal call is skipped as payment data is already collected in the Register call.
Process call
Works as regular card payments, see Netaxept API.
Query
Information that a wallet was used is added to the query result.
The MaskedPAN
will not show the underlying card number but instead the DPAN that was created when the card was added to the Apple Pay wallet.
Query call example
<PaymentInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <MerchantId>MerchantId</MerchantId> <QueryFinished>2017-10-25T07:00:56.0454551+02:00</QueryFinished> <TransactionId>TransactionId</TransactionId>