Apple Pay is the payment system associated with Apple devices. Apple Pay will securely store the credit card data on the device. Paying on a website will be matters of seconds, from the moment a user clicks on “pay with Apple Pay” to the reception of the payment.
More info about building Apple Pay on you app and web sites can be found on Apple Developer.
In order to pay with Apple Pay through Fabrick Payment Orchestra gateway, you must have an account on Apple Developer. For more details, please refer to Configuring your Environment on Apple website.
To interact with Fabrick Payment Orchestra you need the following items:
Merchant ID: it is the ID that identifies the merchant in Apple systems.
Payment Processing Certificate: a certificate used to securely transfer payment data.
Apple Pay activation on the gateway: activation shall be requested to Fabrick.
Fabrick Payment Orchestra allows authorization requests by sending the Payment Token Package (applePayPKPaymentToken).
If you want Fabrick Payment Orchestra to manage the Payment Token Package for you, one or more Payment Processing Certificates must be uploaded to your merchant profile.
Payment Processing Certificate can be generated through Apple Pay Member Center. To get the certificates a you need a CSR, which can be downloaded in the Configuration > Environment > Payment Methods section by selecting Apple Pay payment method.
Once the certificate has been generated you can upload it by clicking on Add Payment Processing Certificate.
The first step to perform a payment is to obtain a Payment Token Package from your buyer’s environment.
If your are developing an iOS app, checkout the PassKit Payment Token Package.
If your app is a web app, you need Apple Pay JS Integration.
Once you have received a Payment Token Package from Apple, you can call callPagamS2S with the relevant data.
Note that, if using Apple Pay, no Credit Card or Token data are needed.
1<callPagamS2S>
2 <!-- mandatory data -->
3 <shopLogin>9000002</shopLogin>
4 <uicCode>242</uicCode><!-- code for euro -->
5 <amount>24.21</amount>
6 <shopTransactionId>MYSHOP-0001</shopTransactionId>
7 <!-- insert here data from Apple Pay -->
8 <applePay>
9 <applePayPKPaymentToken>
10 {
11 "paymentData": {
12 "data": "Q0tfx6QzXdx...",
13 "signature": "MIAGCSqGSIb3DQEHAq...",
14 "header": {
15 "publicKeyHash": "b9OHKov7pD...",
16 "ephemeralPublicKey": "MFkwE...",
17 "transactionId": "df9ea7239074..."
18 },
19 "version": "EC_v1"
20 },
21 "transactionIdentifier": "DF9EA72390...",
22 "paymentMethod": {
23 "network": "Visa",
24 "type": "debit",
25 "displayName": "Visa0492"
26 }
27 }
28 </applePayPKPaymentToken>
29 </applePay>
30 <!-- fill the remaining fields with usual data -->
31 ...
32</callPagamS2S>
Below there is an example of a Payment Token Package, to be found in applePayPKPaymentToken:
1{
2 "paymentData": {
3 "data": "Q0tfx6QzXdxMndMiDSJWxsZe8xRrGfaY6gM7JguAFKRTtWhI6VphQXmd7Q8sjozgGRkZHge/T2rbUd3XNERGw9bsSv7IEn1CKAO9dh3OMMG8yPcQJne67BfwFJ1wxPD8cZulSBcgdYxW0UPyTghovb8mXWbrzLsm4WsCq+tnH0q3459z5p+/Htu+0G3+eIHTPqUgZ1cz+c6qSkHNH9e5owNSuaK5O+yvHwwD2qTsfPp9GvOTuM3X9RykBHOBzcfl4wWIR5aRcIyZaFgdHiGEVnuBXr3vUR4bwWkXciBm2u9eXEvMUCA9GIt6GjOL3peQBPYPwNCaejRY9H46+TYRFi3pPttJ3ImjuWK4G7aQxUsrXZIeP8x8CJ72jdmJWfxIdkHdUoQiNBBzTwHlz2BKh+wFm5kUQq9eHQFkOH+Vvg==",
4 "signature": "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",
5 "header": {
6 "publicKeyHash": "b9OHKov7pDPAQU2LLMM5+BMkPDT6ZilhRoTCqKOKoi8=",
7 "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERxlDwWYDXVccLjVERBhqOlt1s77CZGJfB6AxOMaqpfva4V8/ADRyjdHefwD+49f00+btYvM5A64kMvEumELDpg==",
8 "transactionId": "df9ea7239074ff78945dfea3520063375a26ad5e9912ce0c3220285f1840cefb"
9 },
10 "version": "EC_v1"
11 },
12 "transactionIdentifier": "DF9EA7239074FF78945DFEA3520063375A26AD5E9912CE0C3220285F1840CEFB",
13 "paymentMethod": {
14 "network": "Visa",
15 "type": "debit",
16 "displayName": "Visa 0492"
17 }
18}
Apple Pay is the payment system associated with Apple devices. Apple Pay will securely store the credit card data on the device. Paying on a website will be matters of seconds, from the moment a user clicks on “pay with Apple Pay” to the reception of the payment.
More info about building Apple Pay on you app and web sites can be found on Apple Developer.
To enable Apple Pay, simply contact your reference account or technical support.
To integrate Apple Pay, simply use the PAGAM hosted payment page integration or the Lightbox provided by Fabrick. Detailed instructions for correctly implementing one of these solutions can be found on the alternative payments page.
Tests for this payment method are carried out in Apple's proprietary environment.
For detailed information on configuration, testing and to add Apple Pay to the available methods, please contact technical support.
Transactions made via Apple Pay are identified by the value 'APPLEPAY' of the paymentType tag, which is present in the transaction detail retrieval API and in the payment reports set up by the merchant dashboard.
Once all integration tests in the development environment have been successfully completed, you can request activation of the payment method on your production account, by contacting technical support.
applePayPKPaymentToken
string
Contains a UTF-8 serialization of a plain-text JSON dictionary.
Once you have submitted callPagamS2S, Fabrick Payment Orchestra will proceed exactly as always and your payment will be processed.