Process an in-person card payment.
Use the following requests to initiate a card transaction on a point-of-sale device.
| 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 POS transactions, this is always Instore. |
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. |
amounts.gratuitynumber | The optional gratuity amount. |
pointOfInteractionobject 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.pointOfSaleIdstring (≤ 20 characters) | A PXP unique identifier for the specific point-of-sale device, often assigned by the merchant or payment processor. |
pointOfInteraction.languagestring (≤ 2 characters) | The display language of the POS device, in ISO 639-1 format. Possible values:
|
statusUpdateUrlstring | 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 |
|---|---|
statusUpdateobject | Details about the status update. |
statusUpdate.deviceIsDisplayingstring (enum) | The message displayed on the device. Possible values: NoneInsertTapOrSwipeCardEnterPinPinOkChooseDccProcessingTransactionRemoveCardWelcomeConfirmAmountRemoveAndReinsertCardSwipeCardReSwipeCardInsertCardAppSelectionEnterCardEnterExpiryDateEnterCvcRetryEnterPinLastEnterPinPinEntrySuccessfulPinEntryFailedTransactionCancelledByShopperPosErrorLanguageSelectionQRCodeData |
statusUpdate.customerInteractionstring (enum) | The interaction that the customer had with the device. Possible values: NoneCardInsertedCardTappedCardSwipedCardRemovedCardSwipedFailCardInsertedFailAppSelectedMultipleCardsTappedCancelPressedCardPresentedFailCardInsertedSwipedFailEnteringCardEnteringExpiryDateEnteringCvcEnteringPinLanguageSelected |
statusUpdate.merchantTransactionIdstring | The unique identifier for this transaction, as assigned by you. |
statusUpdate.eventIdstring (UUID) | The unique identifier associated with this event. |