Skip to content

Create a POS modification

Request

This endpoint facilitates the processing of modifications on previously initiated transactions that have not yet been fully processed or captured. Supported modification actions include refunds, captures, incremental authorisations, and voids. Upon successful execution, it returns a unique reference for the modification request, allowing for easy tracking and reconciliation.

Path
systemTransactionIdstring, [ 36 .. 36 ]^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...required

The unique systemTransactionId with which you want to process an operation.

Example:1ed768bb-e88a-4636-91ae-67927ccbb02b
Bodyapplication/jsonrequired

Modifications to a previous transaction.

amountsobjectrequired

Details of the amount including transaction and gratuity values and its associated currency.

merchantstring, <= 20 characters(merchant)required

A unique identifier assigned by PXP to represent a merchant entity, such as a store, hotel, or website, within the payment processing system. This identifier is crucial for routing transactions to the correct merchant account, ensuring accurate processing, settlement, and reporting. Merchants receive this value upon registration or integration with PXP, and it must be included in transaction requests to identify the merchant for whom the transaction is being processed.

Example:"MERCHANT-1"
merchantTransactionIdstring, <= 50 characters(merchantTransactionId)required

Represents a unique transaction reference assigned by you, the merchant, to identify individual transactions. This identifier serves as a primary means of communication regarding the transaction status between you and PXP. It is essential to maintain uniqueness for each transaction, ensuring accurate tracking and communication throughout the transaction lifecycle.

Example:"This_is_my_merchant_transaction_id"
merchantTransactionDatestring, (date-time)(merchantTransactionDate)required

Specifies the date and time when the transaction was initiated by the merchant. This timestamp is crucial for tracking the transaction throughout its lifecycle and for chronological order analysis. The date and time format follows the ISO 8601 standard, ensuring consistency and ease of interpretation in global contexts. It facilitates the accurate and precise logging of transaction initiation times, aiding in transaction management and reconciliation processes between the merchant and PXP.

Example:"2021-10-27 08:51:02.826445+00:00"
operationstringrequired

The operation to be applied to the previous transaction. This field specifies actions such as refund, void, capture, or incremental adjustments to a transaction.

Enum:"Capture""FinalCapture""Incremental""Refund""Void"
Example:"Capture"
sitestring, <= 50 characters(site)required

The unique site identifier associated with the transaction. This could represent a physical location, website, or any other distinct entity where the transaction occurs. The value for this field is generated by PXP.

Example:"SITE-1"
offerDccbooleanrequired

Whether to offer Dynamic Currency Conversion to the customer during the transaction. Note: This is primarily used for Capture operations but is no longer actively supported.

Example:false
systemTransactionIdstringrequired

The system transaction identifier from the original transaction that is being modified.

Example:"SYS-ABC123-ORIG"
statusCallbackUrlstring(statusCallbackUrl)

The webhook URL that PXP should send status updates to, if the Return status packets feature is enabled for the device. This overrides the webhook URL configured in the Unity Portal.

Example:"http://192.168.204.43:5000/statuspacket"
curl -i -X POST \
  https://api-services.pxp.io/api/v1/pos-transactions/1ed768bb-e88a-4636-91ae-67927ccbb02b/modifications \
  -H 'Content-Type: application/json' \
  -d '{
    "merchant": "MERCHANT-1",
    "site": "SITE-1",
    "merchantTransactionId": "This_is_my_merchant_transaction_id",
    "merchantTransactionDate": "2024-01-27T08:51:02.826Z",
    "systemTransactionId": "SYS-ABC123-ORIG",
    "operation": "Refund",
    "offerDcc": false,
    "amounts": {
      "currencyCode": "EUR",
      "transaction": 30.32
    }
  }'

Responses

Modifications response

Bodyapplication/json
statestringrequired

The current state of the transaction.

Enum:"Authorised""Captured""Cancelled""Error""Refused"
Example:"Authorised"
stateDataobject(stateData)

Key value pair for various state data. Learn more about how this works.

Example:
{ "code": "CRD000", "message": "Approved" }
approvalCodestring(approvalCode)^[A-Z]

A unique identifier code provided by the authorizing entity, indicating approval or reference for the transaction. This code typically consists of alphanumeric characters, starting with an uppercase letter, and serves as a key reference for authorisation verification.

Example:"A123456"
merchantTransactionIdstring, <= 50 characters(merchantTransactionId)

Represents a unique transaction reference assigned by you, the merchant, to identify individual transactions. This identifier serves as a primary means of communication regarding the transaction status between you and PXP. It is essential to maintain uniqueness for each transaction, ensuring accurate tracking and communication throughout the transaction lifecycle.

Example:"This_is_my_merchant_transaction_id"
systemTransactionIdstring, [ 36 .. 36 ](systemTransactionId)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The system transaction Id is a unique identifier generated by PXP for each transaction. It serves as a reference for tracking and querying transactions within the PXP system. This Id is crucial for performing modifications or querying transaction details.

Example:"1ed768bb-e88a-4636-91ae-67927ccbb02b"
merchantTransactionDatestring, (date-time)(merchantTransactionDate)

Specifies the date and time when the transaction was initiated by the merchant. This timestamp is crucial for tracking the transaction throughout its lifecycle and for chronological order analysis. The date and time format follows the ISO 8601 standard, ensuring consistency and ease of interpretation in global contexts. It facilitates the accurate and precise logging of transaction initiation times, aiding in transaction management and reconciliation processes between the merchant and PXP.

Example:"2021-10-27 08:51:02.826445+00:00"
fundingDataobject

Funding data specifying the payment method used for the transaction. It includes essential information about a card involved in a transaction, such as its scheme, payment account reference, and token IDs. Additionally, it provides verification results for enhanced security, such as CVC and AVS checks, enabling you to ensure transaction integrity and mitigate fraud risks efficiently. This object is returned if the transactionMethod.fundingType is card or schemeToken.

dccDataobject

Details about the Dynamic Currency Conversion (DCC) for the transaction, including rate selection, amounts in local and cardholder currencies, exchange rate, and provider details.

Response
{ "state": "Captured", "stateData": { "code": "CRD000", "message": "Transaction captured successfully" }, "approvalCode": "123456", "merchantTransactionId": "This_is_my_merchant_transaction_id", "systemTransactionId": "1ed768bb-e88a-4636-91ae-67927ccbb02b", "merchantTransactionDate": "2024-01-27T08:51:02.826Z", "fundingData": { "maskedPrimaryAccountNumber": "************1234", "cardScheme": "Visa", "expiryMonth": "12", "expiryYear": "2025", "gatewayTokenId": "1ed768bb-e88a-4636-91ae-67927ccbb03a", "pointOfInteraction": {}, "emvDataResponse": {}, "providerResponse": {} } }