Process an in-store (card present) transaction.
Use the following example to request an in-store card authorisation with contactless.
{
"merchant": "MERCHANT-1",
"site": "SITE-1",
"merchantTransactionId": "POS_001",
"merchantTransactionDate": "2025-01-27 08:51:02.826445+00:00",
"transactionMethod": {
"intent": "Authorisation",
"fundingType": "Card",
"entryType": "Instore"
},
"amounts": {
"transaction": 6,
"currencyCode": "CHF",
"gratuity": 1.50
},
"fundingData": {
"card": {
"pointOfInteraction": {
"entryType": "CardContactless",
"kernelApplicationVersion": "321313",
"deviceModelName": "CastlesSaturn1000",
"operatingSystemVersion": "1",
"pointOfSaleId": "111",
"pointOfSaleApplicationVersion": "4.23.060.0",
"serialNumber": "1234567812345678"
},
"securityLevel": {
"primaryAccountNumber": "4111111111111111",
"expiryMonth": "01",
"expiryYear": "2031",
"holderName": "John Doe",
"iccTrack2Equivalent": "41111111111111115D310120119058101"
},
"emvData": {
"applicationIdentifier": "A0000000032010",
"applicationInterchangeProfile": "0020",
"applicationLabel": "VISA ELECTRON",
"applicationPreferredName": "PreferredName",
"applicationTransactionCounter": "0001",
"applicationUsageControl": "FF80",
"applicationVersionNumber": "008D",
"authorisationRequestCryptogram": "0E45587C1C56DC8B",
"contactless": {
"discretionaryData": "D1F2C3B4A567890123456789ABCDEF12",
"formFactor": "20700000"
},
"cryptogramInformationData": "80",
"cryptogramTransactionType": "00",
"cardHolderVerificationMethodResults": "3F0000",
"dedicatedFileName": "A0000000032010",
"issuerActionCodesDefault": "F040008800",
"issuerActionCodesDenial": "0000000000",
"issuerActionCodesOnline": "0000000000",
"issuerApplicationData": "1F220100A000000000564953414C335445535443415345000000000000000000",
"primaryAccountNumberSequenceNumber": "0001",
"pointOfSaleEntryMode1": "07",
"pointOfSaleEntryMode2": "00",
"terminalCapabilities": "E06848",
"terminalCountryCode": "0826",
"terminalType": "00",
"terminalVerificationResult": "0000000000",
"transactionStatusInformation": "6800",
"unpredictableNumber": "7264193E",
"additionalTags": "9F6604FFFFFFFF9F6C02FFFF"
}
}
}
}| Property | 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 in-store 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: AuthorisationEstimatedAuthorisationPurchasePayoutRefund |
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 gratuity or tip amount added by the customer to the transaction total. This field can't be used together with serviceCharge. |
amounts.serviceChargeobject | Details about the service charge applied to the transaction. This field can't be used together with gratuity. |
amounts.serviceCharge.amountnumber required | The service charge amount. |
amounts.serviceCharge.percentagenumber required | The service charge percentage. |
amounts.serviceCharge.optionalboolean required | Whether the service charge is optional. |
fundingData.card.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. |
fundingData.card.pointOfInteraction.entryTypestring required | The method by which the card information was entered during the transaction. This field is crucial for determining the specific process and security measures used in the transaction. It helps in categorising the entry type, whether it involves physical card interaction or a contactless device. Possible values: CardContactlessChipAndPinChipAndSignatureFallbackToSwipeKeyEntryPhoneContactlessSwipedWatchContactlessWearableContactless |
fundingData.card.pointOfInteraction.kernelApplicationVersionstring required | The version of the kernel application running on the device, which manages the card interaction process. |
fundingData.card.pointOfInteraction.deviceModelNamestring required | The device model name of the point-of-sale device used for processing the transaction. |
fundingData.card.pointOfInteraction.operatingSystemVersionstring required | The version of the operating system installed on the point-of-sale device. |
fundingData.card.pointOfInteraction.pointOfSaleIdstring (≤ 20 characters) required | A PXP unique identifier for the specific point-of-sale device, often assigned by the merchant or payment processor. |
fundingData.card.pointOfInteraction.pointOfSaleApplicationVersionstring (≤ 20 characters) required | The version of the point-of-sale application software installed on the device. |
fundingData.card.pointOfInteraction.serialNumberstring required | The serial number of the point-of-sale device, which uniquely identifies the hardware device. |
fundingData.card.securityLevelobject required | Security details about the card used for the transaction. |
fundingData.card.securityLevel.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. This is present if the card is manually entered into a device without point-to-point encryption. |
fundingData.card.securityLevel.expiryMonthstring (2 characters) | The expiry month (MM) of the card. This is present if the card is manually entered into a device without point-to-point encryption. |
fundingData.card.securityLevel.expiryYearstring (4 characters) | The expiry year (YYYY) of the card. This is present if the card is manually entered into a device without point-to-point encryption. |
fundingData.card.securityLevel.cardVerificationCodestring (3-4 characters) | The Card Verification Code (CVC) associated with the payment card, which is used to verify that the cardholder is in possession of the card during non-face-to-face transactions. This is present if the card is manually entered into a device without point-to-point encryption. |
fundingData.card.securityLevel.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.securityLevel.iccTrack2Equivalentstring (≤ 37 characters) | This field contains Track 2 equivalent data from the chip of the card. This data is similar to Track 2 data but is obtained from the card's chip rather than the magnetic stripe. |
fundingData.card.emvDataobject | Detailed EMV (Europay, Mastercard, and Visa) data required for chip and PIN or contactless in-store transactions. Each field within this object represents a specific EMV tag that provides critical information about the transaction, card, and device. |
fundingData.card.emvData.applicationIdentifierstring required | EMV tag 9F06: identifies the application according to ISO/IEC 7816-5. |
fundingData.card.emvData.applicationInterchangeProfilestring required | EMV tag 82: indicates the card's capabilities for supporting specific functions in the application. |
fundingData.card.emvData.applicationLabelstring required | EMV tag 50: mnemonic associated with the Application Identifier (AID) according to ISO/IEC 7816-5. |
fundingData.card.emvData.applicationPreferredNamestring required | The preferred name of the application as designated by the card issuer. |
fundingData.card.emvData.applicationTransactionCounterstring required | EMV tag 9F36: a counter maintained by the application in the ICC, incremented by the card for each transaction. |
fundingData.card.emvData.applicationUsageControlstring required | EMV tag 9F07: indicates the issuer's specified restrictions on geographic usage and services allowed for the application. |
fundingData.card.emvData.applicationVersionNumberstring required | EMV tag 9F08: version number assigned by the payment system for the application. |
fundingData.card.emvData.authorisationRequestCryptogramstring required | EMV tag 9F26: cryptogram generated by the card during the transaction. |
fundingData.card.emvData.contactlessobject | Details about the contactless payment. |
fundingData.card.emvData.contactless.discretionaryDatastring | Additional data specified by the issuer, included in the transaction for contactless payments. |
fundingData.card.emvData.contactless.formFactorstring | EMV tag 9F6E: indicates the type of device used in the transaction. |
fundingData.card.emvData.cryptogramInformationDatastring required | EMV tag 9F27: indicates the type of cryptogram and the actions to be performed by the device. Possible values: 00: AAC (Application Authentication Cryptogram) - Transaction declined by the card.40: TC (Transaction Certificate) - Transaction approved by the card.80: ARQC (Authorisation Request Cryptogram) - Request for online Authorisation.C0: ARPC (Authorisation Response Cryptogram) - Response from issuer to ARQC.10: AAR (Application Authentication Request) - Additional Authorisation request for offline data authentication. |
fundingData.card.emvData.cryptogramTransactionTypestring required | EMV tag 9C: indicates the type of financial transaction, represented by the first two digits of ISO 8583:1987 Processing Code. |
fundingData.card.emvData.cardHolderVerificationMethodResultsstring required | EMV tag 9F34: indicates the results of the last cardholder verification method performed. |
fundingData.card.emvData.dedicatedFileNamestring required | EMV tag 84: identifies the application or file in the card. |
fundingData.card.emvData.issuerActionCodesDefaultstring required | EMV tag 9F0D: specifies the issuer's conditions for transaction rejection when the device is unable to go online. |
fundingData.card.emvData.issuerActionCodesDenialstring required | EMV tag 9F0E: specifies the issuer's conditions that cause the denial of a transaction without an attempt to go online. |
fundingData.card.emvData.issuerActionCodesOnlinestring required | EMV tag 9F0F: specifies the issuer's conditions that cause a transaction to be transmitted online. |
fundingData.card.emvData.issuerApplicationDatastring required | EMV tag 9F10: contains proprietary application data for transmission to the issuer in an online transaction. |
fundingData.card.emvData.primaryAccountNumberSequenceNumberstring required | EMV tag 5F34: identifies and differentiates cards with the same PAN. |
fundingData.card.emvData.pointOfSaleEntryMode1string required | EMV tag 9F39: indicates the method by which the PAN was entered, according to the first digit of the ISO 8583:1987 point of sale entry mode. Possible values: 05: contactChip08: contactlessEMV09: magneticStripeReadFallback |
fundingData.card.emvData.pointOfSaleEntryMode2string required | EMV tag 9F39: indicates the method by which the PAN was entered, according to the second digit of the ISO 8583:1987 point of sale Entry Mode. Possible values: 00: normal01: recurring 02: installment03: incremental 10: partialApproval90: preAuthorisation |
fundingData.card.emvData.terminalCapabilitiesstring required | EMV tag 9F33: indicates the card data input, CVM, and security capabilities of the device. |
fundingData.card.emvData.terminalCountryCodestring required | EMV tag 9F1A: indicates the country of the device, represented according to ISO 3166. |
fundingData.card.emvData.terminalTypestring required | EMV tag 9F35: indicates the type of terminal involved in the transaction. Possible values:
|
fundingData.card.emvData.terminalVerificationResultstring required | EMV tag 95: status of the different functions as seen from the device. |
fundingData.card.emvData.transactionStatusInformationstring required | EMV tag 9B: indicates the functions performed in a transaction. |
fundingData.card.emvData.unpredictableNumberstring required | EMV tag 9F37: value to provide variability and uniqueness to the generation of a cryptogram. |
fundingData.card.emvData.additionalTagsstring | Additional EMV tags, as required by acquirers (e.g., TTQ or CTQ). Encoded as concatenated TLV (Tag-Length-Value) structures in hexadecimal format. |
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": "401445",
"merchantTransactionDate": "2025-03-28T10:24:51",
"merchantTransactionId": "433835e6-a332-452a-861b-069593dbb7c5",
"systemTransactionId": "238e5bc9-0166-4a8b-84b2-a12b804182bc",
"fundingData": {
"cardScheme": "MasterCard",
"primaryAccountNumber": "5431111111111111",
"expiryMonth": "01",
"expiryYear": "2031",
"gatewayTokenId": "5fbd77ce-02c1-40ed-94bc-1016660b7512",
"providerResponse": {
"provider": "pxpfinancial",
"code": "00",
"merchantId": "7171910017",
"terminalId": "32454401",
"emvDataResponse": {
"applicationIdentifier": "A0000000032010",
"applicationLabel": "VISA ELECTRON",
"primaryAccountNumberSequenceNumber":"0001",
"authorisationResponseCode": "00",
"issuerAuthenticationData": "C9DF3CA29138D5E83030"
},
"electronicCommerceIndicatorAdjustment": "07",
"merchantAdvice": {},
"authorisedAmount": 6
},
"processorTransactionId": "f9c1f0ea-6c2f-4517-b2ca-460645f07e40"
}
}