Card transaction
Process an online card transaction.
Initiate a card transaction
Request examples
Use the following request to initiate a card transaction without CVC. For a full list of possible parameters, see the API reference.
{
"merchant": "MERCHANT-1",
"site": "SITE-1",
"merchantTransactionId": "ECOM_001",
"merchantTransactionDate": "2025-01-27 08:51:02.826445+00:00",
"transactionMethod": {
"intent": "Authorisation",
"entryType": "Ecom",
"fundingType": "Card"
},
"amounts": {
"transaction": 20,
"currencyCode": "GBP"
},
"fundingData": {
"card": {
"primaryAccountNumber": "4111111111111111",
"expiryMonth": "01",
"expiryYear": "2025",
"holderName": "John Doe"
}
}
}
Parameter | Description |
---|---|
merchant string (≤ 20 characters) required | Your unique merchant identifier, as assigned by PXP. |
site string (≤ 20 characters) required | Your unique site identifier, as assigned by PXP. |
merchantTransactionId string (≤ 50 characters) required | A unique identifier for this transaction. |
merchantTransactionDate date-time required | The date and time when the transaction happened, in ISO 8601 format. |
transactionMethod object required | Details about the transaction method. |
transactionMethod.entryType string required | The entry type. For e-commerce transactions, this is always Ecom . |
transactionMethod.fundingType string required | The funding type. For card transactions, this is always Card . |
transactionMethod.intent string required | The payment intent. Learn more about intents. Possible values: Authorisation EstimatedAuthorisation Purchase Payout Refund |
amounts object required | Details about the transaction amount. |
amounts.transaction number | 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.currencyCode string (1-3 characters) required | The currency code associated with the transaction, in ISO 4217 format. |
fundingData object required | Details about the payment method used for the transaction. |
fundingData.card object | Details about the card. |
fundingData.card.primaryAccountNumber string (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.expiryMonth string (2 characters) | The expiry month (MM ) of the card. |
fundingData.card.expiryYear string (4 characters) | The expiry year (YYYY ) of the card. |
fundingData.card.holderName string (≤ 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. |
Response examples
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": "849535",
"merchantTransactionDate": "2025-03-31T12:25:31",
"merchantTransactionId": "9e6fa686-2a79-4813-8d1c-be9be7f1212b",
"systemTransactionId": "89e2e55c-fcfa-4e35-97ea-3ab7de45619c",
"fundingData": {
"cardScheme": "MasterCard",
"expiryMonth": null,
"expiryYear": null,
"gatewayTokenId": "5fbd77ce-02c1-40ed-94bc-1016660b7512",
"providerResponse": {
"provider": "pxpfinancial",
"code": "00",
"emvDataResponse": {},
"paymentAccountReference": "637607302178175469",
"electronicCommerceIndicatorAdjustment": "07",
"merchantAdvice": {},
"authorisedAmount": 20,
"settlementDate": "2025-04-01T00:00:00"
},
"processorTransactionId": "6ac50290-3211-4359-9651-843305bc315f"
}
}
Updated 4 months ago