Create a Sale or Refund
Create a Sale or Refund transaction that attempts to transfer funds between the Payer and the Merchant using a specific Payment Method. The Sale transaction can be flagged for automatic capture (default) or flagged as requiring a separate capture action later. Availability of refunds that do not link directly to a previous Sale transaction depends on your live configuration.
Authorization
bearerAuth Access token from POST /accesstoken, sent as Authorization: Bearer <token>.
In: header
Header Parameters
Integrator generated value submitted in the request header that is checked to ensure the same value has not been seen in the last 24 hours. It is used to ensure idempotency is maintained with this action.
1 <= length <= 50The version of the API to execute the request.
1 <= length <= 50"2021-03-22"Request Body
application/json
A meaningful label that better identifies the account.
1 <= length <= 50Describes whether the transaction is a SALE, that moves funds from Payer to Merchant, or a REFUND where funds move from Merchant to Payer.
SALE- indicates the movement, or the attempt to move, funds from payer to a merchant.REFUND- indicates the movement, or the attempt to move, funds from merchant to the payer.
1 <= length <= 50"SALE"Value in
- "SALE"
- "REFUND"
Describes whether the transaction was processed in a face to face(CP) scenario or a Customer Not Present (CNP) scenario.
CP- A Customer Present transaction is when the payer and the merchant are in direct face to face contact when exchanging payment method information to fulfill a transaction. e.g. in a store and paying at the counter that is attended by a clerk.CNP- A Customer NOT Present transaction is when the payer and the merchant are not together when exchanging payment method information to fulfill a transaction. e.g. a transaction executed from a merchant's website or over the phone
1 <= length <= 50Value in
- "CP"
- "CNP"
This is the country the merchant is domiciled in. For example, if the merchant is based in Canada it must be set to CA.if the merchant is based in England it must be set to GB.if the merchant is based in USA it must be set to US.The country in ISO-3166-1(alpha-2 code) format.
2 <= length <= 2Indicates whether the transaction is to be captured automatically, later or later using more than 1 partial capture.
AUTO- If a transaction is authorized, funds will exchange between the payer and merchant automatically and as soon as possible.LATER- If a transaction is authorized, funds will not exchange between the payer and merchant automatically and will require a subsequent separate action to capture that transaction and start the funding process. Only one successful capture is permitted.MULTIPLE- If a transaction is authorized, funds will not exchange between the payer and merchant automatically. One or more subsequent separate capture actions are required to capture that transaction in parts and start the funding process for the part captured. One or many successful capture are permitted once the total amount captured is within a range of the original authorized amount.- 'LATER_FINAL' - If a transaction is authorized, funds will not exchange between the payer and merchant automatically and will require a subsequent separate action to capture that transaction and start the funding process. In this case, the separate capture amount must be the same as the initial auth.
1 <= length <= 50"AUTO"Value in
- "AUTO"
- "LATER"
- "MULTIPLE"
- "LATER_FINAL"
Indicates the total or expected total of captures that will executed against a transaction that can be captured multiple times.
Indicates if the transaction can be authorized using another non-standard model where the amount is not fully authorized at the time the transaction is created.
PARTIAL- Indicates if the transaction can be or was authorized for an amount less than the requested amount. This is available for CP channel. The outstanding balance, not yet authorized, can be processed again using a different card.DEFERRED- Indicates if the transaction can be created offline and authorized later when the systems are back online
1 <= length <= 50Value in
- "PARTIAL"
- "DEFERRED"
This field should be sent on all Deferred Authorizations and reflect the time the transaction was created in the POS application.
date-timeThe amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomination of the related currency. and with no decimal point.
1 <= length <= 50The currency of the amount in ISO-4217(alpha-3).
3 <= length <= 3Value in
- "USD"
- "EUR"
- "CAD"
- "AFN"
- "DZD"
- "ARS"
- "AMD"
- "AWG"
- "AUD"
- "AZN"
- "BSD"
- "BHD"
- "THB"
- "PAB"
- "BBD"
- "BYN"
- "BZD"
- "BMD"
- "VEF"
- "BOB"
- "BRL"
- "BND"
- "BGN"
- "BIF"
- "CVE"
- "CLP"
- "COP"
- "KMF"
- "CDF"
- "NIO"
- "CRC"
- "CUP"
- "CZK"
- "GMD"
- "DKK"
- "MKD"
- "DJF"
- "STD"
- "DOP"
- "VND"
- "XCD"
- "EGP"
- "SVC"
- "ETB"
- "FKP"
- "FJD"
- "HUF"
- "GHS"
- "GIP"
- "HTG"
- "PYG"
- "GNF"
- "GYD"
- "HKD"
- "UAH"
- "ISK"
- "INR"
- "IRR"
- "IQD"
- "JMD"
- "JOD"
- "KES"
- "PGK"
- "HRK"
- "KWD"
- "AOA"
- "MMK"
- "LAK"
- "GEL"
- "LBP"
- "ALL"
- "HNL"
- "SLL"
- "LRD"
- "LYD"
- "SZL"
- "LSL"
- "MGA"
- "MWK"
- "MYR"
- "MUR"
- "MXN"
- "MDL"
- "MAD"
- "MZN"
- "BOV"
- "NGN"
- "ERN"
- "NAD"
- "NPR"
- "ANG"
- "ILS"
- "TWD"
- "NZD"
- "BTN"
- "KPW"
- "NOK"
- "MRO"
- "TOP"
- "PKR"
- "MOP"
- "CUC"
- "UYU"
- "PHP"
- "GBP"
- "BWP"
- "QAR"
- "GTQ"
- "ZAR"
- "OMR"
- "KHR"
- "RON"
- "MVR"
- "IDR"
- "RUB"
- "RWF"
- "SHP"
- "SAR"
- "RSD"
- "SCR"
- "SGD"
- "PEN"
- "SBD"
- "KGS"
- "SOS"
- "TJS"
- "SSP"
- "LKR"
- "XSU"
- "SDG"
- "SRD"
- "SEK"
- "CHF"
- "SYP"
- "BDT"
- "WST"
- "TZS"
- "KZT"
- "TTD"
- "MNT"
- "TND"
- "TRY"
- "TMT"
- "AED"
- "UGX"
- "CLF"
- "COU"
- "UZS"
- "VUV"
- "KRW"
- "YER"
- "JPY"
- "CNY"
- "ZMW"
- "ZWL"
- "PLN"
The amount of the gratuity for a transaction.
1 <= length <= 50The amount of the transaction that relates to cashback.
1 <= length <= 50The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method.
1 <= length <= 50This indicates whether the surcharge is a DEBIT or CREDIT to the merchant
1 <= length <= 50Value in
- "DEBIT"
- "CREDIT"
The amount that reflects the charge the merchant applied to the transaction for availing of a more convenient purchase.
1 <= length <= 50Merchant defined field to reference the transaction.
8 <= length <= 50Merchant defined description for the transaction.
1 <= length <= 50Indicates the language the transaction was executed in. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2)
1 <= length <= 50This flag is set by the merchant to indicate if duplicate checking on this transaction can be skipped
1 <= length <= 50"NO"Value in
- "YES"
- "NO"
Indicates the source IP Address of the system used to process the transaction with Global Payments.
1 <= length <= 50A merchant defined reference for the location that created the transaction.
1 <= length <= 50The merchant's user reference for the transaction. This represents the person who processed the transaction on the merchant's behalf like a clerk or cashier reference.
1 <= length <= 50The merchant's payer, or customer, reference for the transaction. This represents the person or company who is paying for goods and services provided by the merchant.
1 <= length <= 50Indicates what industry the merchant belongs to.
1 <= length <= 50"OTHER"Value in
- "HOTEL"
- "AIRLINE"
- "RETAIL"
- "TOP_UP"
- "PLAYER"
- "CD_KEY"
- "DEBT_REPAYMENT"
- "HEALTHCARE"
- "ACCOUNT_FUNDING_TRANSACTIONS"
- "BILL_PAY"
- "OTHER"
- "GAMING"
A four-digit number used to classify the merchant into an industry or market segment.
1 <= length <= 50This is the merchants unique identifier that enables them to accept Benefit cards. In the US, this is the Food and Consumer Service (FCS) ID and it is required for EBT Food Stamp and Electronic Voucher transactions.
Indicates whether the Merchant or the Payer initiated the creation of a transaction.
PAYER- The transaction was initiated by the customer who is paying the merchant.MERCHANT- The transaction was initiated by the merchant, who is getting paid by the payer.
1 <= length <= 50Value in
- "PAYER"
- "MERCHANT"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/transactions" \ -H "X-GP-Version: 2021-03-22" \ -H "Content-Type: application/json" \ -d '{ "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "amount": "1999", "currency": "EUR", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "DE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "authentication": { "id": "AUT_d455464a-115c-46b7-9622-6829e0326e23" }, "card": { "number": "4263970000005262", "expiry_month": "05", "expiry_year": "30", "cvv": "852", "cvv_indicator": "PRESENT", "avs_address": "Flat 123", "avs_postal_code": "50001" } } }'{ "id": "TRN_kJt5dxxxxxxIqSj0lRwr8GYGxxxxq7", "time_created": "2026-03-10T08:21:27.127Z", "time_last_updated": "2026-03-10T08:21:27.127Z", "type": "SALE", "status": "CAPTURED", "channel": "CP", "capture_mode": "AUTO", "amount": "2278", "currency": "USD", "country": "US", "merchant_id": "MER_7a20bd695b6c4xxxxxxedb8300xxxx66", "merchant_name": "internet2", "account_id": "TRA_ae0784xxxxxx46c0b676xxxxxx9c434a", "account_name": "Transaction_Processing", "reference": "TRANS-20180114123459878", "merchant_benefits_reference": "1234567", "payment_method": { "result": "A0000", "message": "Success", "entry_mode": "MANUAL", "card": { "funding": "FOOD_STAMP", "available_balance": "654321", "brand": "EBT", "masked_number_last4": "XXXXXXXXXXXX9011", "authcode": "TAS681", "brand_reference": "123456", "brand_time_created": "2026-03-10T01:21:26" } }, "batch_id": "BAT_12345", "action": { "id": "ACT_kJt5d1zHo1bIqSj0lRwr8GYGXF9Oq7", "type": "AUTHORIZE", "time_created": "2026-03-10T08:21:27.127Z", "result_code": "SUCCESS", "app_id": "VuT4qLPs98hxxxxxxxkWz3KDIuAumlwz", "app_name": "xxxx_transit_app" }}List Transactions GET
Get a list of transactions recently processed, using criteria passed in the query string. Page through the result set to access all records. Availability of this feature in production depends on your allowed live configuration. Please contact Global Payments before coding this feature to confirm it will be available to you when you go live.
Get a Transaction GET
Get a single view of a transaction using the transaction id. Availability of this feature in production depends on your allowed live configuration. Please contact Global Payments before coding this feature to confirm it will be available to you when you go live.