Process an in-person card payment.
Use the following requests to initiate a card transaction on a point-of-sale device.
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 POS transactions, this is always Instore . |
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:
|
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. |
amounts.gratuity number | The optional gratuity amount. |
pointOfInteraction object required | Details about the device and environment where a card present transaction takes place. It includes various attributes that help identify and describe the capabilities and configurations of the point-of-sale (POS) device. |
pointOfInteraction.pointOfSaleId string (≤ 20 characters) | A PXP unique identifier for the specific point-of-sale device, often assigned by the merchant or payment processor. |
pointOfInteraction.language string (≤ 2 characters) | The display language of the POS device, in ISO 639-1 format. Possible values:
|
statusUpdateUrl string | The URL that you want status updates to be sent to. You can then display these on your device. |
If you passed the statusUpdateUrl
parameter in your request, you'll also receive the following statusUpdate
object to your chosen URL.
{
"statusUpdate": {
"deviceIsDisplaying": "PinOk",
"customerInteraction": "None",
"merchantTransactionId": "POS_001",
"eventId": "41b43c87-59c0-4b2e-9e10-09f939a5860c"
}
}
Parameter | Description |
---|---|
statusUpdate object | Details about the status update. |
statusUpdate.deviceIsDisplaying string (enum) | The message displayed on the device. Possible values: None InsertTapOrSwipeCard EnterPin PinOk ChooseDcc ProcessingTransaction RemoveCard Welcome ConfirmAmount RemoveAndReinsertCard SwipeCard ReSwipeCard InsertCard AppSelection EnterCard EnterExpiryDate EnterCvc RetryEnterPin LastEnterPin PinEntrySuccessful PinEntryFailed TransactionCancelledByShopper PosError LanguageSelection QRCodeData |
statusUpdate.customerInteraction string (enum) | The interaction that the customer had with the device. Possible values: None CardInserted CardTapped CardSwiped CardRemoved CardSwipedFail CardInsertedFail AppSelected MultipleCardsTapped CancelPressed CardPresentedFail CardInsertedSwipedFail EnteringCard EnteringExpiryDate EnteringCvc EnteringPin LanguageSelected |
statusUpdate.merchantTransactionId string | The unique identifier for this transaction, as assigned by you. |
statusUpdate.eventId string (UUID) | The unique identifier associated with this event. |