Process an online transaction using Apple Pay.
Use the following request to initiate an Apple Pay transaction.
{
"merchant": "MERCHANT-1",
"site": "SITE-1",
"merchantTransactionId": "ECOM-001",
"merchantTransactionDate": "2025-01-27 08:51:02.826445+00:00",
"transactionMethod": {
"intent": "Purchase",
"fundingType": "Card",
"entryType": "Ecom"
},
"amounts": {
"transaction": 10,
"currencyCode": "GBP"
},
"threeDSecureData": {
"cardHolderAuthenticationVerificationValue": "MjAwNjI0MDkwMTEwMjA4NjU0MTY=",
"directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b",
"electronicCommerceIndicator": "05",
"threeDSecureVersion": "2.1.0",
"threeDSecureTransactionStatus": "Y"
},
"fundingData": {
"card": {
"primaryAccountNumber": "4111111111111111",
"expiryMonth": "1",
"expiryYear": "2025",
"holderName": "John Doe",
"walletType": "ApplePay"
}
}
}| Parameter | Description |
|---|---|
merchantstring (≤ 20 characters) required | Your unique merchant identifier, as assigned by PXP. |
sitestring (≤ 20 characters) required | Your unique site identifier, as assigned by PXP. |
merchantTransactionIdstring (≤ 50 characters) required | A unique identifier for this transaction. |
merchantTransactionDatedate-time required | The date and time when the transaction happened, in ISO 8601 format. |
transactionMethodobject required | Details about the transaction method. |
transactionMethod.entryTypestring required | The entry type. For e-commerce transactions, this is always Ecom. |
transactionMethod.fundingTypestring required | The funding type. For card transactions, this is always Card. |
transactionMethod.intentstring required | The payment intent. Learn more about intents. Possible values:
|
amountsobject required | Details about the transaction amount. |
amounts.transactionnumber | The transaction amount. The numbers after the decimal will be zero padded if they are less than the expected currencyCode exponent. For example, GBP 1.1 = GBP 1.10, EUR 1 = EUR 1.00, or BHD 1.3 = 1.300. The transaction will be rejected if numbers after the decimal are greater than the expected currencyCode exponent (e.g., GBP 1.234), or if a decimal is supplied when the currencyCode of the exponent does not require it (e.g., JPY 1.0). |
amounts.currencyCodestring (1-3 characters) required | The currency code associated with the transaction, in ISO 4217 format. |
threeDSecureDataobject | Details about the 3DS data. If authenticationId is provided, it will be used by PXP to look up the associated 3D Secure authentication data. If authenticationId isn't provided, you'll need to provide the authentication data instead. |
threeDSecureData.authenticationIdstring | A unique reference provided by PXP for the authentication request, represented as a GUID. |
threeDSecureData.cardHolderAuthenticationVerificationValuestring | The Cardholder Authentication Verification Value (CAVV) is generated by the card issuer as part of the 3D Secure authentication process for Visa transactions. It indicates that the cardholder has been authenticated, and it should be appended to the authorisation request. |
threeDSecureData.directoryServerTransactionIdstring | The 3DS 2.0 transaction identifier returned by the card issuer, unique to each authentication attempt. |
threeDSecureData.electronicCommerceIndicatorstring | The Electronic Commerce Indicator (ECI) specifies the security level of an online transaction and the authentication outcome, crucial for determining liability in the event of a dispute. Possible values:
|
threeDSecureData.threeDSecureVersionstring | The version of the 3D Secure protocol used for the transaction's authentication, as returned by the Payment Service Provider (PSP)'s 3D Secure service. This indicates the specific set of 3D Secure features and security measures applied. |
threeDSecureData.threeDSecureTransactionStatusstring | The status of the transaction after being authenticated using the 3D Secure protocol, as provided by the Payment Service Provider (PSP). This indicates the result of the 3D Secure authentication process. |
fundingDataobject required | Details about the payment method used for the transaction. |
fundingData.cardobject | Details about the card. |
fundingData.card.primaryAccountNumberstring (10-19 characters) | The unique number assigned to a payment card, such as a credit or debit card. This number typically contains 16 digits, structured in a specific format to indicate the card network, issuing bank, and account number. |
fundingData.card.expiryMonthstring (2 characters) | The expiry month (MM) of the card. |
fundingData.card.expiryYearstring (4 characters) | The expiry year (YYYY) of the card. |
fundingData.card.holderNamestring (≤ 100 characters) | The full name of the individual who owns the payment card. This name is printed on the physical card and is used for verifying the cardholder's identity during transactions. |
fundingData.card.walletTypestring | The type of digital wallet being used for the transaction. Set this to ApplePay. |
If your request is successful, you'll receive a 200 response that includes the transaction's state. You'll also receive a Transaction (Card Authorised) webhook notification.
{
"state": "Authorised",
"stateData": {},
"approvalCode": "676821",
"merchantTransactionDate": "2025-03-31T10:39:37",
"merchantTransactionId": "08081f55-6b8b-45d5-b097-3450dfff61e7",
"systemTransactionId":"7cf52570-9ca3-4423-b246-e0bcb0fb34d1",
"fundingData": {
"cardScheme": "MasterCard",
"expiryMonth": null,
"expiryYear": null,
"gatewayTokenId": "5fbd77ce-02c1-40ed-94bc-1016660b7512",
"providerResponse": {
"provider": "pxpfinancial",
"code": "00",
"emvDataResponse": {},
"paymentAccountReference": "637607302178175469",
"electronicCommerceIndicatorAdjustment": "05",
"merchantAdvice": {},
"authorisedAmount": 10,
"settlementDate": "2025-04-01T00:00:00"
},
"processorTransactionId": "403e7285-2993-4de4-b0ff-5e2f18bf7a8f"
}
}