# Global Payments Developer Documentation Full Documentation > Reference and integration guides for the Global Payments API, SDKs, plugins and hosted payment products. ## Getting Started Source: https://developer.globalpayments.com/docs/getting-started/overview.md # Getting Started Welcome to our developer portal! We’re happy you’re here. Here you can learn everything you need to know about our integration process — from setting up a free account so you can simulate taking payments, trying out different features, to signing up with us to begin taking payments for real. This page will help you get started quickly, whether you're new to payments or a pro ready to explore what Global Payments has to offer. ## New to payments? If you’re new to the payments industry, you'll probably want to learn the basics first, such as how a card transaction works and how the key players interact with each other. The links below will provide a solid introduction to payments along with a handy glossary for the common terms you'll see throughout our portal. ### [Intro to Payments](https://developer.globalpayments.com/docs/getting-started/new-to-payments/introduction.md) Learn about the key industry players and how they interact. ### [Payments Glossary](https://developer.globalpayments.com/docs/getting-started/new-to-payments/glossary.md) Get familiar with payment terms we use frequently on our portal. ## Prerequisites When you're ready to get started, there are a few things you need to do first. One of the most important is getting access to our testing Sandbox. For this, you'll need to get registered here on our portal and create an app to generate test credentials. ### [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md) Learn how to get a free account and test credentials. Once you've registered, all you need to do is create your first access token so you can execute API requests. ### [Create an Access Token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) Learn how to create a token to access our API. ## Start building and testing Once you’ve taken the first few steps, you’re ready to build your integration. It’s important to know what your integration options are and what free resources we provide to help. ### [Build Your Integration](https://developer.globalpayments.com/docs/getting-started/your-integration.md) Start your payments journey using our portal’s resources. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, fork, or import a copy of our API collection. ### [Testing](https://developer.globalpayments.com/docs/getting-started/testing.md) Understand the test cases to build your integration with confidence. ## Start taking payments for real When you’re done testing and are ready to onboard with us, we'll help you through the validation process for direct API and SDK integrations. ### [Going Live](https://developer.globalpayments.com/docs/getting-started/going-to-production.md) Validate your integration so you can start taking payments for real. ## Get to know our portal As you navigate around our site, you're going to find a lot of useful information — the kind of stuff you're going to want to hang on to. This portal provides high-level overviews with links to a wealth of detailed information about integration options, building for different types of payments, managing risk, and more. We also provide an up-to-date changelog and free test resources to make integration easier. If you haven't already registered, we recommend that you do that now, before you start exploring. Once registered, you’ll see a Save button in the top-right corner of every page in the portal that you can use to bookmark your favorite pages for quick reference whenever you need them. You can access and manage your saved pages on your account page. [Get Registered Now](https://developer.globalpayments.com/user/b2c-login) ## Register / Create an App Source: https://developer.globalpayments.com/docs/getting-started/register.md # Register / Create an App We’re happy you’ve decided to join us! There are a couple things you need to do before you start your payments journey with us. ## Get registered To use our free Sandbox test environment, you must be a registered user of our developer portal. Once registered, you can manage app test credentials for your different projects and test your integration before going live. You can also try out new features, save your favorite pages to pick up where you left off, and join our Research Community to preview new features. > If you already have an account on our Reporting or Disputes tools for merchants, you can use the same login for our developer portal. You just need to add your company name and region. To get registered, click **Log In | Register** in the top-right corner of any page or click below. [Log In | Register](https://developer.globalpayments.com/login) ## Apps and Testing Environments We use the term _app_ to describe a set of credentials that developers need to execute API actions on our gateway. Each app consists of an App ID and App Key, which together are used to create a bearer token that allows you to access our endpoints and transact using the REST API. Each app also includes permission settings that allow you to customize its capabilities, which in turn determine what API actions are allowed when sending requests. > App credentials (App ID and App Key) are specific to merchants and should never be shared with any unauthorized person. ### Permissions define capabilities Capabilities refer to our payment-processing solutions such as Transaction Processing, Tokenization, Dispute Management, Settlement Reporting, and so on. By default, all of these capabilities are enabled for any app you create. You can customize permissions simply by clearing the checkboxes for any capabilities you don't want. For more information on capabilities, see [Account Capabilities](https://developer.globalpayments.com/api/definitions/account-capabilities.md) in our API References. You can further customize each capability by deciding which individual request types (GET, POST, PATCH) for transactions, verifications, and authentications you want to allow. For example, for `dispute_management`, you could allow only `[GET] Disputes` to run a certain test scenario. We've made our test apps highly configurable to give you the flexibility you need for a wide variety of testing scenarios. For example, you can try a new capability to see how it works before adding it to your Production account. Or, maybe you have several merchants you’re developing for and each one has (or will need) different capabilities enabled. In that case, you could create a test app for each merchant. #### Sandbox test environment For Sandbox testing, you create your own apps from your account page here in the developer portal and configure them as needed for testing your integration. Each test app can serve as an individual project you’re working on — for example, one app to test your ecommerce website and a second to test your ecommerce mobile application. However, you really only need one test app to access the Sandbox endpoint. ```json https://apis.sandbox.globalpay.com ``` #### Production live environment When you have a real Production account with us, an account manager will configure your app(s) based on the capabilities you sign up for and how many linked businesses you have. In Production, capabilities are referred to as _accounts_ because the `account_name` and `account_id` fields are used to identify what data your API request can access when you're processing real payments with us. Your account manager can add new accounts for you at any time, not just during the onboarding process. ```json https://apis.globalpay.com ``` ## Create an app (generate keys) Before you can start testing your integration, you need to create your first test app. This is necessary to generate the test credentials needed to access our Sandbox endpoint — the App ID and App Key described in the section on [apps and testing environments](#apps-and-testing-environments). To create an app: 1. Log into your account in the Developer Portal. 2. Click the Profile icon and select **My Account** to access your dashboard. *Note: When you're logged in, you'll be able to access your dashboard through this menu from any page in the portal.* 3. In the My Sandbox Credentials section of your dashboard, click the **Create a New App** arrow, and select **Unified Payments**. This will bring up the Create an App page. 4. On the Create an App page, enter a name for your test app in the **Display Name** field (for example: *UK Website or US Mobile App Transaction Processing*). *Note: The display name can be changed at any time. However, the machine-readable app\_name can’t be changed once the app is saved.* 5. Optional: By default, a new app has permissions enabled for all capabilities. If this is what you want, you can skip to the next step. However, if you want to limit them, just follow these steps: 1. For each capability you want to limit, click on the down arrow in the **Permissions** field to bring up the permission dialog for that capability. 2. To search for a certain request type (for example, GET), use the search box. 3. If you want to disable all the permissions, clear the **Select All** checkbox. 4. If you're not sure what permissions you want or want to familiarize yourself with those available for a given capability, you can simply scroll through the list. 6. Once you have configured the permissions you need, click down arrow in the **Permissions** field again to close the dialog. Any changes will be reflected in the blue "Enabled" number. *Note: Your changes are not yet saved at this point.* 7. When you're finished creating the app, scroll down to the bottom of the page and click **Generate Keys**. *Your app credentials will now appear on the left panel. You can copy them to use in the configuration section of your API request.* 8. To return to your account, you can click the breadcrumb link at the top of the page or on your profile in the upper right corner. Your new app will now appear in the **My Sandbox Credentials** table. ## Manage your apps You can create as many test apps as you need. We suggest giving them useful, intuitive names so that you can easily keep track of them. For example, you may want to indicate the location that your simulated transactions will originate from or the permissions that the test app will have. So, you might name it something like, *US Apparel Online Transaction Processing*. Once you’ve created a test app, you can edit the app to change the display name, view (and copy your credentials, or reconfigure permissions at any time. You can’t delete a test app, but if you no longer want to use it, you can switch it off. For more information on test apps, you can refer back to the section on [working with apps in our testing environments](#apps-and-testing-environments). To view your credentials: 1. Log into your account in the Developer Portal. 2. Click the **Profile** icon and select **My Keys**. 3. In the **My Sandbox Credentials** table, locate the app you want to view keys for in the app list. 4. Click **View Credentials** button to open a dialog box with your credentials. 5. To copy the credentials, click the copy icon. You can then paste the data into the configuration section of your API request. You’ll need to copy and paste both the App Key and App ID in the request. 6. When finished viewing, click **Close**. To edit an app: 1. Log into your account in the Developer Portal. 2. Click the **Profile** icon and select **My Keys**. 3. In the **My Sandbox Credentials** section, locate the app you want to edit in the app list. 4. Click **Edit App** button to open the App Details page. 5. To edit your app’s name, click in the **Display Name** field and enter the new name. When finished, scroll down to click **Save**. Or, click **Cancel **to cancel.* Note: The machine-readable name for your app (App Name field) can’t be changed.* 6. To configure capabilities and permissions for your app, use the **App Permissions** section. (For more information on capabilities, see [Account Capabilities](https://developer.globalpayments.com/api/definitions/account-capabilities.md) in API References.) 1. For each capability you want to limit, click on the down arrow in the **Permissions** field to bring up the permission dialog for that capability. 2. To search for a certain request type (for example, GET), use the search box. 3. If you want to disable all the permissions, clear the **Select All **checkbox. 4. If you're not sure what permissions you want or want to familiarize yourself with those available for a given capability, you can simply scroll through the list. 5. Once you have configured the permissions you need, click down arrow in the **Permissions** field again to close the dialog. Any changes will be reflected in the blue "Enabled" number. *Note: Your changes are not yet saved at this point.* 7. When you’re finished editing your app, scroll down to the bottom of the page and click **Save**. ## Apps glossary Here are some important terms related to app creation and management. | Term | Definition | | ------- | ---------- | | Account(s) | Payment-processing capabilities that can be added when you sign up with us, the most fundamental of which is Transaction Processing. Others include Tokenization, Dispute Management, Settlement Reporting, Risk Assessment, etc. Each capability you add is considered an account. You can only execute API actions based on what accounts you have configured. | | Account ID | Unique identification of a capability type (i.e., one of our payment-processing solutions) that allows certain data to be accessed through an API request. When you want to use a capability in an API call, you need to include its ID in the API request’s account_id field. The first three letters identify which account capability it is (see Account Name entry). For example, an Account ID for Transaction Processing (TRA) would look something like this: TRA_123456789a123456789b123456789c | | Account Name | Standardized name of a capability type (i.e., one of our payment-processing solutions) that allows certain data to be accessed through an API request. When you want to use a capability in an API call, you need to include its name in the API request’s account_name field. Examples include: transaction_processing, dispute_management, risk_assessment, settlement_reporting, etc. | | App | Set of credentials that you need to execute API actions on our server. Each app consists of an App ID and App Key, which together serve as a bearer token to access our endpoints. An app also includes customized capabilities, which in turn determine what API actions are allowed when sending requests. For more information, see the [Apps and testing environments](#apps-and-testing-environments) section. | | App Name | Machine-readable version of the display name you give your app when you first create it (i.e., underscores replace blank spaces). It’s created automatically and can be edited before the app is first saved but not after. Allowed characters: `[a-z_0-9]`. | | App ID & App Key | Set of credentials needed to access our server and execute API actions. To generate these credentials, you need to create a test app. Only one test app is necessary to access our Sandbox endpoint, but you might want to create several for different testing projects. **Note: These credentials are specific to a merchant and should not be shared.** | | Capability | One of our payment-processing solutions, the most fundamental of which is Transaction Processing. Others include Tokenization, Dispute Management, Settlement Reporting, Risk Assessment, etc. In Production, capabilities are referred to as _accounts_. | | Display Name (App) | Name that you give your test app. You can edit it at any time, but its associated machine-readable name (App Name field) cannot be edited once the test app has been created. | | Merchant | A person or business entity who is authorized to use our API. A merchant can only execute API actions based on the accounts configured for them and the permissions on those accounts. | | Merchant ID | System-generated unique identifier associated with an app. It’s specific to our API and is used to identify a merchant on our platform. The identifier u the prefix MER. For example: MER_7e3e2c7df34f42819b3edee31022ee3f | | Permissions | The individual request types (GET, POST, PATCH) for transactions, verifications, and authentications that are allowed for a capability in a test app. You can edit permissions for each capability associated with a test app. All required permissions are enabled by default when you first create a test app. | ## Next steps Now that you have your test app credentials, there's one more thing you need to do before you can start building your integration: [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md). ## Create an Access Token Source: https://developer.globalpayments.com/docs/getting-started/generate-token.md # Create an Access Token An access token is a unique, single-use key used to access API actions for a limited time and is required for every request to create, edit, or read resources. For example, in order to send a transaction, you first need to create a token to access our API. The actions you'll be able to perform (allowable actions) are based on capabilities you were assigned when you registered for your Developer Portal account. This guide will walk you through the following steps to create an access token, including: * Obtaining your app credentials * Creating a random nonce value * Calculating a secret key * Calling the endpoint * Receiving a response You’ll also find information on how an access token differs from other [token types](#token-types). ## Token types An access token is used only for authentication. It's sometimes mistaken for a payment token, which is another type of token used to substitute sensitive card data in a transaction. While a payment token can be either _single-use_ or _multi-use_, an access token is a _single-use_ token only. There are also some functional differences between payment tokens and access tokens. * **Duration** – Limits how long it is valid for (timeout value) * **Permissions** – Restricts the functionality (required for hosted integrations) Token Duration and Token Permissions can be limited for security purposes. The shorter the duration of a token, the less time it is able to be abused, and the fewer permissions available for a token to access, the less likely bad actors can repurpose it for exploits. Some integration types and features, such as our hosted features, require single permission tokens to avoid this exact problem on the clearweb (aka the surface web). ## Prerequisites Before you can use the steps in this guide to create an access token, you first have do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md#get-registered) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) ## Step 1: Obtain your app credentials Your app credentials are the `app_id` and `app_key`. Your app credentials for testing in Sandbox are located on your account page (to learn how to create them, see [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md)). For Production credentials, check with your account manager. For example: ```JSON app_id = "MN500Q8lk5jp0rEmB5LGvTo27gdQgZln" app_key = "QtOSeNmh3DY6AuMO" ``` > App credentials (App ID and App Key) are specific to merchants and should never be shared with any unauthorized person. ## Step 2: Create a random nonce value A random nonce is a unique string used to calculate the secret key, which you'll do in the next step. The nonce value must be unique. A timestamp makes a good nonce value because the time changes every time an access token is run, which makes it a unique value. For example: ```JSON nonce="2029-03-14T13:24:10.832Z" ``` ## Step 3: Calculate the secret key For security reasons, you should never send your `app_key` in a request. That’s why we use encryption to make it secret. The secret key consists of a SHA512 hash of the nonce concatenated with the `app_key`. For example: ```JSON // secret = SHA512(nonce + app_key) secret = SHA512(2029-03-14T13:24:10.832ZQtOSeNmh3DY6AuMO) ``` ## Step 4: Call the endpoint Now it’s time to send the values from the previous steps to the Access Token endpoint. > Never send the app key in a request. Always store it securely. #### Sample request ```JSON curl -v -X POST https://apis.globalpay.com/ucp/accesstoken -H "Content-type: application/json" -H "X-GP-Version: 2021-03-22" -d ' { app_id="" nonce="", secret="", grant_type="client_credentials" } ' ``` ## Step 5: Receive a response When you call the endpoint, you'll receive the token response and its permissions, which you can now use in the Authorization header field in subsequent API requests. #### Sample response ```JSON { "token": "qdYUdzfZfigqTppQOHVwrbJwLlNd", “Type”: “Bearer”, "scope": { "merchant_id": "MER_8cc2638c8a14453fa98e08ad51511a1a", "merchant_name": "GPQA_IPP_CERT", "accounts": [ { "id": "TRA_34b9806b35bd4012bd23206a00abc1a1", "name": "GP API", "permissions": [ "BAT_PUT_Close", "TRN_POST_Adjustment", "TRN_POST_Authorize", "TRN_POST_Capture", "TRN_POST_Force", "TRN_POST_Initiate", "TRN_POST_Reauthorize", "TRN_POST_Refund", "TRN_POST_Refund_Standalone", "TRN_POST_Reverse", "TRN_POST_Verify" ] } ] }, "app_id": "MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "My app name", "date_created": "2019-03-20T10:42:23.527Z", "seconds_to_expire": "86399", "email": "dev.mcdev@example.com" } ``` ## Troubleshooting The two most common error messages errors users experience when trying to pass an access token in a request are: * Invalid Access Token – This most often occurs when a token request is rejected, but your website or application attempts a transaction anyway. * Access Token Expired – This occurs if a token is used after its timeout value has passed (`interval_to_expire` or `seconds_to_expire` fields). If you run into issues passing a token, the following questions will help you troubleshoot: 1) Are the `app_id` and `app_key` you’re using correct? 2) Was the secret key calculated correctly and properly entered in the field? 3) Are other mandatory fields you included in the request correct (for example, `grant_type`)? 4) Do you have the right account permissions for your request? If you’re not sure, check with your account manager. ## Next steps Now that you have your test app credentials and an access token, it's time to start [building your integration](https://developer.globalpayments.com/docs/getting-started/your-integration.md). ## Build Your Integration Source: https://developer.globalpayments.com/docs/getting-started/your-integration.md # Build Your Integration To start building your integration, you first need to choose an integration path. Then see what documentation and other resources we provide to help you build and test your integration for free. ## Choose your integration path Using a REST framework, our API provides a single integration to connect into numerous regions, channels, and payment methods worldwide. We have solutions for every level of expertise: * **No code** – Download one of our compatible plugins like WooCommerce or Adobe Commerce (formerly Magento) to add an out-of-the-box payment page to your website. * **Low code** – Use an SDK or a client-side library to simplify your integration and get to market faster. * **High code** – Use our REST API to build a highly customized integration that you control and use to send direct API requests. ### [Plugins](https://developer.globalpayments.com/docs/integration-options/plugins.md) **Level: No Code** Download a feature-rich shopping cart or platform extension created for us. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) **Level: Low Code** Access our server-side software development kits and client-side libraries. ### [API](https://developer.globalpayments.com/docs/integration-options/api.md) **Level: High Code** Build a highly customized integration that you control and can use to send direct API requests. ## Explore our resources You'll find all the free resources you need on our developer portal to make your integration smooth and easy, no matter which path you choose. * [Guides](#guides) * [Technical resources](#technical-resources) * [Sandbox access](#sandbox-access) * [Testing](#testing) ### Guides Our guides provide step-by-step instructions to get you up and running. They include code samples for API requests and responses in JSON, and Java, PHP, and .NET for some products. We've provided overviews for all the key features and products to help you learn more about their business value and use cases. You’ll also find an overview for each of the major sections of our documentation in the links below. ### [Payments](https://developer.globalpayments.com/docs/payments/overview.md) Find ways to accept and manage payments that make the checkout process easier. ### [Risk Management](https://developer.globalpayments.com/docs/risk-management/overview.md) Reduce fraud by better identifying and authenticating online customers. ### [Operations & Reporting](https://developer.globalpayments.com/docs/reporting/overview.md) Use transaction data to better understand your business. ### [Partners](https://developer.globalpayments.com/docs/partners/overview) Create, manage, and act on behalf of your merchants. ### Technical resources Whether you're integrating by SDK or API, we have all the references and examples to help you during your journey with us. ### [API Explorer](https://developer.globalpayments.com/api/overview.md) Test code in an interactive playground and explore API resources and methods. ### [API Definitions](https://developer.globalpayments.com/api/overview.md) Learn how our API works and the common features applicable to all aspects of the API. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, fork, or import a copy of our API collection. ### [SDK References](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/overview.md) See Java, .NET, and PHP code samples and other resources for our products. ### [Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add client-side SDKs via JavaScript, iOS, and Android to your integration. ### Sandbox access Our free Sandbox test environment provides a secure way to build your integrations, allowing you to sample the full range of payment-processing capabilities our API offers. To access our Sandbox, you first need to get registered on this developer portal and create an app. To execute any API requests, you also need to create an access token. ### [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md) Set up a free test account so you can start using our API. ### [Create an Access Token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) Learn how to create a token to access our API. ### Testing Use the following resources to test your integration. ### [Test Case Scenarios](https://developer.globalpayments.com/docs/getting-started/testing.md) Know the test cases you'll need to run during validation to build your integration with confidence. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/postman-overview) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Technical support For more information on the capabilities of this REST API, see our [frequently asked questions](https://developer.globalpayments.com/support/FAQs.md). They cover everything from controlling access token expiration, to how the 3D Secure process works, to how reporting works. For technical support, contact [Integration Support](https://developer.globalpayments.com/support/integration-support) or your account manager. ## Next steps Now that you’re familiar with your integration options and know where to find the resources you need to build an integration, you can use our [Postman collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) to get some hands-on experience building with our API. ## Postman Collection Source: https://developer.globalpayments.com/docs/getting-started/postman-collection.md # Postman Collection Our API Postman collection is available to view, fork, or import (a copy). The collection includes API requests and responses for many of our products, including Transaction Processing, Fraud Management, Settlement Reporting, Dispute Management, and more. You’ll also find practical use cases for both card-present and card-not-present scenarios, including 3D Secure, Transactions, Card Storage, and Refunds. If you’re ready to jump in, just skip to the [Run in Postman](#run-in-postman) section. If you're not familiar with Postman, you can learn more in the [Get Postman](#get-postman) section. ## How to use it If you’re new to our API, we recommend you first read our documentation to get familiar with how things work. For an overview of our learning resources for this developer portal, see [Build Your Integration](https://developer.globalpayments.com/docs/getting-started/your-integration.md). Once you’re ready, we ask that you fork the collection. It comes with a working test app in the environment file that can serve as your test credentials. However, we highly recommend that you register with us and get your own test app credentials (for more information, see [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md)). To start using the API, replace the credentials in the environment file of our Postman collection with your own. ## Use cases The collection contains practical use cases you can implement using our REST API. The below example shows our 3D Secure use cases. ![File tree structure in Postman showing use cases for 3D Secure.](https://developer.globalpayments.com/gh-assets/postman_use-cases.png) **3DS Use Cases in Postman** ## Keep it updated The collection is updated periodically, so keep checking back to make sure you’re using the most recent version. Keep in mind that when we release a new version of the API, you'll need to import the collection again to get any new updates. ## Run in Postman To view, import, or fork our API collection in Postman, click the button below: > The below link is for merchant processing. If you are looking for partner functionality, please reach out to your integration support contact. ## Get Postman If you’re not currently using Postman, you can [create a free account](https://identity.getpostman.com/login) to try it out. Postman offers a simple collaborative platform with an extensive range of features to help you interact more seamlessly with our API. You can run it in a web browser (Chrome, Firefox, and Edge) or download the [Postman app](https://www.postman.com/downloads) to work with it in Microsoft Windows, on your Mac, or a Linux machine. ## Next steps Now it’s time to play in our Sandbox. Experiment as much as you want with our API to build an integration that works perfectly for your use case. When you're ready, you can [go live](https://developer.globalpayments.com/docs/getting-started/going-to-production.md) and start taking payments for real. ## Testing Source: https://developer.globalpayments.com/docs/getting-started/testing.md # Test Case Scenarios ## Overview This section guides developers through real-world key test-cases and edge-cases they may encounter when integrating with us. By walking through these examples, you will gain a clear understanding of how our APIs behave under normal and boundary conditions. We highly recommend that developers follow these guidelines while building integrations and using these guidelines as part of your internal QA testing before go-live. > In order to determine whether below capabilities suit your business needs and are applicable to your region, please contact your account manager or our [sales team](https://developer.globalpay.com/support/sales) for further details. ## **Test Cards** You may use our simulated credit cards to test different scenarios When testing your integration, *never* use real card details or banking information. This is why we provide simulated payment methods including test card numbers that you may use to test different scenarios for your application or website. #### Test Card Data | Test Card Number | Card Brand | Expiry | CVV | Result | | :---- | :---- | :---- | :---- | :---- | | 4263970000005262 | Visa | 05/39 | 599 | Successful transaction | | 5425230000004415 | Mastercard | 05/39 | 599 | Successful transaction | | 374101000000608 | American Express | 05/39 | 1234 | Successful transaction | | 36256000000725 | Diners Club | 05/39 | 1234 | Successful transaction | | 6011000000000087 | Discover | 05/39 | 599 | Successful transaction | | 3566000000000000 | JCB | 05/39 | 599 | Successful transaction | | 135400000007187 | UATP | 05/39 | 599 | Successful transaction | #### Test Card Track and Tag Data The below test track data and tag data will provide a successful transaction for Credit Cards. ``` %B4012002000060016^VI TEST CREDIT^251210118039000000000396?;4012002000060016=25121011803939600000? ``` ``` 9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001 ``` ## Test Cases The API Platform's sandbox environment lets you test your integration without needing to make real charges or payments. To make testing easier, we suggest using the below test cases in the specified amount with information available in the [API Explorer](https://developer.globalpay.com/api/overview) and [Postman Collection](https://developer.globalpay.com/api/postman-collection/overview). #### Platform [**Access Token**](https://developer.globalpay.com/docs/getting-started/generate-token) | Resource | Postman Reference | Steps / Trigger | Description and Expected Result | | :---- | :---- | :---- | :---- | | [**Access Token**](https://developer.globalpay.com/docs/getting-started/generate-token) | [BASIC ACCESS TOKEN](https://www.postman.com/globalproduct-api/gp-api-public-workspace/request/mrvzq6j/access-token) **Description** : A basic access token is a unique, single-use key that allows access to API actions for a limited time. It is required for every request that creates, edits, or reads resources. | The NONCE value must be generated by the client and should be unique for each request. | A successful request returns a Bearer Token, which must be included in the Authorization header of subsequent API calls. | | [**Access Token**](https://developer.globalpay.com/docs/getting-started/generate-token) | [SINGLE PERMISSION ACCESS TOKEN](https://www.postman.com/globalproduct-api/gp-api-public-workspace/request/8bpuuki/access-token-with-single-permission) **Description** : A restricted access token with single permission is used for specific operations such as tokenization, reporting, or other predefined actions for a certain amount of time. | Permissions: Restrict the token by specifying required permissions, for example: "permissions": \["PMT\_POST\_Create\_Single"\] Expiration: Limit token validity by setting an interval, for example: "interval\_to\_expire": "10\_MINUTES" | The token is returned as a Bearer Token with single-use permissions. This token can be used for API calls that generate a single-use card token. | | [**Access Token**](https://developer.globalpay.com/docs/getting-started/generate-token) | [HANDLE EXPIRED TOKEN](https://www.postman.com/globalproduct-api/gp-api-public-workspace/request/mrvzq6j/access-token) **Description** : This scenario ensures the system can detect an expired access token and automatically issue a new token to continue processing API requests. | Set the access token to expire quickly: "seconds\_to\_expire": 60 Call the VERIFY API immediately; it should succeed because the token is still valid. Wait 61 seconds and call the VERIFY API again, it should return: "Access token expired" The system should automatically generate a new access token and continue processing requests. | A new Bearer token is issued automatically when the old token expires. Subsequent API calls continue successfully using the newly issued token. | #### Online Payments [**Pre Sale Actions**](https://developer.globalpay.com/docs/payments/manage-payments/verify-guide) | Resource | Postman Reference | Test Card Details | Description and Expected Result | | ----- | ----- | ----- | ----- | | [**VERIFY**](https://developer.globalpay.com/docs/payments/manage-payments/verify-guide) | [VERIFY](https://developer.globalpay.com/api/verifications#/Verify/createVerification) **Description** : Confirm if a payment method can be used in the creation of a transaction. The verify function allows you to query a card and determine if it's available for payment. | Visa MasterCard American Express Diners Club Discover JCB | CARD should be successfully verified with status "VERIFIED". | [**Sale Actions**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | Resource | Postman Reference | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/cnavu7x/auth) **Description :** Initiates a sale transaction to transfer funds from the payer to the merchant using the specified payment method. | **"amount": "1000"** | Visa MasterCard American Express Diners Club Discover JCB | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [DELAYED CAPTURE TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/uleca9n/preauth-and-capture) **Description :** Authorizes the customer's card without immediately placing the transaction in the settlement file. A separate capture request is required to complete the transaction at a later time. | **"amount": "1001"** | Visa MasterCard American Express Diners Club Discover JCB | The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The transaction should appear in the checkout process as approved. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [MAIL ORDER / TELEPHONE ORDER TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/1vtzqj6/moto) **Description :** Supports transactions entered via Mail Order or Telephone Order (MOTO), where cardholder data is provided by the customer remotely. | **"amount": "1002"** | Visa MasterCard American Express Diners Club Discover JCB | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be visible in the checkout interface. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [PARTIAL CAPTURE TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/7dstw11/multi-capture) **Description :** Processes a partial authorization (capture), where approval is granted for an amount less than originally requested. | **"amount": "1003"** | Visa MasterCard American Express Diners Club Discover JCB UATP | The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved partial and remaining captures will be reflected in the checkout system. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION WITH PAYMENT TOKEN](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/2ndw1ro/auth-with-payment-token) **Description :** Executes a capture transaction using a tokenized payment method (PMT\_ID) instead of a PAN. | **"amount": "1004"** | Visa MasterCard American Express Diners Club Discover JCB | The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The transaction should be reflected as approved in the checkout interface. | [**Risk Management**](https://developer.globalpay.com/docs/risk-management/overview) | Resource | Postman Reference | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [3D SECURE TRANSACTIONS](https://developer.globalpay.com/docs/risk-management/3D-secure/overview) | [FRICTIONLESS FLOW](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/w8fk64t/3ds-authorization-frictionless) **Description :** Used when the issuing bank determines that no customer challenge is required during 3DS authentication. | **"amount": "2001"** | Card Number : 4222000006724235 Expiry : 05/39 CVV : 599 Card Number : 4263970000005262 Expiry : 12/30 CVV : 123 | The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The transaction should be reflected as approved in the checkout interface. | | [3D SECURE TRANSACTIONS](https://developer.globalpay.com/docs/risk-management/3D-secure/overview) | [CHALLENGE FLOW](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/mo9n065/3ds-auth-challenge) **Description :** Used when a customer challenge is required during 3DS authentication | **"amount":"2002"** | Card Number : 4012001038488884 Expiry : 05/39 CVV : 599 Card Number : 4222000001227408 Expiry : 05/29 CVV : 599 | The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The transaction should be reflected as approved in the checkout interface. | | [3D SECURE TRANSACTIONS](https://developer.globalpay.com/docs/risk-management/3D-secure/overview) | [NOT AUTHENTICATED FLOW](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/50zoj8j/3ds-auth-decline) **Description :** This flow simulates when card authentication fails and a new card must be requested | **"amount":"2003"** | Card Number : 4222000002144131 Expiry : 05/39 CVV : 599 | Obtain Result (returns three\_ds .status: AUTHENTICATION\_FAILED). Request new card details from customer; transaction should not proceed. | | [3D SECURE TRANSACTIONS](https://developer.globalpay.com/docs/risk-management/3D-secure/overview) | [3DS FAIL FLOW](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/50zoj8j/3ds-auth-decline) **Description** : This flow simulates when card authentication explicitly fails. | **"amount":"2004"** | Card Number : 4222000008880910 Expiry : 05/39 CVV : 599 | Obtain Result (returns three\_ds .status: CARD\_AUTHENTICATION\_FAILED). Request new card details from customer; transaction should not proceed. | [**Recurring Payments**](https://developer.globalpay.com/docs/payments/recurring/overview) | Resource | Postman Reference | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [RECURRING TRANSACTIONS](https://developer.globalpay.com/docs/payments/recurring/overview) | [VERIFY AND RECURRING PAYMENTS](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/qllfutg/verification-recurring-auth) **Description :** This flow is typically used when merchants process recurring authorization transactions with a tokenized card that has already been verified. | **"amount": "3001"** | Visa MasterCard American Express Diners Club Discover JCB | Process a recurring transaction which auto-captures with status CAPTURED and returns a TRN\_ID. Confirm checkout status showing the transaction as successfully approved. | | [RECURRING TRANSACTIONS](https://developer.globalpay.com/docs/payments/recurring/overview) | [CAPTURE AND RECURRING PAYMENTS](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/e2xeu9i/recurring-auth-tokenized-card) **Description :** This flow is typically used by merchants to process recurring authorization transactions using a tokenized card. | **"amount": "3002"** | Visa MasterCard American Express Diners Club Discover JCB | Process recurring transactions which auto-capture with status CAPTURED and return a TRN\_ID. Confirm checkout status showing the transactions as successfully approved. | [**Dynamic Currency Conversion Transactions**](https://developer.globalpay.com/docs/payments/payment-methods/dynamic-currency-conversion-guide) | Resource | Transaction Type | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [**DCC TRANSACTIONS**](https://developer.globalpay.com/docs/payments/payment-methods/dynamic-currency-conversion-guide#) | [RATE LOOKUP](https://www.postman.com/globalproduct-api/gp-api-public-workspace/request/6pjpflz/rate-lookup) **Description :** Perform a Dynamic Currency Conversion (DCC) Rate Lookup Call DCC enables you to offer cardholders traveling internationally the choice of paying either in the currency of their own card or the currency that the merchant trades in. The customer is offered an exchange rate at the point of sale rather than at the point of settlement | **"amount": "4001"** | Card Number : 4006097467207025 Expiry : 05/39 CVV : 599 | A successful Rate Lookup returns CCS\_ID with status AVAILABLE. Save CCS\_ID for subsequent tests | | [**DCC TRANSACTIONS**](https://developer.globalpay.com/docs/payments/payment-methods/dynamic-currency-conversion-guide#) | [DCC CAPTURE TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/r40mh5d/authorization) **Description :** Perform a Auth (Capture) Transaction using the currency conversion rate obtained | **"amount": "4002"** | Card Number : 4006097467207025 Expiry : 05/39 CVV : 599 | The transaction response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The currency\_conversion block includes exchange rate details. The transaction should be reflected as approved in the checkout interface. | | [**DCC TRANSACTIONS**](https://developer.globalpay.com/docs/payments/payment-methods/dynamic-currency-conversion-guide#) | [CAPTURE TRANSACTION WITHOUT DCC RATE](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/kcfwd1u/dcc-opt-out) **Description :** In this flow, customers want to opt-out of using the currency conversion rate and proceed with the transaction. | **"amount": "4003"** | | In an opt-out scenario, pass payer\_currency equal to the base currency. The transaction response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The Currency\_conversion block shows exchange\_rate=1. The transaction should be reflected as approved in the checkout interface. | | [**DCC TRANSACTIONS**](https://developer.globalpay.com/docs/payments/payment-methods/dynamic-currency-conversion-guide#) | [CAPTURE TRANSACTION WHEN DCC IS NOT AVAILABLE](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/o92glyu/dcc-not-available) **Description :** In this flow, Capture a transaction when the DCC Rate lookup is not available. | **"amount": "4004"** | Card Number : 4263970000005262 Expiry : 05/39 CVV : 599 | The RATE LOOKUP response will return CCS\_ID, status as NOT\_AVAILABLE The transaction should be successfully AUTO captured with a response status field as "CAPTURED" and a TRN\_ID will be included in the response. The transaction should be reflected as approved in the checkout interface. | [**Pay By Link Transactions**](https://developer.globalpay.com/docs/payments/online/pay-by-link-overview) | Resource | Transaction Type | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [PAY BY LINK TRANSACTIONS](https://developer.globalpay.com/docs/payments/online/pay-by-link-overview) | [CREATE LINK](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/3txihfi/create-link) **Description :** Pay by Link gives merchants the ability to automatically generate a unique payment link for their customers without needing a website. When a customer uses the link, they are redirected to a payment page to enter their payment details. This unique link can be set for single use or multiple use, depending on the business case. | **"amount": "5001"** | Visa MasterCard American Express Diners Club Discover JCB | API returns LNK\_ID with status as ACTIVE and type PAYMENT. Response includes a payment URL. The customer enters card details and submits payment. The system sends notifications to return\_url and status\_url. The transaction should be reflected as approved in the checkout interface. | | [PAY BY LINK TRANSACTIONS](https://developer.globalpay.com/docs/payments/online/pay-by-link-overview) | [EDIT LINK](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/lhgutxy/edit-link) **Description :** Merchants can modify properties of an existing payment link, such as amount | **"amount": "1500"** | Visa MasterCard American Express Diners Club Discover JCB | API returns the same LNK\_ID with status ACTIVE and type PAYMENT. Updated amount is reflected in the response. The transaction can now be processed using the updated amount. | [**Post-Sale Actions**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | Resource | Transaction Type | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [**REFUND TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/refund-guide) | [FULL REFUND FOR A TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/ar3u3gg/refund-for-previous-auth) (Linked Refund) **Description :** Return/Refund the total amount of a transaction previously processed using a reference number or transaction ID | **"amount": "6001"** | Visa MasterCard American Express Diners Club Discover JCB | 1\. Original transaction is captured with status CAPTURED and TRN\_ID. 2\. Refund using TRN\_ID returns new Refund TRN\_ID with type REFUND and status CAPTURED. The transaction should be reflected as Refunded in the checkout interface. | | [**REFUND TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/refund-guide) | [STANDALONE REFUND FOR A TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/im2d4t6/standalone-refund) **Description :** Sometimes called Blind Refund or unlinked Refund, is a Refund not linked to a previous transaction and can typically be done for any amount. | **"amount": "6003"** | Visa MasterCard American Express Diners Club Discover JCB | Refund is processed with type REFUND, status CAPTURED, and Refund TRN\_ID. The transaction should be reflected as Refunded in the checkout interface. | | [**REVERSE TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/reverse-guide) | [FULL REVERSE FOR A TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/sc2q4wc/reversal-for-previous-transaction) (Linked Reverse) **Description :** Reversals are sent to reverse an authorization amount if the merchant does not intend to fulfill the order and capture funds. | **"amount": "6004"** | Visa MasterCard American Express Diners Club Discover JCB | 1\. Original transaction is captured with status CAPTURED and TRN\_ID. 2\. Reversal request returns Reversal TRN\_ID with type SALE and status REVERSED. The transaction should be reflected as Reversed in the checkout interface. | | [**REVERSE TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/reverse-guide) | [REVERSE THE REFUND FOR A TRANSACTION](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/8zmugpq/reversal-for-previous-refund) (Linked Reverse) **Description :** Reverse the refund transaction before it's settled. | **"amount": "6005"** | Visa MasterCard American Express Diners Club Discover JCB | 1\. Refund is processed with status CAPTURED and Refund TRN\_ID. 2\. Reversal request using Refund TRN\_ID returns Reversal TRN\_ID with type REFUND and status REVERSED. The transaction should be reflected as Reversed in the checkout interface. | #### InStore Payments [**Pre Sale Actions**](https://developer.globalpay.com/docs/payments/manage-payments/verify-guide) | Resource | Transaction Type | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | | [**VERIFY**](https://developer.globalpay.com/docs/payments/manage-payments/verify-guide) | [VERIFY USING CHIP](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/hzsxmq0/verify-card) **Description :** Card Verify \- Run as CreditAccountVerify with $0 Amount. Credit card authentication is the process of confirming the validity of a customer's credit card by checking with the company that issued the card. | Test Card Track & Tag Data | CARD should be successfully verified with status "VERIFIED". | [**Sale Actions**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | Resource | Transaction Type | Test Amount | Test Card Details | Description and Expected Result | | :---- | :---- | :---- | :---- | :---- | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION USING CHIP](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/uii9h8a/chip) **Description :** Initiates a sale transaction to transfer funds from the payer to the merchant using the specified payment method. | **"amount": "7001"** | Test Card Track & Tag Data | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION USING CONTACTLESS\_CHIP](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/capbm31/contactless-chip) **Description :** Initiates a sale transaction to transfer funds from the payer to the merchant using the specified payment method. | **"amount": "7002"** | Test Card Track & Tag Data | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION USING SWIPE](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/djoqitg/swipe) **Description :** Initiates a sale transaction to transfer funds from the payer to the merchant using the specified payment method. | **"amount": "7003"** | Test Card Track & Tag Data | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION USING EMV FALLBACK](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/8kmccew/emv-tech-fall-back) **Description :** Initiates a sale transaction to transfer funds from the payer to the merchant using the specified payment method. | **"amount": "7004"** | Test Card Track Data | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [CAPTURE TRANSACTION USING MANUAL](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/zujrqr6/manual) **Description :** Initiates a sale transaction to transfer funds from the payer to the merchant using the specified payment method. | **"amount": "7005"** | Visa MasterCard American Express Diners Club Discover JCB UATP | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [TRANSACTION WITH TIP AMOUNT USING CHIP](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/uizxrty/adjust) **Description :** A chip-based transaction where a tip is added to the payment after the initial authorization and capture. | **"amount": "7009"** | Test Card Track & Tag Data | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. Tip amount should be added to the original transaction. The response should return a status of "CAPTURED" and original TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | | [**TRANSACTIONS**](https://developer.globalpay.com/docs/payments/manage-payments/capture-guide) | [TRANSACTION WITH INLINE GRATUITY AMOUNT USING CHIP](https://www.postman.com/globalproduct-api/gp-api-public-workspace/folder/fvjnuhv/in-line) **Description :** This is commonly used for merchants who want to process an authorization with a tip/gratuity amount included during the final sale transaction. | **"amount": "7010"** | Test Card Track & Tag Data | The transaction will be automatically captured. The response should return a status of "CAPTURED" and a TRN\_ID will be included in the response. The approved transaction should be reflected in the checkout process. | ## Simulated Error Scenarios | Transaction Type | Error Message | HTTP Code | Trigger Amount | Test Card Details | Expected Result | Next Step | | :---- | :---- | :---- | :---- | :---- | :---- | :---- | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Internal Server Error | 500 | **27251** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50001", "detailed\_error\_description":"Internal Server Error"\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Internal Server Error | 500 | **27259** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR" ,"detailed\_error\_code":"50001", "detailed\_error\_description":"Internal Server Error"\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Bad Gateway | 502 | **27252** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50002", "detailed\_error\_description":"Bad Gateway"\} | Retry the transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP | Bad Gateway | 502 | **27254** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR\_DOWNSTREAM", "Detailed\_error\_code":"50014", "detailed\_error\_description":"320,3xx,Error with GP Systems"\} | Retry the transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP | Bad Gateway | 502 | **27258** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"ACTION\_FAILED", "Detailed\_error\_code":"50012", "detailed\_error\_description":"Action failed unexpectedly. An automatic reversal was successful. Please try original transaction again."\} | Retry the transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP | Bad Gateway | 502 | **27260** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50002", "detailed\_error\_description":"Bad Gateway"\} | Retry the transaction | | PREAUTHORIZE TRANSACTION **Channel :** CP | Bad Gateway | 502 | **27261** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR\_DOWNSTREAM", "Detailed\_error\_code":"50004", "detailed\_error\_description":"1,Gateway system error"\} | Retry the transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Service Unavailable | 502 | **27262** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50003", "detailed\_error\_description":"Service is temporarily unavailable"\} | Retry the transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Gateway Timeout | 502 | **27250** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50004", "detailed\_error\_description":"Request Connection Timedout"\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Gateway Timeout | 502 | **27253** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50004", "detailed\_error\_description":"Request Connection Timedout"\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | | PREAUTHORIZE TRANSACTION **Channel :** CP | Gateway Timeout | 502 | **27256** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"TIMEOUT", "Detailed\_error\_code":"50009", "detailed\_error\_description":"No response received from a platform while executing this action. An attempted automatic reversal failed. Please try to reverse this transaction."\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | | PREAUTHORIZE TRANSACTION **Channel :** CNP, CP | Gateway Timeout | 502 | **27257** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50004", "detailed\_error\_description":"Request Connection Timedout"\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | | PREAUTHORIZE TRANSACTION **Channel :** CP | Gateway Timeout | 502 | **27201** | Visa MasterCard American Express Diners Club Discover JCB | \{"error\_code":"SYSTEM\_ERROR", "Detailed\_error\_code":"50004", "detailed\_error\_description":"Request Connection Timedout"\} | Perform a REVERSAL transaction using the reference number passed in the original transaction | ## Going Live Source: https://developer.globalpayments.com/docs/getting-started/going-to-production.md # Going Live to Production At this point, you’ve done some testing of your integration in our Sandbox environment and are ready to take online payments for real. This article provides the next steps for going live with your integration. > This information is for merchants integrating directly with our API or an SDK to take online payments (card not present). For merchants integrating through one of our plugins or a pre-built hosted solution, contact a member of our Sales Support team for next steps. > If you plan to process in-store payments (card present), email [certintake@globalpay.com](mailto:certintake@globalpay.com) to let us know. Here’s what you need to do: * [Sign up with us to become a merchant](#sign-up-with-us) * [Complete all testing requirements](#complete-all-testing-requirements) * [Validate your integration](#validate-your-integration) * [Receive Production credentials](#receive-production-credentials) * [Test real transactions](#test-real-transactions) ## Sign up with us If you don’t already have a Merchant Service Agreement in place, please visit our main website to sign up. During the onboarding process, you’ll have the chance to decide which of our capabilities you want to add. You can learn more about [Account Capabilities](https://developer.globalpayments.com/api/definitions/account-capabilities.md) in the API Definitions. ## Complete all testing requirements You’ve probably already run through some basic checks to make sure your integration works properly (if not, see [Build Your Integration](https://developer.globalpayments.com/docs/getting-started/your-integration.md) to get started). But have you thought about whether your integration can handle expired or invalid access tokens or other errors? Or, whether the Reference field is populated with a unique value for every transaction? These are the types of questions we’ll ask you during the validation process (see next section). Depending on how complex your integration is, we may ask you to run additional test scenarios. If you have any questions regarding testing requirements, contact [Integration Support](https://developer.globalpayments.com/support/integration-support). ## Validate your integration If you’re integrating directly with our API or via an SDK to accept online payments (card not present), we'll walk you through a validation process where we'll ask you some questions to make sure everything is in order. If you’re using our 3D Secure or Recurring Payments solutions, we’ll provide a checklist for you to use to verify that your integration is receiving the proper API responses. To learn more about the validation process or to get started on it, see [Integration Validation](https://developer.globalpayments.com/support/integration-support). ## Receive Production credentials Once you’ve initiated the onboarding process and signed a Merchant Service Agreement with us, you’ll receive your Production credentials (an App ID and an App Key). These credentials are tailored to the capabilities you certified and signed up for (for example, Transaction Processing, Tokenization, Dispute Management, Settlement Reporting, and so on). Once you have your credentials, you’ll use them to replace the credentials you used for testing in the Sandbox with your Production credentials in the heading of your API requests. You'll also need to change your integration from the Sandbox endpoint to Production: * **Sandbox:** `https://apis.sandbox.globalpay.com` * **Production:** `https://apis.globalpay.com` Now you can start processing and getting paid for real transactions. It's always a good idea to test the first few transactions. This is explained in the next section. ## Test real transactions The final step is to do a little testing in Production and process a real transaction. It’s important to confirm that your integration works as expected and that the merchant’s funds are deposited into the correct bank account. Once that’s been done, you’re good to go. Congratulations! If you have any issues or questions, our [Integration Support](https://developer.globalpayments.com/support/integration-support) team is here to help. ## Introduction Source: https://developer.globalpayments.com/docs/getting-started/new-to-payments/introduction.md # Introduction to Payments If you’re new to the payments industry, it’s good to start with a basic understanding of how the process for card payments works. You can get that here. This article will introduce you to the relevant players in the payments industry and walk you through two typical flows: payment and settlement. We also describe how we fit into the process and what solutions we offer to help merchants succeed. What we cover: * [Key players](#key-players) – The main participants of the card payments industry * [Technology partners](#technology-partners) – Companies that help merchants handle payment processing * [Payment flow](#payment-flow) – How all the different companies interact during a transaction * [Settlement flow](#settlement-flow) – How a merchant gets paid after a transaction (capture and settle) * [Our offerings](#our-offerings) – A listing of ways to integrate with us, core solutions we offer, and business connections we can provide > All **bolded** terms in this article are further defined in our [Payments Glossary](https://developer.globalpayments.com/docs/getting-started/new-to-payments/glossary.md). ## Key players To understand the card payment process, you first need to know who the relevant players are. | | | | | | --- | --- | --- | --- | |![Card Brands Icon](https://developer.globalpayments.com/gh-assets/icon_card-brands.png)| **Card Brands** Card associations like Visa or Mastercard that operates a network. |![Issuer Icon](https://developer.globalpayments.com/gh-assets/icon_issuer.png)| **Issuer** Financial institution that issues cards to customers to use for payments.| |![Acquirer Icon](https://developer.globalpayments.com/gh-assets/icon_acquirer.png)| **Acquirer** Financial institution that allows merchants to process card transactions on a card brand’s behalf. |![Merchant Icon](https://developer.globalpayments.com/gh-assets/icon_merchant.png)| **Merchant** Seller of goods or services. Can be an individual, a business, or a large enterprise. | |![Cardholder Icon](https://developer.globalpayments.com/gh-assets/icon_cardholder.png)| **Cardholder** Customer who is issued a payment card to use for purchases. | | | Before card payments can begin, the key players need to establish business relationships with each other: 1. First, the **card brand** assigns an **issuer** a **bank identification number (BIN)**, which gives it a license to issue cards on the card brand’s behalf to customers. 2. The **issuer** then assigns a card number — also known as a **primary account number (PAN)** — to a customer who, at that point, becomes a **cardholder**. 3. The **card brand** also assigns a license to an **acquirer** so that the acquirer can allow a merchant to accept card payments on the card brand’s behalf. 4. The **acquirer** then enters into a contract with a **merchant** and offers it a merchant account. This arrangement provides the merchant with a line of credit. Under the agreement, the acquirer exchanges funds with issuers on behalf of the merchant and pays the merchant the net balance of their daily payment-card activity — that is, gross sales minus **chargebacks/reversals** and various fees. So, when it comes to accepting card payments on behalf of the card brands: * Acquirers service merchants * Issuers service cardholders The following illustration shows the business relationship between the key players. ![Diagram flow connecting the Card Brand to other key players.](https://developer.globalpayments.com/gh-assets/flow-key-players.png) **Key Players for Card Payments** Once all the key players have established business relationships with each other, card payments can begin. But with the technical complexity inherent in processing card payments, not to mention all the regulations a merchant must comply with, building a card payment system from the ground up can be a pretty heavy lift. That's why many merchants turn to technology partners. ## Technology partners Two of the most complex aspects of building a card payment system are: * Sending payments between a merchant and an acquirer * Processing card payments There are three types of technology partners that can make these processes easier – **payment gateways**, **developers** that know how to work with them, and **payment processors**. A payment gateway is a technology service used to facilitate the secure transmission of transaction data. Using payment gateways simplifies the process of sending payments between a merchant and an acquirer. To interface with the acquirer, developers use an **application program interface (API)** or **software development kit (SDK)** to build a software solution or integration that the merchant can use to handle card payments. Likewise, processing card payments — including having to facilitate authentication (identity checks), authorization (approvals), and clearing (transferring funds) — can also be too much for a merchant to handle. So, it’s common to enlist the support services of a payment processor to help for a fee. So where does Global Payments fit into this picture? We offer a full range of merchant solutions, including a payment gateway, payment processing, and serving as an acquirer. Our technologies also support developers with a REST API, SDKs, and a developer portal that provides all the resources they need to get up and running quickly. > Learn more about how [our solutions can help](#our-offerings) merchants and developers at the end of this page. Technology partners that can support a merchant include the following: | | | | | | --- | --- | --- | --- | |![Payment Gateway Icon](https://developer.globalpayments.com/gh-assets/icon_payment-gateway.png)| **Payment Gateway** Technology service used by a merchant to securely transmit transaction data to the acquirer. |![Payment Processor Icon](https://developer.globalpayments.com/gh-assets/icon_payment-processor.png)| **Payment Processor** Company used by a merchant to help with tasks related to card payment processing. | |![Developer Icon](https://developer.globalpayments.com/gh-assets/icon_developer.png)| **Developer** Person with coding experience hired to develop a software solution for accepting or processing payments. | | | ## Payment flow In this section, we describe the interaction between the key players and their technology partners in a successful card payment flow. The flow starts when a cardholder selects an item or service to buy from the merchant either in a store or online and pays with a card. Once receiving the card information (PAN + **expiry** + **CVV**), the merchant initiates the sale and sends the transaction data (card information + sale amount) to the acquirer either directly or via a payment gateway. For online sales, the cardholder’s identity may need to be authenticated first, such as through **3D Secure**. The acquirer uses the customer’s PAN, which includes the BIN, to identify which card brand to send the transaction data to for approval. The card brand then sends the transaction to the issuer. The issuer authorizes the payment and lets the merchant know via the card brand and then back to the acquirer. Finally, the customer is notified that the transaction is complete. At close of business, the merchant begins the **clearing** and **settlement** process to get the funds from the sale into its bank account (for more information, see [Settlement flow](#settlement-flow)). The following illustration shows the high-level flow for a card payment and how the key players and technology partners in the payments industry fit in. ![Diagram flow of a card payment transaction between key players and technology partners.](https://developer.globalpayments.com/gh-assets/flow-transaction.png) **Card Payment Flow** ## Settlement flow In this section, we describe the interaction between the key players and their technology partners for a settlement flow in which the merchant receives payment for the day’s credit card sales. The flow starts when a merchant sends **captured** transactions in a batch file to their acquirer who then sends it to the card brand after the clearing process is complete. The card brand then processes the transactions and sends the settlement to the acquirer, debiting the applicable issuer based on card usage. After the issuer confirms every transaction is correct, the card brand transfers funds for sales and credit to the acquirer. The acquirer then deposits the money into the merchant’s bank account, minus any fees. The following illustration shows the high-level flow for settlement and how the key players in the payments industry fit in. ![Diagram flow of settlement between key players and technology partners.](https://developer.globalpayments.com/gh-assets/flow-settlement.png) **Settlement Flow** ## Our offerings We offer a full range of solutions for merchants, connections to key industry players, and various ways for developers to access our worldwide system. Click a link to go to that topic’s article. > If you don’t see what you’re looking for or have any questions, check with an account manager (see [Sales Support](https://developer.globalpayments.com/support/sales)). ##### Ways in which developers can integrate with us: * [Hosted Payment Page](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md) – Quickly set up a secure checkout page that we handle for you. * [Hosted Fields](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md) – Use tokenization to customize your payment page. * [API](https://developer.globalpayments.com/docs/integration-options/api.md) – Directly interface with our server using our resource-oriented REST API. * [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) – Add server-side or client-side code to quickly build your integration. * Transaction Management & Virtual Terminal – Manage all transactions in one unified portal. * [Point of Sale (POS)](https://developer.globalpayments.com/docs/payments/in-store/overview.md) – Explore our integration solutions for taking in-store payments. ##### Our core solutions for merchants: * [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) – Tokenize card details to charge customers later. * [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) – Enhance security with stronger authentication for online payments. * [Fraud Management](https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md) – Assess risk and verify transactions. * [Pay by Link](https://developer.globalpayments.com/docs/payments/online/pay-by-link-overview.md) – Send customers a unique link to a payment page. * [Payers](https://developer.globalpayments.com/docs/payments/tokenization/payers-overview.md) – Store customer details for future transactions. * [Partner Solutions](https://developer.globalpayments.com/docs/partners/overview) – Manage payment services across a partner network. * [Operations & Reporting](https://developer.globalpayments.com/docs/reporting/overview.md) – Use transaction data to better understand your business. * [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) – Give customers access to their favorite stored cards at checkout. * [Buy Now Pay Later](https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-overview.md) – Provide flexible options for customers to pay over time. * [Open Banking](https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-overview.md) – Let customers pay directly with their bank account. ##### Our connections to key players and other technology partners: * Acquirers – Our gateway supports Global Payments, AIB Merchant Services, American Express, Comercia Global Payments, First Data, Mastercard MIGS Payment Gateway, Elavon, Barclaycard, Lloyds Bank Cardnet, Diners Club International, Redsys, Fiserv, JCB, and Worldpay from FIS. * Credit Cards – We support Visa, Mastercard, American Express, Discover, JCB, Diners Club, Union Pay, and Union Pay Secure. * Debit Cards – We support Visa (Interlink), Mastercard Debit, Bancontact, and Interac. * [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) – In addition to cards, we also accept bank transfers, cash payment vouchers, cryptocurrency, digital wallets, direct debit, local cards, and prepaid cards & vouchers. * [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md) – Tap into the interbank exchange so traveling customers can pay in their home currency. ## Fintech Explained Source: https://developer.globalpayments.com/docs/getting-started/new-to-payments/fintech-education-module-1.md # Module 1: What Fintech Really Means and Why it Matters ## What is fintech? Fintech – short for *financial technology* – refers to the use of software, APIs, and cloud infrastructure to deliver financial services faster, more efficiently, and often in ways that were once only available to large institutions.   Fintech isn’t just a category – it’s the infrastructure upon which modern commerce is built. For businesses, fintech simplifies complex operations. For developers, it turns finance into code you can plug in and build on to provide:  - Digital payments and online checkouts - Mobile banking and neobanks - “Buy Now, Pay Later” and online lending - Embedded financial tools inside apps and websites - Real-time fraud detection, identity verification, and more ## Why is fintech important? With a focus on efficiency and inclusivity, fintech is reshaping the global financial ecosystem –  one line of code at a time, to provide: - **Faster service**: By automating risk assessment and leveraging digital payment networks, fintech enables real-time transfers, instant credit decisions, and same-day payouts. - **Lower cost**: The ability to optimize and automate financial processes with APIs and other software advancements means fewer middlemen, less paperwork, and lower transaction costs. - **Access and inclusion**: APIs allow developers to easily embed payment processing, lending, and fraud prevention – features that used to require a bank – directly into their apps, democratizing access to affordable financial services for businesses and consumers alike. - **Global reach**: Fintech enables developers to build direct payment routes that bridge different financial systems and currencies to provide secure, efficient, and borderless transactions.  ## Examples of fintech in action | **Scenario** | **Powered by Fintech** | | -------- | ------- | | Paying with your phone | Tokenized mobile wallet + contactless Point of Sale (POS) | | Getting paid after a delivery | Real-Time Payments (RTP) + embedded ledger | | Selling online without a merchant bank| Stripe, Adyen, or Global Payments APIs| | Offering customers a “Pay Later” option| Embedded lending via Global Payments Buy Now Pay Later (BNPL) API| | Connecting a bank account to an app| Open banking API (e.g., Plaid)| ## Why is fintech regarded as a disruptive technology? Leading academic research (MIT, BIS) and modern fintech platforms (like Stripe and Adyen) agree: Fintech is not just about building new apps – it’s rebuilding financial infrastructure. - **Finance is becoming software.** Banking, lending, and payments are now digital systems running on APIs, without paper contracts or the constraints of bank branches and bankers hours. - **Financial tools are embedded in everyday software.** You no longer need to log into a bank to send money, apply for credit, or reconcile accounts. It’s all inside the tools you already use. - **AI and automation power real-time decisions.** Fraud detection, lending approvals, and payment routing now happen instantly, thanks to machine learning. Here’s what that means for you: - **For small business owners**: You can accept payments, issue invoices, or get paid faster – with fewer systems and no finance team. - **For developers**: You can build checkout, lending, and identity flows in hours, not months, thanks to modular APIs. ## Key categories in fintech |Category|Examples|Core Function| | -------- | ------- | ------- | |Payments|Stripe, Adyen, Square, Global Payments|Accept, route, and settle transactions| |Lending|Klarna, Affirm, Stripe Capital |Embedded credit and checkout financing| |Banking APIs|Treasury Prime, Unit, Synapse|Offer FDIC-backed accounts and cards| |Data and Identity|Plaid, MX, Alloy|Link bank accounts, verify identity| |Infrastructure|Modern Treasury, Finix, Payrix|Orchestrate multi-party payments| ## How can fintech help small businesses and developers? Whether you’re a builder or a business owner, fintech opens new possibilities: - **Build smarter apps**: Developers can use financial data, payout APIs, and compliance layers to create seamless user experiences. - **Grow revenue**: Businesses can turn payments and credit into revenue streams, not just back-office costs. - **Offer what banks once controlled**: You can offer instant account creation, access to credit with informed risk decisions, and make payouts – all without becoming a bank. ## Summary Fintech is innovating traditional financial infrastructure, turning money into code and finance into product features.  If you’re a business owner, fintech simplifies your operations and saves you money. If you’re a developer, fintech gives you the tools to build the next generation of financial products.  ## What’s next In Module 2, we’ll dissect the transaction authorization and settlement flow, exploring how each role supports or influences the journey—and what that means for reliability, performance, and integration design. ### [Module 2](https://developer.globalpayments.com/docs/getting-started/new-to-payments/fintech-education-module-2.md) Continue to Module 2 ## Payments Explained Source: https://developer.globalpayments.com/docs/getting-started/new-to-payments/fintech-education-module-2.md # Module 2: How Card Payments Work ## Why it matters Every time a customer swipes, taps, or enters card details, they set off a complex interaction across banking systems, APIs, and networks. Understanding this process helps you: - Design integrations that are secure and reliable - Negotiate better pricing and terms - Predict payout timing and reduce cash flow surprises - Improve approval rates and customer experience Card transactions are where software meets money – and precision matters. ## The two-phase model Card transactions unfold in two distinct — but tightly linked — phases. ### 1. Authorization The moment a card is used, a real-time check occurs to confirm: - The card is valid - Funds or credit are available - There are no signs of fraud These checks will result in either the transaction being approved or declined within 1-2 seconds.   ### 2. Settlement If approved, the merchant groups the transaction with others and submits them to their processor or acquirer. Funds are then: - Deducted from the cardholder’s account - Routed through the card networks - Deposited into the merchant’s account Funds are typically available to the merchant within 1-3 business days (or faster with real-time options).  ## Key roles in a card transaction The table below describes the core roles in a card transaction, which often includes a payment processor and payment gateway.  Two of the most complex aspects a card payment system are: - Sending payments between a merchant and an acquirer - Processing card payments Payment gateways and processors are technology partners that can make these parts of the process easier. While not strictly required for a card transaction, they play an important role in the authentication and settlement processes. | **Role** | **Function** | | --- | --- | | Cardholder | Uses a credit or debit card to initiate a transaction. | | Merchant | Sells goods/services to a cardholder and submits the transaction data for authorization through a payment gateway. | | Gateway | Software and servers that securely transmit cardholder data from the merchant’s website, mobile app, or POS system to the payment processor or acquirer, and transmits responses from issuers for authorization. | | Processor | A company that helps a merchant process card payments by providing the technology to route payment data between the merchant, acquirer, and card networks. | | Issuer|A financial institution that issues payment cards to cardholders, approves or declines transactions, issues payment to the acquirer on behalf of the cardholder, and bills the cardholder. | | Acquirer | A financial institution that manages the merchant’s account, processing card payments for the merchant and sending the transactions to the card network. | | Card Network | A card brand (Mastercard, Visa, etc.) that provides the global financial infrastructure for routing transactions between the acquirer and issuer, sets operational rules, and manages settlement and interchange fees. | ## How authorization and settlement work ### Authorization flow | **Step** | **Description** | | --- | --- | | 1 | The cardholder initiates a payment at the point of sale (POS) or through an online checkout process. | | 2 | The merchant sends the transaction data (card information and amount) to the acquirer either directly or through a payment processor, who will use a payment gateway to send the transaction data to the acquirer. | | 3 | The acquirer requests authorization from the issuer. | | 4 | The issuer sends the authorization response (approved or declined) to the acquirer. | | 5 | The acquirer sends the authorization response to the merchant either directly or back through the payment gateway and payment processor if the merchant is using those services. | | 6 | Assuming the transaction is approved, the merchant finalizes the sale. | ![](https://developer.globalpayments.com/gh-assets/fintech-guide/auth-flow.png) **Authorization flow** ### Settlement flow | **Step** | **Description** | | --- | --- | | 1 | The merchant sends captured transactions in batches to the acquirer at the end of the day. | | 2 | The acquirer clears the transactions (works with the card network and issuer to verify and agree on what’s owed) and then sends the batch file to the card network (aka the card brand). | | 3 | The card network forwards the transactions to the issuers, who debit/credit each cardholder’s account for the amount of the transactions. | | 4 | The card network then transfers funds to the acquirers for the sales and credit transactions. | | 5 | The acquirer deposits funds into the merchant’s account, minus any fees either directly or via the payment gateway and payment processor if the merchant is using those services. | ![](https://developer.globalpayments.com/gh-assets/fintech-guide/settle-flow.png) **Settlement flow** ## Important considerations when building payment systems  - **Idempotency**: Always use unique keys (aka request IDs) for each attempt to process a transaction. This will prevent duplicate processing.  - **Authorization vs. Capture**: You can authorize a payment, then capture it (i.e., submit it to the issuer for financial settlement) later. This is a common practice for businesses with rentals or delayed fulfillment.   - **Webhooks**: Using 'payment_succeeded', 'chargeback_opened', and 'settlement_completed' are important for ensuring your system is reliable, responsive, and trustworthy—one that reacts correctly to each key payment event, reduces risk, and improves the user experience. - **Retry Logic**: When a card is declined, instead of simply showing an error, your system should trigger a user-friendly flow to guide the user through options to try the payment again, fix the issue, or use a different payment method. ## Your tech stack for security and compliance The following capabilities are critical to ensuring your system is secure and compliant: - **PCI-DSS**: Compliance with the PCI-DSS is mandatory for any merchant or provider storing or transmitting cardholder data. - **Tokenization**: To reduce PCI scope and risk, use tokenization to replace sensitive card information with a secure token. - **3DS and EMV**: Adding an extra verification step with 3-Domain Secure (3DS) and Europay, Mastercard, and Visa (EMV) chip technology help prevent fraud and ensure strong customer authentication (SCA) compliance under the Revised Payment Services Directive (PSD2) in Europe. - **Fraud Prevention**: Use AI and machine learning models to strengthen fraud protection by monitoring transaction velocity, identifying IP/location mismatches, and to trigger additional security checks if a transaction comes from a new or unrecognized device (device fingerprinting). ## KPIs to track the performance of your payment system | **Metric** | **Why It Matters**|**Target Benchmark** | | --- | --- | --- | | Authorization Rate | Measures approval success | 97–99% | | False Decline Rate | Indicates friction from risk rules | Less than 0.5% | | Time to Settle | Impacts cash flow | 1–2 business days (avg) | | Chargeback Rate | Indicates disputes/fraud | Less than 0.9% (Visa/MC threshold) | | Latency | Affects user experience | Less than 2 seconds | ## What’s changing? In the future, card transaction flows will be more: - **Real-time**: With emerging real-time payment (RTP) rails and instant funding APIs (FedNow, Visa Direct) - **Modular**: With APIs abstracting issuer/acquirer roles (e.g., Stripe’s Payment Intents) - **Smart**: With dynamic routing, AI-based fraud scoring, and token networks replacing static credentials These shifts are making payments programmable, composable, and highly developer-centric. ## Summary Card payments may feel simple to end users — but they represent one of the most high-volume, multi-actor workflows in global commerce. Building a successful payment system requires that developers, product owners, and merchants: - Understand each step for better integrations - Choose vendors and APIs based on reliability and control - Improve performance, approvals, and payout speed ## What’s Next Next, we’ll explore who actually makes the payments ecosystem work—introducing the players behind each transaction, including card networks, processors, gateways, and platforms like yours. ### [Module 3](https://developer.globalpayments.com/docs/getting-started/new-to-payments/fintech-education-module-3.md) Continue to Module 3 ## Key Players in Payments Source: https://developer.globalpayments.com/docs/getting-started/new-to-payments/fintech-education-module-3.md # Module 3: Who is Who in the Payment Ecosystem ## Why you need to understand the payments ecosystem Understanding the ecosystem you’re working in is critical, both for the developers building payment systems and the businesses that rely on them: - **Developers**: Developers want to design secure, efficient, and scalable applications that integrate all the payment functionalities necessary to provide the best user experience, all while thinking about compliance. To do both, developers need to know which APIs they’re calling and who owns risk.  - **Businesses**: Business leaders need a solid understanding of the payments ecosystem to make informed decisions about the systems they need to scale their operations and meet customer demands for fast and secure transactions. Understanding all the players and their roles is key to choosing the right partners and technologies and effectively negotiating costs.   As Stripe says – the payment ecosystem is “a complex web” of interlinked roles. From gateways to processors, each is designed to ensure transactions are seamless and secure. ## What is the Four-Corners Model for payment security? Virtually all card-based transactions leverage the Four-Corner Model. This is a framework for card payment security, guaranteeing global acceptance, traceability, and adherence to security standards like PCI-DSS. The model involves four different entities: 1. **Cardholder**: A person given a credit or debit card by an issuer on behalf of a card brand to use for purchases. 2. **Merchant**: Seller of goods or services. 3. **Issuer**: A financial institution that offers debit/credit cards directly to customers.  4. **Acquirer**: A financial institution that processes credit or debit card payments for a merchant ## Core roles and responsibilities The payments ecosystem is made up of the four entities in the Four-Corners Model – key players in the ecosystem – as well as some other key players and a few supporting players. The key players include: - Cardholder - Merchant  - Issuer - Acquirer - Card Brand (aka Card Network) | | | | | | --- | --- | --- | --- | |![Card Brands Icon](https://developer.globalpayments.com/gh-assets/icon_card-brands.png)| **Card Brands** Card associations like Visa or Mastercard that operates a network. |![Issuer Icon](https://developer.globalpayments.com/gh-assets/icon_issuer.png)| **Issuer** Financial institution that issues cards to customers to use for payments.| |![Acquirer Icon](https://developer.globalpayments.com/gh-assets/icon_acquirer.png)| **Acquirer** Financial institution that allows merchants to process card transactions on a card brand’s behalf. |![Merchant Icon](https://developer.globalpayments.com/gh-assets/icon_merchant.png)| **Merchant** Seller of goods or services. Can be an individual, a business, or a large enterprise. | |![Cardholder Icon](https://developer.globalpayments.com/gh-assets/icon_cardholder.png)| **Cardholder** Customer who is issued a payment card to use for purchases. | | | ## Supporting players Two of the most complex aspects of building a card payment system are sending payments between a merchant and an acquirer and processing card payments.  This is where technology partners – payment gateways, developers that know how to work with them, and payment processors – play an important supporting role. ### Payment processor A payment processor (aka card processor or payment provider) is a company that works with banks and other financial institutions to help a merchant process card payments by managing transaction routing (authorization, clearing, and settlement). ### Payment gateway A payment gateway is a technology service used to facilitate the secure transmission of transaction data. Using payment gateways simplifies the process of sending payments between a merchant and an acquirer, by securely capturing and routing payment data.  ## Emerging roles and business models ### Payment service provider (PSP) A payment service provider (PSP) bundles payment gateway, payment processing, and often fraud/settlement services into one service to make it easier for merchants to accept various payment methods. This makes a PSP ideal for merchants needing a single API solution.   ### Payment facilitator (PayFac) PayFac-as-a-Service or PayFac for short is a specialized provider that enables merchants under a master account (sub-merchants) to accept payments. Using PayFac controls risk for merchants and streamlines settlement and helps independent software vendors (ISVs) scale with less complexity. ### Independent software vendor (ISV) An independent software vendor (ISV) is a company or individual that creates specialized payment solutions tailored to specific industries or markets and uses APIs to integrate them with other systems and platforms.  ### Embedded ecosystem players Embedded ecosystem players provide specialized solutions, including: - **Identity services**: Solutions that verify, authenticate, and manage the identities of individuals or businesses during financial transactions - **Multi-rail orchestration**: The ability to route, process, and manage payments across multiple payment networks - **Compliance-as-a-service (CaaS)**: Tools, platforms, and expertise to help organizations meet regulatory and compliance requirements in an efficient and scalable way  ## What you need to know to build a better payments system - **Developers**: Know the types of APIs you can use to build your system – payment processor, payment gateway, PSP or PayFac. Understand their associated latencies and the compliance trade-offs. - **Business Leaders**: Decide whether to bundle payment gateway and processing or manage relationships separately to control costs and workflows. - **ISVs & Platforms**: Evaluate PayFac onboarding, choose between embedded vs. partner-managed flows, and design for multi-tenant separation. ## Strategic recommendations   1. Target ecosystem roles that match your capabilities and roadmap. 2. Use ISV or PayFac models to embed payments deeply in your platform. 3. Consider future roles – like identity, fraud, orchestration – as core to your strategy. ## What’s next Stay tuned for Module 4 where we’ll explore common payment methods. ***(Coming soon)*** ## Glossary Source: https://developer.globalpayments.com/docs/getting-started/new-to-payments/glossary.md # Payments Glossary The following table defines the **bolded** terms from our [Introduction to Payments](https://developer.globalpayments.com/docs/getting-started/new-to-payments/introduction.md) article. This includes terms relating to key players in the industry, supporting partners, and the technology used to facilitate payments. | Term | Definition | | --- | --- | | 3-Domain Secure (3D Secure or 3DS) | Security protocol used to prevent fraud in online card transactions by using certain criteria to determine whether the cardholder’s identity needs to be authenticated first. The three domains are the 1) issuer, 2) acquirer, and 3) interoperability domain (i.e., “go-between” platform that handles 3DS). 3D Secure authentication is done in three ways per the European Payment Services Directive 2 (PSD2): **Possession** – Something only the customer *has*, e.g., their mobile device registered with their bank to which they receive a one-time code in a text message. **Inherence** – Something only the customer *is*, e.g., their fingerprint or other form of biometric data. **Knowledge** – Something only the customer *knows*, e.g., a unique passphrase or answer to a personal question. | | Acquirer | Financial institution (usually a bank but not always) that processes credit or debit card payments for a merchant. The acquirer allows merchants to accept credit card payments from the card-issuing banks within a card association. | | Application Program Interface (API) | A structured way for networked computers to communicate through server requests and responses. APIs help developers interface with other software systems to exchange data, for example, to move funds between a customer (payer) and a merchant. | | Authentication | An action in which a merchant verifies the identity of a customer. For online transactions, this can be done using 3D Secure. For in-store transactions, a card chip or entering a personal identification number (PIN) can be used. | | Authorization | An action in which an issuer approves a cardholder’s transaction. This is based on the account standing, account balance, and the validity of the card. | | Bank Identification Number (BIN) | Initial eight numbers that appear on a credit or debit card (see PAN), identifying the institution issuing the card, country of issuance, and type of card. The BIN is a key part of the process of matching transactions to the issuer of the payment card. | | Capture | An action in which an electronic sales transaction with a credit or debit card is submitted to the issuer for financial settlement. Authorized credit card sales must be captured and settled for a merchant to receive credit for their sales and a cardholder account to be debited or credited. | | Card Brand | A payment network linked to a credit or debit card, of which a bank or any other eligible financial institution can become a member (e.g., Visa, Mastercard, etc.). The member then gets to issue or acquire cards operating on the network of that card brand. Also known as _card schemes_. | | Cardholder | A person given a credit or debit card by an issuer on behalf of a card brand to use for purchases. | | Card Verification Value (CVV) | A three- or four-digit security code that appears on a payment card, usually on the opposite side of the card’s number. It provides extra protection against unauthorized use. Also known as a _card verification code (CVC)_ or _card verification number (CVN)_. | | Chargeback | The cardholder or issuer disputes a transaction, and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. | | Clearing | The process of exchanging financial transaction details between an acquirer and an issuer to facilitate posting of a cardholder's account and reconciliation of a customer’s settlement position. | | Developer | A person who can be hired to build an integration, such as an app or a website, that supports accepting and processing payments. Developers usually specialize in one or more coding, scripting, or markup languages, which they use to interface an integration with the software and hardware systems of the key players in the payment process. | | Expiry | A payment card’s expiration date, meaning the last day that it can be used. It’s represented as a two-digit month (MM) and two-digit year (YY) on the card. | | Fees | Costs associated with processing card payments for merchants. In pricing terminology, Interchange Plus (Interchange++), includes the following three fees: **Interchange fee** – Percentage fee charged to the acquirer by the cardholder's issuer for using the interchange system. **Card Brand fee** – Fee charged to the acquirer by the card brand for using its network. **Processing fee** – Fee (monthly, % of total transaction amount, or per-transaction) added by the acquirer or payment provider (processor) for providing card-processing services. Alternatively, a merchant can choose to use blended, standard, or simple pricing In which an all-in-one rate is quoted as the merchant discount rate. Blended pricing can offer simplicity but often leads to overall higher fees when compared to Interchange Plus. | | Issuer | A financial institution (usually a bank but not always) that offers payment cards branded by a card association directly to customers. The name is derived from the practice of issuing payment to the acquirer on behalf of its customer (the purchaser in the transaction). | | Merchant Identification Number (MID) | A unique number assigned to a merchant account to identify it throughout the course of payment processing activities. | | Payment Gateway | The software and servers that transmit transaction information to acquirers and responses from issuers, such as whether a transaction is approved or declined. Commonly referred to simply as a *gateway.* | | Payment Processor | A company that works with banks and other financial institutions to help a merchant process card payments for a fee. Also known as a card processor or payment provider. | | Primary Account Number (PAN) | A 14- to 19-digit number that appears on a payment card. It’s used to uniquely identify the primary account of the person who owns it and also contains information about which issuer (first eight digits) and which card brand (first digit) the card is associated with. | | Reversal | The act of voiding an authorization, capture, refund, or credit before capturing a transaction. If the transaction was already placed in the next settlement file (or batch), this will remove it. Transactions can be reversed in full or partially reversed. | | Software Development Kit (SDK) | A set of coding tools given to developers to help them quickly build an app or feature, for example, a front-end checkout page or a back-end resource like a database. SDKs are available in various coding languages such as Java, PHP, and .NET. | | Settlement | The process of sending a merchant’s batch file of transactions to the card brand network for processing and payment, and ultimately for cardholder billing. Describes the actual transfer of funds for sales and credits from the issuer to the acquirer. Acquirers pay the merchant (less any fees) with funds from the card brand. The issuer then bills the cardholder for the transaction amount. | ## Integration Options Source: https://developer.globalpayments.com/docs/integration-options/overview.md # Integration Options Using a REST framework, our API provides a single integration to connect into numerous regions, channels, and payment methods worldwide. We have solutions for every level of expertise: #### Plugins **No Code** Select from a variety of plugins and integrations for an easy, no code developer experience. They cover most of the major shopping cart platforms and are always up to date with the latest releases and features, including Card Processing, Hosted Fields, Order Management, Card Storage, and Alternative Payment Methods. #### SDKs & Libraries **Low Code** A software development kit (SDK) is a native language-specific library that simplifies integration so developers can get merchants to market months faster. Our SDKs are available in most of the major languages and their respective delivery platforms: Java, PHP, .NET, JavaScript, NodeJS, Android, and iOS. #### API **High Code** Connect into different regions, channels, and payment methods worldwide with a single integration. With our API, you have full control over your customer payment experience, allowing your customers to pay anytime, anywhere, and on any device. ## Plugins Source: https://developer.globalpayments.com/docs/integration-options/plugins.md # Plugins We provide no code integrations with third-party enterprise platforms, retail shopping carts, and vertical platforms and partners to make your development fast and easy. Explore our integrations by clicking on the links below. For each extension, you’ll find everything you need to know to download and go live with it. ## Adobe Commerce Source: https://developer.globalpayments.com/docs/integration-options/plugins/adobe.md # Adobe Commerce By integrating with our Adobe Commerce plugin, you'll gain access to the full range of our solutions, including PCI DSS scope reduction via [Hosted Fields](#hosted-fields "Hosted Fields section") (Drop-In UI), credit and debit processing, Digital Wallets, [Card Storage](#card-management "Card Management section"), [3D Secure](#3d-secure "3D Secure section"), [Order Management](#order-management "Order Management section"), and [Fraud Management](#fraud-management "Fraud Management section"). Specifications -------------- * **Categories:** Extensions, Payments & Security, Payment Integration * **Platform compatibility:** Open Source (CE): 2.4 (current), 2.3 (obsolete); Commerce on prem (EE): 2.4 (current), 2.3 (obsolete); Commerce on Cloud (ECE): 2.4 (current), 2.3 (obsolete) Step 1: Installation -------------------- ### Access plugin Click the button below to download this plugin and view any related documentation available. [Go to Plugin/Marketplace](https://marketplace.magento.com/realexpayments-module-payment-gateway.html) ### Credentials #### Sandbox credentials Our Adobe Commerce plugin requires credentials to our Unified Payments gateway. Test credentials can be obtained after registering with our [developer portal](/user "Developer Portal Login"). Once registration is complete, the required App Key and App Id can be found under your account. For more information and instructions, see [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md). #### Apple Pay credentials To integrate with Apple Pay, you’ll need to obtain the encrypted payment credentials. To do this, follow the steps in the applicable Apple guide below: * [In-app - Apple Pay PassKit](https://developer.apple.com/documentation/passkit/apple_pay/ "Apple Pay Passkit") * [In-browser - Apple Pay on the Web](https://developer.apple.com/documentation/apple_pay_on_the_web/ "Apple Pay on the Web") For more Apple Pay setup information, see our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. ### Configuration To configure this plugin, follow these steps. 1. Log in to the Admin panel for **Adobe Commerce**. 2. Navigate to **Stores > Configuration**.  3. Under the **Sales** heading, select the **Payment Methods** option.  4. From here, you can configure the Unified Payments gateway as well as the payment methods supported by Adobe Commerce. ### Settings The [Unified Payments](#unified-payments-settings "Unified Payments Settings section") gateway offers payment through credit and debit cards. Additional payment methods like Digital Wallets ([Google Pay](#google-pay-settings "Google Pay Settings section"), [Apple Pay](#apple-pay-settings "Apple Pay Settings section"), and [PayPal](#paypal-settings "PayPal Settings section")), Buy Now Pay Later ([Affirm](#affirm-settings "Affirm Settings section"), [Clearpay](#clearpay-settings "Clearpay Settings section"), and [Klarna](#klarna-settings "Klarna Settings section")), and [Bank Payment](#bank-payment-settings "Bank Payment settings section") (Open Banking) can be enabled via the Unified Payments gateway.  #### Unified Payments settings The Unified Payments Settings tab allows you to enter your overall account credentials. These global settings apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Unified Payments Settings tab for Adobe Commerce.  | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., “Credit Card.” The title will also be recorded in Adobe Commerce to indicate how the transaction was processed. | | Sandbox Mode | Allows you to switch between the Production (Live) and Sandbox version of your account with us. | | Sandbox App Id | The App Id and App Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](#global-payments-sandbox-credentials "Global Payments Sandbox Credentials section") section. | | Sandbox App Key | | Credentials Check | Validates your credentials. Note: Payment methods will not display at checkout if the credentials are incorrect. | | Contact Url | A link to an About or Contact page on your website with customer care information (max length: 50). | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Allow Card Saving | Determines whether a customer's card can be saved to our Card Storage solution following a successful transaction. If set to **Yes**, a checkbox displays on the Hosted Fields form that gives the customer the choice to store their card.  If set to **No**, no checkbox displays, and the card is not stored. | | Debug | Allows logging of all requests to and from the gateway. Can also log private data. Should only be enabled in a development or stage environment. Logs can be found at _var/log/_. | | Order Transaction Descriptor | During a Capture or Authorize payment action, this value is passed along as the transaction-specific descriptor listed on the customer's bank account (max length: 25). | | Fraud Mode | Enables merchants to automatically Pass, Hold, or Block transactions based on the result of the rules configured via the Fraud Management section in Ecommerce Portal. | | Enable 3D Secure | Enables the 3D Secure feature. For more details, see the [3D Secure](#3d-secure "3D Secure section") section. | #### Google Pay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Google Pay Settings tab allows you to enter your overall account credentials. These global settings apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Google Pay Settings tab for Adobe Commerce.  | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Google Pay." The title is also recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Client ID | The Client ID provided by us. | | Google Merchant ID | The Merchant ID provided by Google. | | Google Merchant Display Name | The text displayed to the customer in the Google Pay dialog box. | | Accepted Cards | Determines what card types can be used at checkout when paying with Google Pay. | | Allowed Card Authentication Methods | Methods allowed to authenticate a card transaction. Allowed values: **PAN_ONLY**: This authentication method is associated with payment cards stored on file with the user's Google Account. **CRYPTOGRAM_3DS**: This authentication method is associated with cards stored as Android device tokens. PAN\_ONLY can expose the Funding Primary Account Number (FPAN), which requires an additional Strong Customer Authentication (SCA) step up to a 3DS check. Currently, we don't support the Google Pay SCA challenge with an FPAN. For the best acceptance, we recommend that you provide only the CRYPTOGRAM\_3DS option. | | Button Color | Determines the color of the Google button displayed at checkout. | #### Apple Pay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Apple Pay Settings tab allows you to enter your overall account credentials. These global settings apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Apple Pay Settings tab for Adobe Commerce.  | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Apple Pay." The title is also recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Apple Merchant ID | The Merchant ID provided by Apple. For more info on creating an Apple Merchant ID, see [Apple Pay Programming](https://developer.apple.com/library/archive/ApplePay_Guide/Configuration.html "Apple Pay Programming"). | | Apple Merchant Cert Path | The path for the .crt.pem file. This path is the relative path from the root. For example, if you store this certificate as _<magento_location>/.well-known/ApplePay.crt.pem_, the path should be _.well-known/ApplePay.crt.pem_ For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. | | Apple Merchant Key Path | The path for the .key.pem file. For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. | | Apple Merchant Key Passphrase | The encryption key for the .key.pem file. If the .key.pem file is not encrypted, this field must be empty. | | Apple Merchant Domain | To fill this field, you first need to register and validate your domain in your Apple account. Follow the steps in the [Apple Developer Account Help](https://developer.apple.com/help/account/ "Apple Developer Account Help") (see the “Register a merchant domain” and “Verify a merchant domain” sections). Once validated, the value that must be inserted in this field is the Domain value you have in your Apple account for the current domain. | | Apple Merchant Display Name | The text displayed to the customer in the Apple Pay dialog box. | | Accepted Cards | Determines what types of cards can be used at checkout when paying with Apple Pay. | | Button Color | Determines the color of the Apple Pay button displayed at checkout. | #### PayPal settings > For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://docs.google.com/document/d/1hVcQMrfaB6eBwREnGcWN4fOVVV30MLwjNDUcqo9Bf5s/edit#heading=h.x3dp6wwivyvg) section. The PayPal Settings tab allows you to enter your overall account credentials. These are global settings that apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with PayPal." The title will also be recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (_Charge_) or flagged as requiring a separate capture action later (_Authorize_). | #### Affirm settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Affirm Settings tab allows you to enter your overall account credentials. These are global settings that apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Affirm Settings tab for Adobe Commerce.  | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Affirm." The title will also be recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Clearpay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Clearpay Settings tab allows you to enter your overall account credentials. These are global settings that apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Clearpay Settings tab for Adobe Commerce. | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Clearpay." The title will also be recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Klarna settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Klarna Settings tab allows you to enter your overall account credentials. These are global settings that apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Klarna Settings tab for Adobe Commerce. | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Klarna." The title will also be recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Bank Payment settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Bank Payment Settings tab allows you to enter your overall account credentials. These are global settings that apply to all integration types. You can enter specific credentials for different websites by changing the website scope in Adobe Commerce. The following table describes the fields that appear on the Settings tab. | Field | Description | | --- | --- | | Enabled | Determines if the payment method is available at your Adobe Commerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Bank Payment." The title will also be recorded in Adobe Commerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (_Charge_) or flagged as requiring a separate capture action later (_Authorize_). Currently, the Authorize mode is not supported. | | Account Number | Account number for bank transfers within the United Kingdom (UK-to-UK bank). Only required if no bank details are stored on the account. | | Account Name | The name of the individual or business on the bank account. Only required if no bank details are stored on the account. | | Sort Code | Six digits that identify the bank and branch of an account. Included with the account number for UK-to-UK bank transfers. Only required if no bank details are stored on the account. | | IBAN | Key field for bank transfers for Europe-to-Europe transfers. Only required if no bank details are stored on the account. Only required for EUR transacting merchants. | | Countries | Allows you to input a COUNTRY or string of COUNTRIES to limit what is shown to the customer. Including a country overrides your default account configuration. Format: List of ISO 3166-2 (two characters) codes separated by a \| Example: FR\|GB\|IE | | Currencies | The payment method is displayed at checkout only for the selected currencies. | | Sort Order | Checkout sort order. | Step 2: Test integration ------------------------ Use the test card numbers below to verify that your integration was set up properly. For testing, you can use any cardholder name, any expiry date in the future, and any CVN security code. For a full list of test cards, see our [Test Cards](/ecommerce/resources/test-card-numbers "Test Cards") article. Step 3: Going live ------------------ Now that you’ve successfully installed the plugin and tested to see if it was installed properly, you’re all set to go live in the Production environment. For more information, see our [Integration Validation to Go Live](/support/integration-valid "Integration Validation to Go Live") article. **Connect your integration for Production:** * Input your Production App Id / App Key into your gateway configuration in the Adobe Commerce Admin panel, and enable the "Live Mode" for the Unified Payments gateway.  **Go to Production with Google Pay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Google does not offer test cards, so you’ll have to use real ones. * In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the [Google Pay section](/ecommerce/resources/test-card-numbers#google-pay "Test Cards") of our Test Cards article. **Go to Production with Apple Pay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * You first need to configure a Sandbox account for Apple. For information on how to create a Sandbox account and test cards, see the Apple’s [Sandbox Testing](https://developer.apple.com/apple-pay/sandbox-testing/ "Apple Sandbox Testing") article. * In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the [Apple Pay section](/ecommerce/resources/test-card-numbers#apple-pay "Test Cards") of our Test Cards article. **Go to Production with PayPal:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable PayPal for your current account. * Once you get redirected to the PayPal payment page, create an account and process different transactions. **Go to Production with Affirm:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US and CAD - CA. * Once you get redirected to the Affirm payment page, create an account and process different transactions. **Go to Production with Clearpay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, and NZD - NZ. * Once you get redirected to the Clearpay payment page, create an account and process different transactions. **Go to Production with Klarna:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, NZD - NZ, EUR - AT, EUR - BE, EUR - DE, EUR - ES, EUR - FI, EUR - FR, EUR - IT, EUR - NL, CHF - CH, DKK - DK, NOK - NO, PLN - PL, and SEK - SE. * Once you get redirected to the Klarna payment page, create an account and process different transactions. **Go to Production with Bank Payment:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Open Banking for your current account. * Once you get redirected to the Bank Payment payment page, create an account and process different transactions. Additional information ---------------------- This section contains information on payment solutions such as [Hosted Fields](#hosted-fields "Hosted Fields section") and [Hosted Payment Page](#hosted-payment-page "Hosted Payment Page section"), risk management solutions such as [3D Secure](#3d-secure "3D Secure section") and [Fraud Management](#fraud-management "Fraud Management section"), as well as expanded features such as [Card Management](#card-management "Card Management section") and [Order Management](#order-management "Order Management section"). For the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna), additional information on checkout flow can be found in the [Async Payment Methods](#async-payment-methods "Async Payment Methods") section. ### Hosted Fields For information on our PCI DSS requirement-reducing hosted solution, Hosted Fields (Drop-In UI), see our [Hosted Fields - Overview](/docs/payments/online/hosted-fields-overview "Hosted Fields Overview") page. ### Hosted Payment Page For information on our Hosted Payment Page for Unified Payments REST API integrators, see our [Hosted Payment Page - Overview](/docs/payments/online/hosted-payment-page-overview "Hosted Payment Page Overview") page. ### 3D Secure For information on our 3D Secure solutions, see our [3D Secure - Overview](/docs/risk-management/3D-secure/overview "3D Secure Overview") page. We provide a Simulator Issuer Access Control Server that allows you to test different 3D Secure scenarios. For more information, see the [3D Secure section](/ecommerce/resources/test-card-numbers#3dsecure-2 "Test Cards - 3D Secure") of our Test Cards article. ### Card Management All card data is tokenized using our tokenization service. Registered customers can save their card information by selecting the “Save for later use” checkbox in the checkout form. The Adobe Commerce plugin securely stores card data with us and receives a token representation of the card, which is stored in the Adobe Commerce vault, with no increased PCI compliance requirements. 1. The customer can choose from the list of their stored cards. ![List of Visa card payment method options with Place Order button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-CardMgt1.png) 2. Registered customers can see their stored cards under **My Account > Stored Payment Methods**. They can also add new cards or delete the existing ones from here. ![List of Stored Payment Methods with Add New Card button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-CardMgt2.png) ### Async Payment Methods > This section applies to the following payment methods: Buy Now Pay Later (Affirm, Clearpay, and Klarna), Bank Payment, and PayPal (except the “Receiving the final payment status” section). Because these payment methods are handled by third-party services and require further processing from these third parties, the checkout flow has some differences compared with the Unified Payments or Digital Wallets ones. #### Initiate the payment 1. When a customer clicks the **Place Order** button, the order is placed with a **Pending Payment** status. ![Order total screen with Submit Comment button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-AsyncPM1.png) 2. Once the order has been created, an Initial Payment request type will occur. #### Redirect to third-party service If the Initiate Payment request is successful, the customer will be redirected to the third-party service to pay. ![Affirm enter mobile number box and Continue button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-AsyncPM2.png) **Third-Party Service Example** #### Redirect back to your website ##### Cancel the payment 1. If the customer decides to cancel the payment using the option provided by the third-party service (for example, clicking the X button on top left of the screen), they will be redirected to the cart page. Also, the order that was previously created will be canceled. ![Loan request decline message with OK button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-AsyncPM3.png) 2. The order canceling will not be processed on your website if the customer decides to leave the page using another option (for example, browser back button, browser X button, closing the tab, and so forth). Therefore, the order will still have the **Pending Payment** status in these cases. ##### Successfully completing the payment 1. If the customer successfully completes the payment, they will be redirected to the success page. 2. At this point, the order will still have a **Pending Payment** status. For more details, see the next section. #### Receiving the final payment status > If you’re using Apache, you need a version **greater than 2.4.47** and the following directive added to your config: **SetEnv proxy-sendcl 1**. Otherwise, the orders within your platform will not be updated as expected. 1. Because these payment methods are asynchronous, the final transaction status might not be available immediately. 2. Once our system gets the final status, it will notify your website. 3. At that point, the order status will change to **Processing**. #### Pending Payment orders 1. In cases where the orders are stuck in a **Pending Payment** status, we provide a **Get Transaction Details** button. ![Transaction id number and Edit button](https://developer.globalpayments.com/gh-assets/plugins/Pending%20Payment%20orders.png) 2. Clicking the **Get Transaction Details** button fetches all the information about the current transaction and displays it in a pop-up window. 3. Based on the Transaction Status, you can manually cancel the order or just continue with the normal flow. ### Order Management 1. Detailed information on transaction outcome is available in the **Orders** section for Adobe Commerce. 2. If the payment was successful, the order status will be set to the **New Order Status** configured under the relevant configuration section for us. #### Create an invoice – capture a transaction Merchants who use Authorize at checkout will authorize the funds on the customer’s card, but the transaction won’t be placed in the settlement file until we  capture it. The amount of time the funds can remain ring-fenced on the customer's card may vary between different Issuers and Acquirers. Card brands like Visa and Mastercard have their own rules regarding how long transactions can wait to be captured. 1. To view the response returned by us, first open the order and then select the **Transactions** tab. Select the relevant transaction to view the details of our response. ![Transaction id number with. search button and edit button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-OrderMgt1.png) 2. If successfully authorized, the funds will be ring-fenced on the customer’s account. When you want to include the transaction in the next settlement file (also known as a _batch_), you can simply send a Capture (Settle) request. When the transaction is captured with the Acquirer, the funds are deducted from the customer's account and settled into the merchant's account. 3. At this point, if you select **Invoices** from the left menu, you'll see that there is no invoice associated with the order. This is because we haven't captured it yet. 4. Click **Submit Invoice** to create a new invoice to be raised against this order. Here, you can review the result of the transaction before deciding to capture the funds. ![Items to invoice details with a Submit Invoice button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-OrderMgt3.png) 5. You must select **Capture Online** for the request to be sent to us. Once you click **Submit Invoice**, a Capture request with the amount specified is sent.   6. Once complete, the result of the Settle request is displayed. A comment indicating the amount captured is included in the order. For example: Captured amount of £2.17 online. Transaction ID: “TRN\_ULgzHnUq0IZfGpjuE20WVrG4dqMlrG\_1626167155” 7. If you select **Invoices** from the left menu now, you’ll see the invoice associated with the order. #### Create a Credit Memo – refund a captured transaction Once an order is successfully settled with your Acquirer, you can rebate the customer for 0% to 115% of the original order value. To do this, you must create a Credit Memo in Adobe Commerce. **Important Note:** The Credit Memo must be linked to a specific invoice, not the overall order.   1. Navigate to **Sales > Orders**, and select the order you want to rebate.  2. Open the relevant invoice, and click **Credit Memo**.  3. Under **Payment Information**, you can review the history of the order before deciding to process the rebate. ![Items to refund details screen with a Refund Online button and a Refund button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-OrderMgt3.png) 4. You must select **Refund** as opposed to Refund Offline. This will send the rebate request to us. You can edit the amount to rebate by editing the adjustment fields provided by Adobe Commerce.  5. Once complete, you will be returned to the **Order View** tab. A message indicating the outcome of the rebate request is included. A comment indicating the amount captured is included in the order. For example: We refunded £2.17 online. Transaction ID: "TRN\_YSaaHfsEfOFp9UB0tlHIUkBkqzaIIJ\_1626167155" #### Cancel an order - void (reverse) a transaction You can cancel a transaction _before_ it is sent for funding. The transaction will be fully reversed. If you already captured (settled) the transaction, see the [Create a Credit Memo – refund a captured transaction](#create-a-credit-memo "Create a Credit Memo section") section.  1. Navigate to **Sales > Orders**, and select the order you want to void (reverse). 2. Click **OK** to confirm the pop-up message. _This will send the Void (Reverse) request to us_. 3. Once complete, a message will display indicating the outcome of the Void (Reverse) request. ![Confirmation message that the payment has been voided](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-OrderMgt7.png) 4. A comment indicating the voided (reversed) amount is included with the order. For example: Voided authorization. Amount: $38.00. Transaction ID: "TRN\_gZU2tA3oku6WGjzlS7vNmdvzFo4u0p\_1643794511-void" ![Order total screen with order processing status and Submit Comment button](https://developer.globalpayments.com/gh-assets/plugins/AdobeCommerce-OrderMgt8.png) ### Fraud Management Our Fraud Filter enables merchants to automatically Pass, Hold, or Block transactions based on the result of one or more rule results. This functionality is configured via the Fraud Management section in Ecommerce Portal. It is important to note that any changes made to the Fraud Filter in Ecommerce Portal will impact the result returned in the API response. You will need to ensure that any changes don't adversely affect transaction processing in your application. For example: * If the Fraud Filter is turned off in the Ecommerce Portal, the data will not be returned in the transaction response. If the mode is changed between Active and Passive, this change will be reflected in the transaction response. * If a new rule is added, an additional element will be returned in the response. Similarly if a rule is deleted, the result will be removed from the response. * If a rule name is edited, the name will change to the new value in the response; the rule ID will remain the same. #### Fraud Mode set to Active 1. When the Fraud Response is set to **Active**, the action detailed in the Fraud Filter overall result will be executed. 2. All the fraud details related to that transaction will be displayed in the **Order Details** page, under the **Fraud Filter Result** tab. ##### Fraud response is PASS In this case, the transaction will pass, and it will follow the normal flow in Adobe Commerce. ##### Fraud response is NOT_EXECUTED In this case, the transaction will pass, and it will follow the normal flow in Adobe Commerce.  ##### Fraud response is HOLD 1. In this case, the transaction will be held and no further actions will be possible until it is released. 2. In Adobe Commerce, the status for the transaction will be set to **Held**, and Transaction Management will not be available. 3. The merchant will have only the option to **Release** or **Cancel** (only when the Payment Action is set to **Authorize**) that order. 4. Once released, Transaction Management will be available. ##### Fraud Response is BLOCK 1. In this case, the transaction will be blocked. 2. In Adobe Commerce, the customer will receive an error saying that “Your card has been declined by the bank” and no order will be created. #### Fraud Mode set to Passive 1. When the Fraud Mode is set to **Passive**, all the rules will be executed, but the action in the Fraud Filter overall will not be executed. 2. All the fraud details related to that transaction will be displayed in the **Order Details** page, under the **Fraud Filter Result** tab. ##### Fraud Response is PASS In this case, the transaction will follow the normal flow in Adobe Commerce. ##### Fraud Response is NOT_EXECUTED In this case, the transaction will follow the normal flow in Adobe Commerce. ##### Fraud Response is HOLD 1. In this case, the status for the order will be set to **Pending Review**, and Transaction Management will be available. 2. The merchant will have the option to **Hold** that order. 3. If the order is held, Transaction Management will be disabled until the order is released. ##### Fraud Response is BLOCK 1. In this case, the status for the order will be set to **Pending Review**, and Transaction Management will be available. 2. The merchant will have the option to **Hold** that order. If the order is held, Transaction Management will be disabled until the order is released. #### Fraud Mode set to Off When Fraud Mode is set to Off, the rules will not be executed. ##### Holding an order 1. The merchant will be presented with the option to **Hold** an order only when the status of the order is **Pending Review**. 2. Once **Hold** is clicked, a pop-up confirmation message appears. 3. If the merchant clicks **OK**, the **Hold** request will be executed. 4. If the request is successful, the order status is changed to **Held**, a success message appears, and Transaction Management will not be available. ##### Releasing an order 1. The merchant will be presented with the option to **Release** an order only when the status of the order is **Held**. 2. Once **Release** is clicked, a pop-up confirmation message appears. 3. If the merchant clicks **OK**, the Release request will be executed. 4. If the request is successful, the order status is changed to **Processing**, a success message appears, and Transaction Management will be available. ## OpenCart Source: https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md # OpenCart By integrating with our OpenCart plugin, you'll gain access to the full range of our solutions, including PCI DSS scope reduction via [Hosted Fields (Drop-In UI)](#hosted-fields), credit and debit processing, Digital Wallets, [Card Storage](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#card-management), [3D Secure](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#3d-secure), and [Order Management](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#order-management). ## Specifications * **Categories:** Payment Gateways * **Version:** Global Payments * **Created:** 7 Jun 2022 * **Compatibility:** 3.0.3 * **Tags:** creditcard, payment, gateway, debit, credit, secure, currency, free, globalpayments, sca, cardstorage, 3DS, token, tokenize, save cards, digital, wallets ## Installation ### Install the plugin Click the button below to download the plugin that is compatible with your OpenCart version and view any related documentation available. [Get the plugin](https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=43826&filter_search=globalpayments) ### Credentials #### Sandbox credentials Our OpenCart plugin requires credentials to our Unified Payments gateway. Test credentials can be obtained after registering with our [developer portal](https://developer.globalpayments.com/user). Once registration is complete, the required App Key and App Id can be found under your account. For more information and instructions, see our [Unified Payment Apps](https://developer.globalpayments.com/docs/getting-started/register.md#register-and-activate-your-account) documentation. #### Apple Pay credentials To integrate with Apple Pay, you’ll need to obtain the encrypted payment credentials. To do this, follow the steps in the applicable Apple Pay guide below: * [In-app - Apple Pay PassKit](https://developer.apple.com/documentation/passkit/apple_pay/) * [In-browser - Apple Pay on the Web](https://developer.apple.com/documentation/apple_pay_on_the_web/) For more Apple Pay setup information, see our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) page. ## Configuration To configure this plugin, follow these steps. 1) Log in to the Admin panel for OpenCart. 2) Navigate to **Extensions > Extensions**, and choose the **Payments** plugin type. 3) Locate the **Unified Payments Payment Method**, and click **Install **and then **Edit**.  4) From here, you can configure the Unified Payments gateway as well as the various payment methods supported by OpenCart. ## Settings The [Unified Payments](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) gateway offers payment through credit and debit cards. Additional payment methods like Digital Wallets ([Google Pay](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#google-pay-settings), [Apple Pay](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#apple-pay-settings), and [PayPal](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#paypal-settings)), Buy Now Pay Later ([Affirm](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#affirm-settings), [Clearpay](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#clearpay-settings), and [Klarna](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#klarna-settings)), and [Bank Payment](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#bank-payment-settings) can be enabled via the Unified Payments gateway.  ### Unified Payments settings The Unified Payments Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Unified Payments Settings tab for OpenCart.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Credit Card." | | Live Mode | Allows you to switch between the Live and Sandbox version of your account with us. | | Sandbox/Live App Id | The App Id and Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#sandbox-credentials) section. | | Sandbox/Live App Key | The App Id and Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#sandbox-credentials) section. | | Credentials Check | Determines if your credentials are valid. **The payment methods will not be displayed at checkout if the credentials are not correct.** | | Enable Logging | Allows logging of all requests to and from the gateway. Can also log private data and should only be enabled in a development or stage environment. The requests will be logged in the **storage/logs** folder. The structure for the name of the log file is as follows: `log{current_date}.txt_` | | Contact URl | A link to an About or Contact page on your website with customer care information (max length: 256). This field is mandatory. | | Enable 3D Secure | Enables the 3D Secure feature. For more details, see the [3D Secure](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#3d-secure) section. **If you reside in a region where 3DS is required, this feature will be enabled by default.** | | Sort Order | Sort order for checkout. | The Unified Payments Payment tab allows you to make selections regarding payment actions. The following table describes the fields that appear on the Unified Payments Payment tab for OpenCart. | Field | Description | | --- | --- | | Payment Action | The Sale transaction can be flagged for automatic capture (Authorize + Capture) or flagged as requiring a separate capture action later (Authorize only). | | Allow Card Saving | Determines whether customer's cards can be saved to our Card Storage following a successful transaction. If set to **Yes**, a checkbox displays on the Hosted Fields form giving the customer the choice to store their card. If set to **No**, no checkbox displays, and the card is not stored. | | Order Transaction Descriptor | During a Capture or Authorize payment action, this value will be passed along as the transaction-specific descriptor listed on the customer's bank account. | ### Google Pay settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The Google Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Google Pay Settings tab for OpenCart. | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Pay with Google Pay." | | Merchant ID | The Merchant ID provided by us. | | Google Merchant ID | The Merchant ID provided by Google. | | Accepted Cards | Determines what card types can be used at checkout when paying with Google Pay. | | Allowed Card Auth Methods | Methods allowed to authenticate a card transaction: **-PAN_ONLY:** This authentication method is associated with payment cards stored on file with the user's Google account.  **- CRYPTOGRAM_3DS:** This authentication method is associated with cards stored as Android device tokens. PAN_ONLY can expose the Funding Primary Account Number (FPAN), which requires an additional Strong Customer Authentication (SCA) step up to a 3DS check. Currently, we don’t support the Google Pay SCA challenge with an FPAN. **For the best acceptance, we recommend that you provide only the CRYPTOGRAM_3DS option.** | | Button Color | Determines the color of the Google Pay button displayed at checkout. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | ### Apple Pay settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The Apple Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Apple Pay Settings tab for OpenCart. | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Pay with Apple Pay." | | Apple Merchant ID | The Merchant ID provided by Apple. | | Apple Merchant Cert Path | The path for the **.crt.pem** file. This path is the relative path from the **DIR_STORAGE**. For example, if you store this certificate as **DIR_STORAGE/.well-known/ApplePay.crt.pem**, the path should be **.well-known/ApplePay.crt.pem** For more Apple Pay setup information, see the [Apple Pay credentials](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#apple-pay-credentials) section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) documentation. | | Apple Merchant Key Path | The path for the .key.pem file. For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) documentation. | | Apple Merchant Key Passphrase | The encryption key for the **.key.pem** file. If the **.key.pem** file is not encrypted, this field must be empty. | | Apple Merchant Domain | To fill this field, you first need to register and validate your domain in your Apple account. Follow the steps in the [Apple Developer Account Help](https://developer.apple.com/help/account/) (see the “Register a merchant domain” and “Verify a merchant domain” sections). Once validated, the value that must be inserted in this field is the Domain value you have in your Apple account, for the current domain. | | Apple Merchant Display Name | The text displayed to the customer in the Apple Pay dialog. | | Accepted Cards | Determines what types of cards can be used at checkout when paying with Apple Pay. | | Button Color | Determines the color of the Apple Pay button displayed at checkout. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | ### PayPal settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The PayPal Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the PayPal Settings tab for OpenCart.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Pay with PayPal." The title will also be recorded in OpenCart to indicate how the transaction was processed. | | Payment Action | The sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Sort Order | Sort order of checkout. | #### Affirm settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The Affirm Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Affirm Settings tab for OpenCart.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Pay with Affirm." The title will also be recorded in Opencart to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | ### Clearpay settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The Clearpay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Clearpay Settings tab for OpenCart.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Pay with Clearpay." The title will also be recorded in Opencart to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | ### Klarna settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The Klarna Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Klarna Settings tab for OpenCart.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your Opencart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, such as "Pay with Klarna." The title will also be recorded in Opencart to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | ### Bank Payment settings > **For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#unified-payments-settings) section.** The Bank Payment Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Bank Payment Settings tab.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your OpenCart store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Bank Payment." The title will also be recorded in OpenCart to indicate how the transaction was processed. | | Payment Action | The sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). Currently, the Authorize mode is not supported. | | Account Number | Account number for bank transfers within the United Kingdom (UK-to-UK bank). Required only if no bank details are stored on the account. | | Account Name | Name of the individual or business on the bank account. Required only if no bank details are stored on the account. | | Sort Code | Six digits that identify the bank and branch of an account. Included with the account number for UK-to-UK bank transfers. Required only if no bank details are stored on the account. | | IBAN | Key field for bank transfers for Europe-to-Europe transfers. Required only if no bank details are stored on account. Required only for EUR-transacting merchants. | | Countries | Allows you to input a `COUNTRY` or string of `COUNTRIES` to limit what is shown to the customer. Including a country overrides your default account configuration. Format: List of ISO 3166-2 two-character codes separated by a vertical pipe. Example: FR|GB|IE | | Currencies | The payment method will be displayed at checkout only for the selected currencies. | | Sort Order | Sort order checkout. | ## Test your integration Use the test card numbers below to verify that your integration was set up properly. For testing, you can use any cardholder name, any expiry date in the future, and any CVN security code. For a full list of test cards, see our [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) page. ## Going live Now that you’ve successfully installed the plugin and tested to see that everything is working properly, you’re all set to go live in the Production environment. For more information, see our [Integration Validation to Go Live](https://developer.globalpayments.com/support/integration-support) page. ### Connect your integration for Production Input your Production App Id and App Key into your gateway configuration in the OpenCart Admin panel, and enable the “Live Mode” for the Unified Payments  gateway.  ### Going to production with Google Pay This gateway shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * You'll have to use real transactions because Google does not offer test cards. * In Sandbox mode, our gateway allows only specific order amount values. All other values will be automatically declined. You can check the allowed values in the [Google Pay section](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#google-pay) on our Test Cards page. ### Going to production with Apple Pay This gateway shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * You first need to configure a Sandbox account for Apple. For information on how to create a Sandbox account and test cards, see the Apple’s [Sandbox Testing](https://developer.apple.com/apple-pay/sandbox-testing/) page. * In Sandbox mode, our gateway allows only specific order amount values. All other values will be automatically declined. You can check the allowed values in the [Apple Pay section](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#apple-pay) on our Test Cards page. ### Going to production with PayPal** This payment method shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * Contact the Unified Payments team and ask them to enable PayPal for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * Once you get redirected to the PayPal payment page, create an account and process different transactions. ### Going to production with Affirm This payment method shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency-country cases: USD-US and CAD-CA. * Once you get redirected to the Affirm payment page, create an account and process different transactions. ### Going to production with Clearpay This payment method shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency-country cases: USD-US and CAD-CA, GBP-GB, AUD-AU, and NZD-NZ. Once you get redirected to the Clearpay payment page, create an account and process different transactions. ### Going to production with Klarna This payment method shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account ((see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency-country cases: USD-US, CAD-CA, GBP-GB, AUD-AU, NZD-NZ, EUR-AT, EUR-BE, EUR-DE, EUR-ES, EUR-FI, EUR-FR, EUR-IT, EUR-NL, CHF-CH, DKK-DK, NOK-NO, PLN-PL, and SEK-SE. * Once you get redirected to the Klarna payment page, create an account and process different transactions. ### Going to production with PayPal This payment method shares the Sandbox/Production mode with the Unified Payments gateway. To process test transactions: * Contact the Unified Payments team and ask them to enable PayPal for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * Once you get redirected to the PayPal payment page, create an account and process different transactions. ## Additional information This section contains information on payment solutions such as [Hosted Fields](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#hosted-fields) and [Hosted Payment Page](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#hosted-payment-page), risk management solutions such as [3D Secure](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#3d-secure), as well as enhanced features such as [Card Management](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#card-management) and [Order Management](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#order-management). For the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna), additional information on checkout flow can be found in the [Async Payment Methods](https://developer.globalpayments.com/docs/integration-options/plugins/opencart.md#async-payment-methods) section. ### Hosted fields For information on Hosted Fields (Drop-In UI), our hosted solution for reducing PCI DSS requirements, see our [Hosted Fields - Overview](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md). ### Hosted payment page For information on our Hosted Payment Page for Unified Payments REST API integrators, see our [Hosted Payment Page - Overview](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md). ### 3D Secure For information on our 3D Secure solutions, see our [3D Secure - Overview](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md). We provide a Simulator Issuer Access Control Server that allows you to test different 3D Secure scenarios. See the [3D Secure section](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#3d-secure-2) on our Test Cards page. ### Card management All card data is tokenized using our tokenization service. Registered customers can save their card information by selecting the “Save to account” checkbox in the checkout form. The OpenCart plugin securely stores card data with us and receives a token representation of the card, which is stored in the OpenCart vault, with no increased PCI compliance requirements. 1) The customer can choose from the list of their stored cards. ![Send payment method tab with Confirm Order button](https://developer.globalpayments.com/gh-assets/plugins/OpenCart1-5x-AsyncPM1.png) 2) Registered customers can see the list of their stored cards under **My Account > Cards** where they can delete stored cards or add new ones. ### Async Payment Methods > **This section applies only to the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna) and the Bank Payment payment method. All sections except “Receiving the final payment status” apply to PayPal as well.** These payment methods are handled by third-party services and require further processing from them. As a result, the checkout flow has some differences compared with the Unified Payments or Digital Wallets flows. #### Initiate the payment When a customer clicks the **Place Order** button, the order is placed with a “Waiting for payment” status. Once the order has been created, an Initial Payment request type will occur. #### Redirect to a third-party service If the Initiate Payment request is successful, the customer will be redirected to the third-party service to pay. ![Affirm page with mobile number field and continue button](https://developer.globalpayments.com/gh-assets/plugins/OpenCart1-5x-AsyncPM2.png) **Third-Party Service Example** #### Redirect back to your website Here, the customer will either: * Cancel the payment * Successfully complete the payment If the customer successfully completes the payment, they will be redirected to the success page. At this point, the order will still have a **Pending Payment** status. #### Receiving the final payment status If the customer decides to cancel the payment using the option provided by the third party service (for example, clicking the X button on top left of the screen), they will be redirected to the cart page, and the order that was previously created will be canceled. ![Affirm confirmation message to cancel loan request](https://developer.globalpayments.com/gh-assets/plugins/OpenCart1-5x-AsyncPM3.png) If the customer decides to leave the page using another option (for example, browser back button, browser X button, or closing the tab), the canceled order will not be processed in your website and will still have the ‘Waiting for payment’ status. > **If you are using Apache, you'll need a version **greater than 2.4.47** and the following directive added to your config: `SetEnv proxy-sendcl 1`. Otherwise, the orders within your platform will not be updated as expected.** Since these payment methods are asynchronous, the final transaction status might not be available immediately. Once our system gets the final status, it will notify your website. At that point, the order status will be changed to **Processing**. #### ‘Waiting for payment’ orders In cases where the orders are stuck in a **Pending Payment** status, we provide a **Get Transaction Details** button. Clicking **Get Transaction Details** fetches all the information about the current transaction and displays it in a pop-up window. Based on the Transaction Status, you can manually cancel the order or just continue with the normal flow. ### Order management Detailed information relating to the transaction outcome is available in the **Orders** section for OpenCart. If payment was successful, the order status will be set to **Processing**. #### Create an invoice to capture a transaction Merchants who use “Authorize only” at checkout will authorize the funds on the customer's card, but the transaction won't be placed in the settlement file until we capture it. The amount of time the funds can remain ring-fenced on the customer's card may vary between different Issuers and Acquirers. Card brands like Visa and Mastercard have their own rules regarding how long transactions can wait to be captured. You can view the response returned by us in the **Unified Payments** tab: 1) When viewing the order, scroll down to the bottom of the page. The details of the response from us will be displayed. 2) If successfully authorized, the funds will now be ring-fenced on the customer's account. 3) When you want to include the transaction in the next settlement file (also known as a *batch*) you can simply send a Capture (Settle) request. 4) When the transaction is captured with the Acquirer, the funds are deducted from the customer's account and settled into the merchant's account. Once complete, the result of the Settle request will be displayed. #### Refund a captured transaction Once an order has been successfully settled with your Acquirer, you can rebate the customer for 0% to 115% of the original order value. To do this, you must create a Partial Refund in OpenCart:  1) Navigate to **Sales > Orders**, and select the order you want to rebate. 2) Click **Refund**. If no amount entered, a full refund of the authorized amount will be requested. 3) This will send the rebate request to us. You can change the amount to rebate by editing the input field.  4) Once complete, you will be returned to the Order page. A message will display indicating the outcome of the rebate request. A comment will be also added to the **Unified Payments** tab. #### Reverse a transaction You can cancel a transaction before it is sent for funding. The transaction will be fully reversed. If you already captured (settled) the transaction, see the [Refund a captured transaction](#refund-a-captured-transaction "Refund a Captured Transaction section") section.  1) **Scenario 1**: If the gateway has the payment action set to Authorize only: 1. In the Admin panel, select the order you want to reverse. It will have the status **Processing**. 2. Open the **Order History**, and select the **Unified Payments** tab. 2) **Scenario 2**: If the gateway has the payment action set to Authorize & Capture: 1. In the Admin panel, select the order you want to reverse. It will have the status **Processing**. 2. Open the **Order History**, and select the **Unified Payments** tab. 3) Next, click **Reverse**. A warning message will appear, asking if you want to proceed with the reverse. 4) Click **OK**. 5) Notice that a new entry line was added to the **Payment Information** list indicating the voided (reversed) amount with the Payment Action `reverse`. 6) Finally, go to **Add Order History** and manually change the Order Status from Processing to **Reversed**. Click **Add History**.  ![Drop-down list of order statuses with Reversed selected](https://developer.globalpayments.com/gh-assets/plugins/OpenCart-OrderMgt10.png) ## PrestaShop Source: https://developer.globalpayments.com/docs/integration-options/plugins/prestashop.md # PrestaShop By integrating with our PrestaShop plugin, you gain access to the full range of our solutions, including PCI DSS scope reduction via [Hosted Fields](#hosted-Fields) (Drop-In UI), credit and debit processing, Digital Wallets, [Card Storage](#card-storage "Card Management section"), [3D Secure](#3Dsecure "3D Secure section"), and [Order Management](#order-management "Order Management section"). Specifications -------------- * Prestashop compatibility: 8.x \- 9.0 * Module version: 1.7.2 * PHP version: 8.2 or higher * Minimum Recommended: Prestashop 8.x with PHP 8.2 * Best: Prestashop 9.x with PHP 8.3 Step 1: Installation -------------------- ### Access plugin Click the button below to download this plugin and view any related documentation available. [Go to Plugin/Marketplace](https://github.com/globalpayments/prestashop-hybrid) ### Credentials #### Sandbox credentials Our PrestaShop plugin requires credentials to our Unified Payments gateway. Test credentials can be obtained after registering with our [developer portal](/user "Developer Portal"). Once registration is complete, the required App Key and App Id can be found under your account. For more information and instructions, see [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md). #### Apple Pay credentials To integrate with Apple Pay, you’ll need to obtain the encrypted payment credentials. To do this, follow the steps in the applicable Apple guide below: * [In-app - Apple Pay PassKit](https://developer.apple.com/documentation/passkit/apple_pay/ "Apple Pay PassKit") * [In-browser - Apple Pay on the Web](https://developer.apple.com/documentation/apple_pay_on_the_web/ "Apple Pay on the Web") For more Apple Pay setup information, see our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. ### Configuration To configure this plugin, follow these steps. 1. Log in to the Admin panel for PrestaShop. 2. Navigate to **Modules > Module Manager**.  3. Under the **Other** tab, locate our module, and click **Configure**. _From here, you can configure our gateway._ ### Settings The [Unified Payments](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#unified-payments-settings) gateway offers payment through credit and debit cards. Additional payment methods like Digital Wallets ([Google Pay](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#google-pay-settings), [Apple Pay](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#apple-pay-settings), and [PayPal](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#paypal-settings)), Buy Now Pay Later ([Affirm](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#affirm-settings), [Clearpay](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#clearpay-settings), and [Klarna](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#klarna-settings)), and [Bank Payment](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#bank-payment-settings) can be enabled via the Unified Payments gateway. #### Unified Payments settings The Unified Payments Settings allows you to enter your overall account credentials. 1. Navigate to Modules \> Module Manager \> Global Payments, click Configure ![Module Manager](https://developer.globalpayments.com/gh-assets/plugins/preta1.png) 2. Under the Unified Payments tab toggle **Enable** to **Yes** ![Configure](https://developer.globalpayments.com/gh-assets/plugins/preta2.png) 3. Configure the remaining fields under settings and click **Save**. ![Configure](https://developer.globalpayments.com/gh-assets/plugins/preta3.png) The following table describes the fields that appear on the Unified Payments Settings tab for Prestashop. | Field | Description | | :---- | :---- | | Enable/Disable | Determines if the payment method is available at your Prestashop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g.,"Credit Card." The title will also be recorded in Prestashop to indicate how the transaction was processed. | | Live Mode | Allows you to switch between the Live and Sandbox versions of your account with us. | | Sandbox/Live App Id | The App Id and App Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#sandbox-credentials) section. | | Sandbox/Live App Key | The App Id and App Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#sandbox-credentials) section. | | Sandbox/Live Account Name | Allows you to select the merchant account name associated with your Global Payments merchant account | | Credentials Check | Determines if your credentials are valid. Note: The payment methods will not be displayed at checkout if the credentials are not correct. | | Enable Logging | Allows logging of all requests to and from the gateway. Can also log private data. Should only be enabled in a development or stage environment. Logs can be found at *Prestashop \> Status \> Logs*. | | Contact Url | A link to an About or Contact page on your website with customer care information (maxLength: 50). | | Enable 3D Secure | Enables the 3D Secure feature. For more details, see the [3D Secure](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#3d-secure) section. | | Payment Action | The sale transaction can be flagged for automatic capture (Authorize \+ Capture) or flagged as requiring a separate capture action later (Authorize only). | | Allow Card Saving | Determines whether a customer's card can be saved to our Card Storage solution following a successful transaction. If set to Yes, a checkbox displays on the Hosted Fields form that gives the customer the choice to store their card. If set to No, no checkbox displays, and the card is not stored. | | Order Transaction Descriptor | During a Capture or Authorize payment action, this value will be passed along as the transaction-specific descriptor listed on the customer's bank account. | | Sort Order | Sort order for checkout. | | BLIK | Enables the BLIK payment method and determines if the payment method is available at time of checkout. | | Open Banking | Enables the Open Banking payment method and determines if the payment method is available at time of checkout. | #### Google Pay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The Google Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Google Pay Settings tab for PrestaShop.  | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Google Pay." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Merchant ID | The Merchant ID provided by us. | | Google Merchant ID | The Merchant ID provided by Google. | | Accepted Cards | Determines what card types can be used at checkout when paying with Google Pay. | | Allowed Card Auth Methods | Methods allowed to authenticate a card transaction. **PAN_ONLY:** This authentication method is associated with payment cards stored on file with the user's Google account.  **CRYPTOGRAM_3DS:** This authentication method is associated with cards stored as Android device tokens. PAN\_ONLY can expose the Funding Primary Account Number (FPAN), which requires an additional Strong Customer Authentication (SCA) step up to a 3DS check. Currently, we don’t support the Google Pay SCA challenge with an FPAN. For the best acceptance, we recommend that you provide only the CRYPTOGRAM\_3DS option. | | Button Color | Determines the color of the Google Pay button displayed at checkout. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Sort Order | Sort order for checkout. | #### Apple Pay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The Apple Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Apple Pay Settings tab for PrestaShop. | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Apple Pay." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Apple Merchant ID | The Merchant ID provided by Apple. For more info on creating an Apple Merchant ID, see [Apple Pay Programming](https://developer.apple.com/library/archive/ApplePay_Guide/Configuration.html "Apple Pay Programming Guide"). | | Apple Merchant Cert Path | The path for the .crt.pem file. This path is the relative path from the root. For example, if you store this certificate as _<prestashop_location>/.well-known/ApplePay.crt.pem_, the path should be _.well-known/ApplePay.crt.pem_ For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. | | Apple Merchant Key Path | The path for the _.key.pem_ file. For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. | | Apple Merchant Key Passphrase | The encryption key for the ._key.pem_ file. If the .key.pem file is not encrypted, this field must be empty. | | Apple Merchant Domain | To fill this field, you will need to register and validate your domain in your Apple account first. Once validated, insert the domain value in your Apple account for the current domain into this field. | | Apple Merchant Display Name | The text displayed to the customer in the Apple Pay dialog box. | | Accepted Cards | Determines what types of cards can be used at checkout when paying with Apple Pay. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### PayPal settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The PayPal Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with PayPal." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Sort Order | Sort order for checkout. | #### Affirm settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The Affirm Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Affirm Settings tab for PrestaShop.  | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Affirm." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Clearpay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The Clearpay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Clearpay Settings tab for PrestaShop.  | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Clearpay." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Klarna settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The Klarna Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Klarna Settings tab for PrestaShop.  | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Klarna." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Bank Payment settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings") section. The Bank Payment Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enable | Determines if the payment method is available at your PrestaShop store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Bank Payment." The title will also be recorded in PrestaShop to indicate how the transaction was processed. | | Account Number | Account number for bank transfers within the United Kingdom (UK-to-UK bank). Required only if no bank details are stored on the account. | | Account Name | The name of the individual or business on the bank account. Required only if no bank details are stored on the account. | | Sort Code | Six digits that identify the bank and branch of an account. Included with the account number for UK-to-UK bank transfers. Required only if no bank details are stored on the account. | | IBAN | Key field for bank transfers for Europe-to-Europe transfers. Required only if no bank details are stored on the account. Required only for EUR transacting merchants. | | Countries | Allows you to input a COUNTRY or string of COUNTRIES to limit what is shown to the customer. Including a country overrides your default account configuration. Format: List of ISO 3166-2 (two characters) codes separated by a \| Example: FR\|GB\|IE | | Currencies | The payment method will be displayed at checkout only for the selected currencies. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | | Sort Order | Sort order for checkout. | Step 2: Test integration ------------------------ Use the test card numbers below to verify that your integration was set up properly. For testing, you can use any cardholder name, any expiry date in the future, and any CVN security code. For a full list of test cards, see our [Test Cards](/ecommerce/resources/test-card-numbers "Test Cards") article. Step 3: Going live ------------------ Now that you’ve successfully installed the plugin and tested to see if it was installed properly, you’re all set to go live in the Production environment. For more information, see our [Integration Validation to Go Live](/support/integration-valid "Integration Validation to Go Live") article. **Connect your integration for Production:** * Input your Production App Id /App Key into your gateway configuration in the PrestaShop Admin panel, and enable the “Live Mode” for the Unified Payments gateway.  **Go to Production with Google Pay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Google does not offer test cards, so you’ll have to use real ones. * In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the [Google Pay section](/ecommerce/resources/test-card-numbers#google-pay "Test Cards for Google Pay") of our Test Cards article. **Go to Production with Apple Pay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * You first need to configure a Sandbox account for Apple. For information on how to create a Sandbox account and test cards, see the Apple’s [Sandbox Testing](https://developer.apple.com/apple-pay/sandbox-testing/ "Apple Sandbox Testing article") article. * In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the [Apple Pay section](/ecommerce/resources/test-card-numbers#apple-pay "Test Cards for Apple Pay") of our Test Cards article. **Go to Production with PayPal:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable PayPal for your current account (see [Integration Support](/support/integration-support "Integration Support")). * Once you get redirected to the PayPal payment page, create an account and process different transactions. **Go to Production with Affirm:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US and CAD - CA. * Once you get redirected to the Affirm payment page, create an account and process different transactions. **Go to Production with Clearpay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, and NZD - NZ. * Once you get redirected to the Clearpay payment page, create an account and process different transactions. **Go to Production with Klarna:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, NZD - NZ, EUR - AT, EUR - BE, EUR - DE, EUR - ES, EUR - FI, EUR - FR, EUR - IT, EUR - NL, CHF - CH, DKK - DK, NOK - NO, PLN - PL, and SEK - SE. * Once you get redirected to the Klarna payment page, create an account and process different transactions. **Go to Production with Bank Payment:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Open Banking for your current account (see [Integration Support](/support/integration-support "Integration Support")). * Once you get redirected to the Bank Payment payment page, create an account and process different transactions. **Going to Production with BLIK:** * Set up the store information within Prestashop Configure \> Shop Parameters \> Contact \> Stores and **Save changes** * **Note**: *For BLIK to work properly, the country and currency must be configured for Poland.* ![BLIK](https://developer.globalpayments.com/gh-assets/plugins/blik1.png) * Set the currency within Prestashop International \> Localization \> Currencies and **Save changes** ![BLIK](https://developer.globalpayments.com/gh-assets/plugins/blik2.png) * If you do not see the desired currency, you can add a new currency by downloading the [localization pack](https://help-center.prestashop.com/hc/fr/articles/115000423312) associated with the currency you wish to download. For example, if you wish to add the Polish zlotys to your store, download the "Poland" pack. Once your localization pack has been imported: * Go to the "Currencies" tab on the International \> Localization page. * Select the currency you wish to install. * Set its exchange rate. This option is particularly useful if the currency in question is highly volatile. * Click on the toggle button in the "Enabled" column to bring your new currency online. * Enable BLIK within the shopping cart Payments Settings * Modules \> Module Manager \> Global Payments, click Configure ![BLIK](https://developer.globalpayments.com/gh-assets/plugins/blik3.png) * Process test transactions: * Contact the Unified Payments team and ask them to enable BLIK (redirect) for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency \- country cases: PL **Going to Production with Open Banking:** * Set up the store information within Prestashop Configure \> Shop Parameters \> Contact \> Stores and **Save changes** * **Note**: *For Open Banking to work properly, the country and currency must be configured for Poland.* ![Open Bankikng](https://developer.globalpayments.com/gh-assets/plugins/openbank1.png) * Set the currency within Prestashop International \> Localization \> Currency and **Save changes** ![Open Bankikng](https://developer.globalpayments.com/gh-assets/plugins/openbank2.png) * If you do not see the desired currency, you can add a new currency by downloading the [localization pack](https://help-center.prestashop.com/hc/fr/articles/115000423312) associated with the currency you wish to download. For example, if you wish to add the Polish zlotys to your store, download the "Poland" pack. Once your localization pack has been imported: * Go to the "Currencies" tab on the International \> Localization page. * Select the currency you wish to install. * Set its exchange rate. This option is particularly useful if the currency in question is highly volatile. * Click on the toggle button in the "Enabled" column to bring your new currency online. * Enable Open Banking in the Payments Settings * Modules \> Module Manager \> Global Payments, click Configure ![Open Bankikng](https://developer.globalpayments.com/gh-assets/plugins/openbank3.png) * Process test transactions: * Contact the Unified Payments team and ask them to enable Open Banking for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency \- country cases: PL Additional information ---------------------- This section contains information on payment solutions such as [Hosted Fields](#hosted-fields "Hosted Fields section") and [Hosted Payment Page](#hosted-payment-page "HPP section"), risk management solutions such as [3D Secure](#3Dsecure "3D Secure section"), and expanded features such as [Card Management](#card-storage "Card Management section") and [Order Management](#order-management "Order Management section"). For the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna), additional information on checkout flow can be found in the [Async Payment Methods](#async-payment-methods "Async Payment Methods") section. ### Hosted Fields For information on our PCI DSS requirement-reducing hosted solution, Hosted Fields (Drop-In UI), see our [Hosted Fields - Overview](/docs/payments/online/hosted-fields-overview "Hosted Fields Overview") page. ### Hosted Payment Page For information on our Hosted Payment Page for Unified Payments REST API integrators, see our [Hosted Payment Page - Overview](/docs/payments/online/hosted-payment-page-overview "Hosted Payment Page Overview") page. ### 3D Secure For information on our 3D Secure solutions, see our [3D Secure - Overview](/docs/risk-management/3D-secure/overview "3D Secure Overview") page. We provide a Simulator Issuer Access Control Server that allows you to test different 3D Secure scenarios. For more information, see the [3D Secure section](/ecommerce/resources/test-card-numbers#3d-secure-2 "Test Cards - 3D Secure") of our Test Cards article. ### Card Management All card data is tokenized using our tokenization service. Registered customers can save their card information by selecting the “Save for later use” checkbox in the checkout form. The PrestaShop plugin securely stores card data with us and receives a token representation of the card, which is stored in the PrestaShop vault, with no increased PCI compliance requirements. 1. The customer can choose from the list of their stored cards. ![Radio buttons with card selection. Place Order button at bottom.](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-CardMgt1.png) 2. Registered customers can see the list of their stored cards under **My Account > My Cards**. They can also delete their stored cards from here. ### Async Payment Methods This section applies only to the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna) and the Bank Payment payment method. All sections except “Receiving the final payment status” apply to PayPal as well. Because these payment methods are handled by third-party services and require further processing from these third parties, the checkout flow has some differences compared with the Unified Payments or Digital Wallets ones. #### Initiate the payment 1. When a customer clicks the **Place Order** button, the order is placed with a “Waiting for payment” status. 2. Once the order has been created, an Initial Payment request type will occur. #### Redirect to third-party service If the Initiate Payment request is successful, the customer will be redirected to the third-party service to pay. ![Affirm login screen with enter mobile number field and Continue button](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-Async-PM2.png) **Third-Party Service Example** #### Redirect back to your website ##### Cancel the payment 1. If the customer decides to cancel the payment using the option provided by the third-party service (for example, clicking the X button on top left of the screen), they will be redirected to the cart page. Also, the order that was previously created will be canceled. ![Popup message to confirm cancelation without completing loan request](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-Async-PM3.png) 2. The order canceling will not be processed in your website if the customer decides to leave the page using another option (for example, browser back button, browser X button, or closing the tab); therefore, the order will still have the ‘Waiting for payment’ status in these cases. ##### Successfully completing the payment 1. If the customer successfully completes the payment, they will be redirected to the success page. 2. At this point, the order will still have a **Pending Payment** status. For more details, see the next section. ##### Receiving the final payment status If you're using Apache, you’ll need a version **greater than 2.4.47** and the following directive added to your config: **SetEnv proxy-sendcl 1**. Otherwise, the orders within your platform will not be updated as expected. 1. Since these payment methods are asynchronous, the final transaction status might not be available immediately. 2. Once our system gets the final status, it will notify your website. 3. At that point, the order status will be changed to **Processing**. #### ‘Waiting for payment’ orders 1. In cases where the orders are stuck in a **Pending Payment** status, we provide a **Get Transaction Details** button. 2. Clicking the **Get Transaction Details** button will fetch all the information about the current transaction and display it in a pop-up window. 3. Based on the Transaction Status, you can manually cancel the order or just continue with the normal flow. ### Order Management 1. Detailed information on transaction outcome is available in the **Orders** section for PrestaShop. 2. If the payment was successful, the order status will be set to **Payment Accepted**. #### Create an invoice – capture a transaction Merchants who use “Authorize only” at checkout will authorize the funds on the customer’s card, but the transaction won’t be placed in the settlement file until we capture it. The amount of time the funds can remain ring-fenced on the customer's card may vary between different Issuers and Acquirers. Card brands like Visa and Mastercard have their own rules around how long transactions can wait to be captured. 1. To view the response returned by us, first open the order and then select **Transactions** from the left menu. Then, scroll to the bottom of the page to view the response details. 2. If successfully authorized, the funds will be ring-fenced on the customer’s account. When you want to include the transaction in the next settlement file (also known as a _batch_), you can simply send a Capture (Settle) request. When the transaction is captured with the Acquirer, the funds are deducted from the customer's account and settled into the merchant's account. 3. At this point, if you select the **Documents** tab, you'll see that there is no invoice associated with the order. This is because we haven't captured it yet.  4. For the request to be sent to us, you must select **Capture** from the** Transaction Management** tab.  5. Once complete, the result of the Settle request will be displayed. A comment is included in the Transaction Management History tab. For example: Transaction captured, amount: 20.00 USD. Transaction ID for the capture: TRN\_AUqXhl9sAuJ3TeKfAIfrEbPbB8O9L0\_e8f587f27ee6 6. If you select the **Documents** tab now, you’ll see the invoice associated with the order. #### Refund a captured transaction Once an order has been successfully settled with your Acquirer, you can rebate the customer for 0% to 100% of the original order value. To do this, you must create a Partial Refund in PrestaShop.  1. Navigate to **Orders**, and select the order you want to rebate.  2. Click **Partial refund**. This will send the rebate request to us. You can edit the amount to rebate by editing the adjustment fields provided by PrestaShop. ![Product screen with Partial Refund button](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-OrderMgt2a.png) 3. Once complete, you will be returned to the **Order** page, and a message indicating the outcome of the rebate request will display.  4. A comment will be also added to the Transaction Management History tab. For example: 18.9USD was reversed or refunded. Transaction ID: TRN\_1EVdczFZxLthk87bzWRIjJASMtmhPz\_9b5e6cd4f6f3 #### Pay for order 1. For an order created on the admin side with the status “Waiting for payment,” a new **Pay for Order** button is displayed. 2. Clicking this button will open a pop-up window where the admin can pay for the total order value using a card or one of the stored cards of the user that the order was set to. ![Pop-up window with inputs for credit card information and Pay button](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-OrderMgt4.png) ## WooCommerce Source: https://developer.globalpayments.com/docs/integration-options/plugins/woocommerce.md # WooCommerce By integrating with our WooCommerce plugin, you'll gain access to the full range of our solutions, including PCI DSS scope reduction via [Hosted Fields](#hosted-fields) (Drop-In UI), credit and debit processing, Digital Wallets, [Card Storage](#card-management "Card Management section"), [3D Secure](#3d-secure "3D Secure section"), and [Order Management](#order-management "Order Management section"). Specifications -------------- * **WordPress version:** 6.0 or higher  * **Tested up to:** 6.8.3  * **PHP version:** 8.2 or higher Step 1: Installation -------------------- ### Access plugin Click the button below to download this plugin and view any related documentation available. [Go to Plugin/Marketplace](https://wordpress.org/plugins/global-payments-woocommerce/) ### Credentials #### Sandbox credentials Our WooCommerce plugin requires credentials to our Unified Payments gateway. Test credentials can be obtained after registering with our [developer portal](/user "Developer Portal Login"). Once registration is complete, the required App Key and App Id can be found under your account. For more information and instructions, see [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md). #### Apple Pay credentials To integrate with Apple Pay, you’ll need to obtain the encrypted payment credentials. To do this, follow the steps in the applicable Apple guide below: * [In-app - Apple Pay PassKit](https://developer.apple.com/documentation/passkit/apple_pay/ "Apple Pay PassKit") * [In-browser - Apple Pay on the Web](https://developer.apple.com/documentation/apple_pay_on_the_web/ "Apple Pay on the Web") For more Apple Pay setup information, see our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. ### Configuration To configure this plugin, follow these steps. 1. Log in to the Admin panel for WooCommerce. 2. Navigate to **WooCommerce > Settings > Payments**.  ![Woocommerce config](https://developer.globalpayments.com/gh-assets/integration-options/woo-config1.png) 3. From here, you can click **Manage** to configure the Unified Payments gateway as well as the various payment methods supported by WooCommerce. Note: If this is your first time activating this plugin, the Settings page will appear first. ![Woocommerce config](https://developer.globalpayments.com/gh-assets/integration-options/woo-config2.png) ### Settings The [Unified Payments](#unified-payments-settings "Unified Payments Settings section") gateway offers payment through credit and debit cards. Additional payment methods like Digital Wallets ([Google Pay](#google-pay-settings "Google Pay Settings section"), [Apple Pay](#apple-pay-settings "Apple Pay Settings section"), and [PayPal](#paypal-settings "PayPal Settings section")), Buy Now Pay Later ([Affirm](#affirm-settings "Affirm Settings section"), [Clearpay](#clearpay-settings "Clearpay Settings section"), and [Klarna](#klarna-settings "Klarna Settings section")), and [Bank Payment](#bank-payment-settings "Bank Payment Settings section") can be enabled via the Unified Payments gateway.  #### Unified Payments settings The Unified Payments Settings tab allows you to enter your overall account credentials.  1. Navigate to **WooCommerce > Settings > Payments**.  2. Use the toggle under Enabled to select the **Unified Payments** gateway. Note: If this is your first time activating this plugin, the Settings page will appear. 3. If you already enabled the plugin and want to change the settings, click **Manage**. The following table describes the fields that appear on the Unified Payments Settings tab for WooCommerce.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g.,"Credit Card." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Live Mode | Allows you to switch between the Live and Sandbox versions of your account with us. | | Sandbox/Live App Id | The App Id and App Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](#sandbox-credentials "Sandbox Credentials section") section. | | Sandbox/Live App Key | The App Id and App Key are used to obtain a bearer access token to execute API actions. For more information, see the [Sandbox credentials](https://developer.eservicegateway.com/docs/integration-options/plugins/woocommerce#sandbox-credentials) section. | | Credentials Check | Determines if your credentials are valid. Note: The payment methods will not be displayed at checkout if the credentials are not correct. | | Allow Card Saving | Determines whether a customer's card can be saved to our Card Storage solution following a successful transaction. If set to **Yes**, a checkbox displays on the Hosted Fields form that gives the customer the choice to store their card. If set to **No**, no checkbox displays, and the card is not stored. | | Enable Logging | Allows logging of all requests to and from the gateway. Can also log private data. Should only be enabled in a development or stage environment. Logs can be found at _WooCommerce > Status > Logs_. | | Contact Url | A link to an About or Contact page on your website with customer care information (maxLength: 50). | | Enable 3D Secure | Enables the 3D Secure feature. For more details, see the [3D Secure](#3d-secure "3D Secure section") section. | | Payment Action | The sale transaction can be flagged for automatic capture (Authorize + Capture) or flagged as requiring a separate capture action later (Authorize only). | | Order Transaction Descriptor | During a Capture or Authorize payment action, this value will be passed along as the transaction-specific descriptor listed on the customer's bank account. | | BLIK | Enables the BLIK payment method and determines if the payment method is available at time of checkout. | | Bank Select | Enables the Bank Select payment method and determines if the payment method is available at time of checkout. | #### Google Pay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Google Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Google Pay Settings tab for WooCommerce. | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Google Pay." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Client ID | The Client ID provided by us. | | Google Merchant ID | The Merchant ID provided by Google. | | Google Merchant Display Name | Text displayed to the customer in the Google Pay dialog box. | | Accepted Cards | Determines what card types can be used at checkout when paying with Google Pay. | | Allowed Card Auth Methods | Methods allowed to authenticate a card transaction. **PAN_ONLY:** This authentication method is associated with payment cards stored on file with the user's Google account.  **CRYPTOGRAM_3DS:** This authentication method is associated with cards stored as Android device tokens. PAN\_ONLY can expose the Funding Primary Account Number (FPAN), which requires an additional Strong Customer Authentication (SCA) step up to a 3DS check. Currently, we don’t support the Google Pay SCA challenge with an FPAN. For the best acceptance, we recommend that you provide only the CRYPTOGRAM\_3DS option. | | Button Color | Determines the color of the Google Pay button displayed at checkout. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Apple Pay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Apple Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Apple Pay Settings tab for WooCommerce. | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Apple Pay." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Apple Merchant ID | The Merchant ID provided by Apple. For more info on creating an Apple Merchant ID, see [Apple Pay Programming](https://developer.apple.com/library/archive/ApplePay_Guide/Configuration.html "Apple Pay Programming Guide"). | | Apple Merchant Cert Path | The path for the .crt.pem file. This path is the relative path from the root. For example, if you store this certificate as _<wordpress_location>/.well-known/ApplePay.crt.pem_, the path should be ._well-known/ApplePay.crt.pem_ For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. | | Apple Merchant Key Path | The path for the .key.pem file. For more Apple Pay setup information, see the [Apple Pay credentials](#apple-pay-credentials "Apple Pay Credentials section") section or our [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) article. | | Apple Merchant Key Passphrase | The encryption key for the .key.pem file. If the .key.pem file is not encrypted, this field must be empty. | | Apple Merchant Domain | To fill this field, you first need to register and validate your domain in your Apple account. Follow the steps in the [Apple Developer Account Help](https://developer.apple.com/help/account/ "Apple Developer Account Help") (see the “Register a merchant domain” and “Verify a merchant domain” sections). Once validated, the value that must be inserted in this field is the Domain value you have in your Apple account, for the current domain. | | Apple Merchant Display Name | The text displayed to the customer in the Apple Pay dialog box. | | Accepted Cards | Determines what types of cards can be used at checkout when paying with Apple Pay. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### PayPal settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Paypal Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Affirm." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Clearpay settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Clearpay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Clearpay Settings tab for WooCommerce.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Clearpay." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Klarna settings > For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Klarna Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with PayPal." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Affirm settings > For this payment method to work, you’ll need to **fully configure** the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Affirm Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Klarna." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). | #### Bank Payment settings > For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the [Unified Payments settings](#unified-payments-settings "Unified Payments Settings section") section. The Bank Payment Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.  | Field | Description | | --- | --- | | Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. | | Title | Description of the payment method displayed to the customer at checkout, e.g., "Bank Payment." The title will also be recorded in WooCommerce to indicate how the transaction was processed. | | Account Number | Account number, for bank transfers within the United Kingdom (UK-to-UK bank). Required only if no bank details are stored on the account. | | Account Name | Name of the individual or business on the bank account. Required only if no bank details are stored on the account. | | Sort Code | Six digits that identify the bank and branch of an account. Included with the account number for UK-to-UK bank transfers. Required only if no bank details are stored on the account. | | IBAN | Key field for bank transfers for Europe-to-Europe transfers. Required only if no bank details are stored on account. Required only for EUR transacting merchants. | | Countries | Allows you to input a COUNTRY or string of COUNTRIES to limit what is shown to the customer. Including a country overrides your default account configuration. Format: List of ISO 3166-2 (two characters) codes separated by a \| Example: FR\|GB\|IE | | Currencies | The payment method will be displayed at checkout only for the selected currencies. | | Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). Currently, the Authorize mode is not supported. | Step 2: Test integration ------------------------ Use the test card numbers below to verify that your integration was set up properly. For testing, you can use any cardholder name, any expiry date in the future, and any CVN security code. For a full list of test cards, see our [Test Cards](/ecommerce/resources/test-card-numbers "Test Cards") article. Step 3: Going live ------------------ Now that you’ve successfully installed the plugin and tested to see if it was installed properly, you’re all set to go live in the Production environment. For more information, see our [Integration Validation to Go Live](/support/integration-valid "Integration Validation to Go Live") article. **Connect your integration for Production:** * Input your Production App Id / App Key into your gateway configuration in the WooCommerce Admin panel, and enable the “Live Mode” for the Unified Payments  gateway.  **Go to Production with Google Pay:** * This gateway shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Google does not offer test cards, so you’ll have to use real ones. * In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the [Google Pay section](/ecommerce/resources/test-card-numbers#google-pay "Test Cards - Google Pay section") of our Test Cards article. **Go to Production with Apple Pay:** * This gateway shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * You first need to configure a Sandbox account for Apple. For information on how to create a Sandbox account and test cards, see the Apple’s [Sandbox Testing](https://developer.apple.com/apple-pay/sandbox-testing/ "Apple Sandbox Testing ") article. * In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the [Apple Pay section](/ecommerce/resources/test-card-numbers#apple-pay "Test Cards - Apple Pay section") of our Test Cards article. **Go to Production with PayPal** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable PayPal for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * Once you get redirected to the PayPal payment page, create an account and process different transactions. **Going to Production with Affirm:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US and CAD - CA. * Once you get redirected to the Affirm payment page, create an account and process different transactions. **Going to Production with Clearpay:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, and NZD - NZ. * Once you get redirected to the Clearpay payment page, create an account and process different transactions. **Going to Production with Klarna:** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see [Integration Support](/support/integration-support "Integration Support")). * This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, NZD - NZ, EUR - AT, EUR - BE, EUR - DE, EUR - ES, EUR - FI, EUR - FR, EUR - IT, EUR - NL, CHF - CH, DKK - DK, NOK - NO, PLN - PL, and SEK - SE. * Once you get redirected to the Klarna payment page, create an account and process different transactions. **Go to Production with Bank Payment** * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Process test transactions: * Contact the Unified Payments team and ask them to enable Open Banking for your current account (see [Integration Support](https://developer.globalpayments.com/support/integration-support)). * Once you get redirected to the Bank Payment payment page, create an account and process different transactions. **Go to Production with BLIK** * Set up the store information in the WooCommerce Settings \> General and **Save changes** **Note**: *For BLIK to work properly, the country and currency must be configured for Poland. WooCommerce \> Settings \> General* ![BLIK configuration screen 1](https://developer.globalpayments.com/gh-assets/plugins/blik-1.png) * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * In the WooCommerce Payments Settings, update the **Business location:** to reflect Poland. ![BLIK configuration screen 2](https://developer.globalpayments.com/gh-assets/plugins/blik-2.png) * Enable BLIK within the shopping cart Payments Settings * WooCommerce \> Settings \> Payments \> Unified Payments \> BLIK ![BLIK configuration screen 3](https://developer.globalpayments.com/gh-assets/plugins/blik-3.png) * Process test transactions: * Contact the Unified Payments team and ask them to enable BLIK (redirect) for your current account ([see Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency \- country cases: PL **Go to Production with Bank Select** * Set up the store information in the WooCommerce Settings \> General and **Save changes** **Note**: *For Bank Select to work properly, the country and currency must be configured for Poland. WooCommerce \> Settings \> General* ![Bank Select configuration screen 1](https://developer.globalpayments.com/gh-assets/plugins/blik-1.png) * In the WooCommerce Payments Settings, update the **Business location:** to reflect Poland. ![Bank Select configuration screen 2](https://developer.globalpayments.com/gh-assets/plugins/blik-2.png) * This payment method shares the Sandbox/Production mode with the Unified Payments gateway. * Enable Bank Select in the Payments Settings * WooCommerce \> Settings \> Payments \> Unified Payments \> Bank Select ![Bank Select configuration screen 3](https://developer.globalpayments.com/gh-assets/plugins/blik-3.png) * Process test transactions: * Contact the Unified Payments team and ask them to enable Bank Select for your current account ([see Integration Support](https://developer.globalpayments.com/support/integration-support)). * This payment method will be displayed at checkout only for the following currency \- country cases: PL Additional information ---------------------- This section contains information on payment solutions such as [Hosted Fields](#hosted-fields "Hosted Fields section") and [Hosted Payment Page](#hosted-payment-page "Hosted Payment Page section"), risk management solutions such as [3D Secure](#3d-secure "3D Secure section"), as well as enhanced features such as [Card Management](#card-management "Card Management section") and [Order Management](#order-management "Order Management section"). For the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna), additional information on checkout flow can be found in the [Async Payment Methods](#async-payment-methods "Async Payment Method section") section. ### Hosted Fields For information on our PCI DSS requirement-reducing hosted solution, Hosted Fields (Drop-In UI), see our [Hosted Fields - Overview](/docs/payments/online/hosted-fields-overview "Hosted Fields Overview") page. ### Hosted Payment Page For information on our Hosted Payment Page for Unified Payments REST API integrators, see our [Hosted Payment Page - Overview](/docs/payments/online/hosted-payment-page-overview "Hosted Payment Page Overview") page. ### 3D Secure For information on our 3D Secure solutions, see our [3D Secure - Overview](/docs/risk-management/3D-secure/overview "3D Secure Overview") page. We provide a Simulator Issuer Access Control Server that allows you to test different 3D Secure scenarios. For more information, see the [3D Secure section](/ecommerce/resources/test-card-numbers#3dsecure-2 "Test Cards - 3D Secure") of our Test Cards article. ### Card Management > All card data is tokenized using our tokenization service. Registered customers can save their card information by selecting the “Save to account” checkbox in the checkout form. The WooCommerce plugin securely stores card data with us and receives a token representation of the card, which is stored in the WooCommerce vault, with no increased PCI compliance requirements. 1. The customer can choose from the list of their stored cards. ![Credit card selection list and Place Order button](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Cardmgt1.png) 2. Registered customers can see the list of their stored cards under **My Account > Payment Methods**. ![Payment methods list of stored cards](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Cardmgt2.png) 3. Registered customers can add new payment methods by navigating to **My Account > Payment Methods > Add Payment Method**. A validation of the payment method is done to ensure it can be used to create a transaction at a later time and the card data is received through Hosted Fields. ![Credit card details page and Add Payment Method button](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Cardmgt3.png) ### Order Management Detailed information relating to the transaction outcome is available in the Orders section for WooCommerce.  #### Capture a transaction Merchants who use “Authorize only” at checkout will authorize the funds on the customer's card, but the transaction won't be placed in the settlement file until We capture it. The amount of time the funds can remain ring-fenced on the customer's card may vary between different Issuers and Acquirers. Card brands like Visa and Mastercard have their own rules around how long transactions can wait to be captured.  1. You can view the Transaction ID returned by us under the order details. ![Edit order details screen](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Ordermgt1.png) 2. If successfully authorized, the funds will be ring-fenced on the customer's account. When you want to include the transaction in the next settlement file (also known as a _batch_), you can simply send a Capture (Settle) request. When the transaction is captured with the Acquirer, the funds are deducted from the customer's account and settled into the merchant's account. 3. To capture a transaction, on the right-hand menu, go to **Order** **actions**. Select **Capture credit card authorization** to send the request to us. ![Choose an action drop-down list with Capture Credit Card Authorization selected](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Ordermgt2.png) 4. When finished, click **Update**. _A Capture request with the total amount authorized will now be sent._   5. Once complete, the result of the Settle request will be displayed as a comment in the Order notes. For example: Transaction captured. Transaction ID for the capture: TRN\_Q5LIgwyAGg19h6OSmTWPSHTtygss5c\_0426b98fcb98). ![two order notes with saved transaction information ](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Ordermgt3.png) #### Refund a captured transaction Once an order is successfully settled with your Acquirer, you can rebate the customer for 0% to 115% of the original order value. To do this, you must do a Refund in WooCommerce.  1. Navigate to **WooCommerce > Orders**, and select the order you want to rebate.  2. You can edit the amount to rebate by editing the adjustment fields provided by WooCommerce. ![Refund input fields with buttons for refunding manually or via Unified Payments](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-Ordermgt4.png) 3. Once complete, the result of the Refund request will be displayed as a comment in the Order notes. For example: €10.00 was reversed or refunded. Transaction ID: TRN\_USaGaxBIRCQajDlqcqPolBkUwfRAL4\_0426b98fcb98. ### Async Payment Methods > This section applies only to the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna) and the Bank Payment payment method. All sections except “Receiving the final payment status” apply to PayPal as well. Because these payment methods are handled by third-party services and require further processing from these third parties, the checkout flow has some differences compared with the Unified Payments or Digital Wallets ones. #### Initiate the payment 1. When a customer clicks the **Place Order** button, the order is placed with a “Waiting for payment” status. 2. Once the order has been created, an Initial Payment request type will occur. #### Redirect to third-party service If the Initiate Payment request is successful, the customer will be redirected to the third-party service to pay. ![Affirm login screen with enter mobile number field and Continue button](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-Async-PM2.png) **Third-Party Service Example** #### Redirect back to your website ##### Cancel the payment 1. If the customer decides to cancel the payment using the option provided by the third-party service (for example, clicking the X button on top left of the screen), they will be redirected to the cart page and the order that was previously created will be canceled. ![Popup message to confirm cancelation without completing loan request](https://developer.globalpayments.com/gh-assets/plugins/PrestaShop-Async-PM3.png) 2. The order canceling will not be processed in your website if the customer decides to leave the page using another option (for example, browser back button, browser X button, or closing the tab); therefore, the order will still have the “Waiting for payment” status in these cases. ##### Successfully completing the payment 1. If the customer successfully completes the payment, they will be redirected to the success page. 2. At this point, the order will still have a **Pending Payment** status. For more details, see the next section. #### Receiving the final payment status > If you are using Apache, you will need a version **greater than 2.4.47** and the following directive added to your config: **SetEnv proxy-sendcl 1**. Otherwise, the orders within your platform will not be updated as expected. 1. Because these payment methods are asynchronous, the final transaction status might not be available immediately. 2. Once our system gets the final status, it will notify your website. 3. At that point, the order status will be changed to **Processing**. #### ‘Waiting for payment’ orders 1. In cases where the orders are stuck in a **Pending Payment** status, we provide a **View Transaction Info** button. ![Transaction status page with View Transaction Info button](https://developer.globalpayments.com/gh-assets/plugins/WooCommerce-AsycPM5.png) 2. Clicking **View Transaction Info** fetches all the information about the current transaction and displays it in a pop-up window. 3. Based on the Transaction Status, you can manually cancel the order or just continue with the normal flow. ## Overview Source: https://developer.globalpayments.com/docs/integration-options/sdk/overview.md # SDKs & Libraries Software Development Kits (SDKs) are native libraries that developers can use to simplify the integration process. This can shave months of development time off the integration process and get merchants to market much faster. These SDKs are available in the following languages. ## Server-side SDKs Generate requests and manage API calls. ### [JAVA](https://developer.globalpayments.com/docs/integration-options/sdk/java.md) ### [PHP](https://developer.globalpayments.com/docs/integration-options/sdk/php.md) ### [.NET](https://developer.globalpayments.com/docs/integration-options/sdk/net.md) ## Client-side SDKs Generate requests, manage API calls, and use for front-end calls, for example Iframes or devices (terminals). ### [JavaScript](https://developer.globalpayments.com/docs/integration-options/sdk/javascript.md) ### [Android](https://developer.globalpayments.com/docs/integration-options/sdk/android.md) ### [iOS](https://developer.globalpayments.com/docs/integration-options/sdk/ios.md) ## Java Source: https://developer.globalpayments.com/docs/integration-options/sdk/java.md # SDK - Java ## GitHub Download the the latest release of the Java SDK from [GitHub](https://github.com/globalpayments/java-sdk). ## Requirements Java 8 or higher. ## Installation Installing the SDK into your solution is usually done using Maven. ### Maven To install via [Maven](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html), add the below dependency to the POM: ``` com.globalpayments globalpayments-sdk 15.1.14 ``` ### Gradle ``` implementation 'com.globalpayments:globalpayments-sdk:15.1.14' ``` ## Start integrating ### [Online](https://developer.globalpayments.com/docs/payments/online/api-guide.md) Take payments securely online while meeting PCI DSS requirements. ### [In-Store](https://developer.globalpayments.com/docs/payments/in-store/full-integration.md) Code directly to a payment device and our API for complete control of displays and workflows. ### [SDK Reference](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/overview.md) References to help you with your SDK integration. ## PHP Source: https://developer.globalpayments.com/docs/integration-options/sdk/php.md # SDK - PHP ## GitHub Download the the latest release of the SDK from [GitHub](https://github.com/globalpayments/php-sdk). ## Requirements For security and support, we highly recommend you use PHP 8.2+. * PHP >= 8.2.35 ## Installation Installing the SDK into your solution is usually done using [Composer/Packagist](https://packagist.org/packages/globalpayments/php-sdk). ### Composer Add the following to your composer.json file: ``` { "require": { "globalpayments/php-sdk": "2.0.0" } } ``` Inside the application directory, run composer (from the command line): ``` composer update OR (depending on your server configuration) php composer.phar update ``` Add a reference to the autoloader class anywhere you need to use the SDK: ``` require_once ('vendor/autoload.php'); ``` ## Start integrating ### [Online](https://developer.globalpayments.com/docs/payments/online/api-guide.md) Take payments securely online while meeting PCI DSS requirements. ### [SDK Reference](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/overview.md) References to help you with your SDK integration. ## .NET Source: https://developer.globalpayments.com/docs/integration-options/sdk/net.md # SDK - .NET ## GitHub Download the the latest release of the SDK from [GitHub](https://github.com/globalpayments/dotnet-sdk). ## Requirements * .NET Core 1.0+ * .NET Framework 4.6+ * Mono 4.6+ ## Installation Installing the SDK into your solution is usually done using [NuGet Manager Console](https://docs.nuget.org/consume/package-manager-console). ### NuGet ``` Install-Package GlobalPayments.Api -Version 1.7.14 ``` ## Start integrating ### [Online](https://developer.globalpayments.com/docs/payments/online/api-guide.md) Take payments securely online while meeting PCI DSS requirements. ### [SDK Reference](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/overview.md) References to help you with your SDK integration. ## JavaScript Source: https://developer.globalpayments.com/docs/integration-options/sdk/javascript.md # JavaScript Library ## Drop-In UI and Hosted Fields Our JavaScript Library allows you to integrate the Drop-In UI payment form into your web application easily. Alternatively, you can use the Hosted Fields components on their own with your existing checkout. To learn how to integrate this solution fully into your application, see our [Hosted Fields](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md) or [Drop-In UI](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md) documentation. ## Using our Javascript Library ```xml ``` You can explore the JavaScript Library on [GitHub](https://github.com/globalpayments/globalpayments-js). ## 3D Secure 2 Library The JavaScript Library leverages our 3D Secure solution and helps handle the notification to and from the Issuer Access Control Server (ACS), as well as help with the front end for displaying the challenge to the customer. To learn how to integrate 3D Secure, see our [Browser Authentication for 3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md) article. ### npm ```xml npm i globalpayments-3ds ``` You can explore the 3D Secure 2 Library further on [GitHub](https://github.com/globalpayments/globalpayments-js/tree/master/packages/globalpayments-3ds). ## Start integrating ### [Hosted Fields Guide](https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md) Easily capture customer card information while meeting PCI DSS requirements. ### [Drop-In UI Guide](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-guide.md) Build your own checkout flow to suit your business. ### [3D Secure Guide](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md) Enhance security with stronger authentication for online payments. ## Android Source: https://developer.globalpayments.com/docs/integration-options/sdk/android.md # Android Library The Android library is tied to the Java library and it's a device library designed to setup terminals. The Java library is for direct connections to the Gateway and also for Ecommerce. ## Requirements * Android Studio 4.2+ * Android SDK 21 (Lollipop) * Android SDK Tools * Java Version 1.8 ## Github You can find a test suite of code samples for using the Android SDK in our [GitHub repository](https://github.com/globalpayments/android-sdk). ## Installation 1. Declare jcenter repository in the rood build.gradle file: ``` allprojects { repositories { jcenter() } } ``` 2. Declare dependency in the app build.gradle file: ``` dependencies { implementation 'com.globalpayments.android:globalpayments-android-sdk:1.0' } ``` ## Documentation and samples You can find the latest SDK documentation under [SDK Reference](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/process-payment.md#android). For a full list of test cards, see our [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) article. Code examples can be found in the [API Explorer](https://developer.globalpayments.com/api/overview.md). ## iOS Source: https://developer.globalpayments.com/docs/integration-options/sdk/ios.md # iOS Library ## Requirements * iOS 9.0+ * Xcode 11+ * Swift 5.0+ ## Github You can find a test suite of code samples for using the iOS SDK in our [GitHub repository](https://github.com/globalpayments/ios-sdk). ## Installation You can integrate our iOS Library into your Xcode project using Cocoapods. 1) Specify it in your podfile: ``` ``` pod 'GlobalPayments-iOS-SDK', '~> 1.0', ``` ``` 2) Next, run the following command: ``` ``` $ pod install ``` ``` ## Manual If you prefer not to use a dependency manager, you can manually integrate our iOS Library into your project. 1) Download our latest iOS SDK release from [GitHub](https://github.com/globalpayments/ios-sdk/releases). 2) Drag and drop the folder “GlobalPayments-iOS-SDK” into Xcode. ## Documentation and samples You can find the latest SDK documentation under [SDK Reference](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/process-payment.md#ios). For a full list of test cards, see our [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) article. Code examples can be found in the [API Explorer](https://developer.globalpayments.com/api/overview.md). ## Testing exceptions During integration, you’ll want to test for specific issuer responses such as "Card Declined." In our Sandbox, you can simulate the response of gateways and Issuers by using specific transaction amounts or card numbers. For a full list of test cards, see our [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) article. If you don’t find what you need to simulate a certain result, contact your account manager. ## Overview Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/overview.md # SDK Reference ### [Config code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) ### [Card Payments](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/card-payments.md) ### [Process Payment (Android/iOS)](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/process-payment.md) ### [Digital Wallets](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/digital-wallets.md) ### [Payment Methods](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/payment-methods.md) ### [3D Secure 2](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/3DS2.md) ### [Transaction Management](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/transaction-management.md) ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/dynamic-currency.md) ### [Dynamic Descriptor](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/dynamic-descriptor.md) ### [Token Management](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/token-management.md) ## Configuration Code for SDKs Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md # Configuration Code for SDKs The following configuration code samples are applicable to each feature we provide SDK code samples for. This includes Card Payments, Digital Wallets, Payment Methods, and so forth. ```java // configure client & request settings GpApiConfig config = new GpApiConfig(); config.setAppId("i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR"); config.setAppKey("QVefNGo6bkMcjveA"); config.setChannel(Channel.CardNotPresent.getValue()); config.setEnvironment(Environment.TEST); config.setChallengeNotificationUrl("https://www.example.com/challengeNotificationUrl"); config.setMethodNotificationUrl("https://www.example.com/methodNotificationUrl"); config.setMerchantContactUrl("https://www.example.com/about"); ``` ```php appId = 'i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR'; $config->appKey = 'QVefNGo6bkMcjveA'; $config->environment = Environment::TEST; $config->channel = Channel::CardNotPresent; $config->methodNotificationUrl = "https://www.example.com/methodNotificationUrl"; $config->challengeNotificationUrl = "https://www.example.com/challengeNotificationUrl"; $config->merchantContactUrl = "https://www.example.com/about"; ServicesContainer::configureService($config); ``` ```dotnet // configure client & request settings GpApiConfig config = new GpApiConfig(); config.AppId = "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR"; config.AppKey = "QVefNGo6bkMcjveA"; config.Channel = Channel.CardNotPresent; config.Environment = Environment.TEST; config.ChallengeNotificationUrl = "https://www.example.com/challengeNotificationUrl"; config.MethodNotificationUrl = "https://www.example.com/methodNotificationUrl"; config.MerchantContactUrl = "https://www.example.com/about"; ServicesContainer.ConfigureService(config); ``` ## **Multiple/named configurations** An optional configuration name parameter can be passed to the `ConfigureService` method of the `ServicesContainer` object to differentiate between configurations and allow multiple configurations for a single service to be held and referenced simultaneously within the `ServicesContainer` singleton. If no configuration name is provided, the default value of “default” will be used. If the configuration name is already referenced within the collection of the `ServicesContainer`, the existing configuration with that name will be replaced by the new one. ```java ServicesContainer.configureService(config, “default”); ``` ```php ServicesContainer::configureService($config, “default”); ``` ```dotnet ServicesContainer.ConfigureService(config, "default"); ``` The configuration names can then be passed to the `Execute` method of any builder to specify which configuration the transaction should use when processing the request. ```java Transaction response = card.charge(...) … .execute(“default”); ``` ```php $response = $card.charge(...) … ->execute(“default”); ``` ```dotnet Transaction response = card.Charge(...) … .Execute(“default”); ``` ## **Removing named configurations** Named configurations can be removed from the collection by passing a null configuration object with the configuration name you want to remove. ```java ServicesContainer.configureService(null, ‘default’); ``` ```php ServicesContainer::configureService(null, "default"); ``` ```dotnet GpApiConfig config = null; ServicesContainer.ConfigureService(config, "default"); ``` ## **Best practices** The `ServicesContainer` object is a singleton, which means object instantiation is restricted to a singular instance and all references to this object return the same instance throughout the life of the application. Given this design pattern, the SDK is best configured once at application startup. It is not necessary, nor recommended, to configure the SDK prior to every interaction. ## **Logging** ### **Enable logging flag** Some of the SDKs support the `EnableLogging` property. Setting this flag to *true* will cause the SDK to output the raw request and response messages to the IDE console. By example, this would be the debug window for .NET, or the system.io.out for Java. The `EnableLogging` flag is not available on all SDKs as the style of logging is not available on all IDEs. ```java config.enableLogging(true); ``` ```php //not applicable to PHP ``` ```dotnet config.EnableLogging = true; ``` ### **IRequestLogger interface** The SDK provides the IRequestLogger interface, an implementation of which is accepted by the SDK configuration. This interface allows the SDK to work with an application's existing logging system to capture the raw request and response messages generated by the SDK. The interface defines two methods: * `RequestSent` – The raw request generated by the SDK will be passed to this method as a string. * `ResponseReceived` – The raw response received from the gateway will be passed to this method as a string. For PCI compliance, the raw requests and responses provided through the `EnableLogging` flag and the IRequestLogger interface contain only masked card numbers. ```java config.setRequestLogger(new RequestFileLogger("logs.txt")); ``` ```php $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ``` ```dotnet config.RequestLogger = new RequestConsoleLogger(); ``` ## Process Payment (Andriod/iOS) Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/process-payment.md # Process Payment SDK ## Android ### Sample code - Processing a payment ```Java ``` /// Prepare required configuration GpApiConfig config = new GpApiConfig(); config.setServiceUrl("Service Url"); //(Sandbox URL: "https://apis.sandbox.globalpay.com/ucp") config.setAppId("Your application ID"); config.setAppKey("Your application key"); /// Add config to container ServicesContainer.configureService(config); /// Prepare card CreditCardData card = new CreditCardData(); card.setNumber("4111111111111111"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("123"); // Execute operation Transaction transaction = card.charge(new BigDecimal("19.99")) .withCurrency("USD") .execute(); ``` ``` ## iOS ### Sample code - Processing a payment ```swift ``` /// Prepare required configuration let config = GpApiConfig ( appId: "Your application ID", appKey: "Your application key" ) /// Add config to container try ServicesContainer.configureService(config: config) /// Prepare card let card = CreditCardData() card.number = "4111111111111111" card.expMonth = 12 card.expYear = 2025 card.cvn = "123" card.cardHolderName = "Joe Smith" // Execute operation card.charge(amount: 19.99) .withCurrency("USD") .execute { transaction, error in // Handle transaction response or error } ``` ``` ### Sample code - Error handling ```swift ``` card.charge(amount: 19.99) .withCurrency("USD") .withAddress(address) .execute { transaction, error in if let error = error as? BuilderException { // handle builder errors } else if let error = error as? ConfigurationException { // handle errors related to your services configuration } else if let error = error as? GatewayException { // handle gateway errors/exceptions } else if let error = error as? UnsupportedTransactionException { // handle errors when the configured gateway doesn't support desired transaction } else if let error = error as? ApiException { // handle all other errors } } ``` ``` ## Card Payments Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/card-payments.md # Card Payments SDK ## **Configuration** For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. ## **Authorization** We highly recommend sanitizing the cardholder data before sending it in the request. For example, check if the card number is valid and the expiry date is in the future. Our JavaScript Library on [GitHub](https://github.com/globalpayments/globalpayments-js) contains a handy set of functions to help you do this. ```java // create the card object CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("131"); card.setCardHolderName("James Mason"); try { // process an auto-settle authorization Transaction response = card .charge(new BigDecimal("19.99")) .withCurrency("EUR") .execute(); String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED // get the details to save to the DB for future requests String orderId = response.getOrderId(); String authCode = response.getAuthorizationCode(); // 00 String paymentsReference = response.getTransactionId(); } catch (ApiException ex) { // TODO: add your error handling here } ``` ```php number = "4263970000005262"; $card->expMonth = 12; $card->expYear = 2025; $card->cvn = "131"; $card->cardHolderName = "James Mason"; try { // process an auto-capture authorization $response = $card->charge(19.99) ->withCurrency("EUR") ->execute(); } catch (ApiException $e) { // TODO: Add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED // get the details to save to the DB for future requests $authCode = $response->authorizationCode; // 12345 $paymentsReference = $response->transactionId; // TRN_VEeXGQkOxvNv6dvxYwAmnhkMy79vc7_87e11bc6b4dd } ``` ```dotnet // create the card object CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = 12; card.ExpYear = 2025; card.Cvn = "131"; card.CardHolderName = "John Doe"; try { // process an auto-settle authorization Transaction response = card.Charge(19.99m) .WithCurrency("EUR") .Execute(); string result = response.ResponseCode; //SUCCESS string message = response.ResponseMessage; //CAPTURED // get the details to save to the DB for future requests string orderId = response.OrderId; string authCode = response.AuthorizationCode; //00 string paymentsReference = response.TransactionId; } catch (ApiException ex) { // TODO: add your error handling here } ``` ## **Validate (Open To Buy)** Validate is also referred to as 0$ auth. ```java // create the card object CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("131"); card.setCardHolderName("James Mason"); try { // check that a card is valid and active without charging an amount Transaction response = card .verify() .withCurrency("EUR") .execute(); // get the details to save to the DB for future requests String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED } catch (ApiException ex) { // TODO: add your error handling here } ``` ```php number = "4263970000005262"; $card->expMonth = 12; $card->expYear = 2025; $card->cvn = "131"; $card->cardHolderName = "James Mason"; try { // check that a card is valid and active without charging an amount $response = $card->verify() ->withCurrency('EUR') ->execute(); } catch (ApiException $e) { // TODO: Add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // VERIFIED // TODO: save the card to Card Storage } ``` ```dotnet // create the card object CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = 12; card.ExpYear = 2025; card.Cvn = "131"; card.CardHolderName = "James Mason"; try { // check that a card is valid and active without charging an amount Transaction response = card.Verify() .WithCurrency("EUR") .Execute(); // get the response details to update the DB string result = response.ResponseCode; //SUCCESS string message = response.ResponseMessage; //VERIFIED // TODO: save the card to Card Storage } catch (ApiException ex) { // TODO: add your error handling here } ``` ## **Credit** Credit is also referred to as a Refund or Blind Refund (depending on region). > For security reasons this request type is not enabled by default. It must be requested by one of the listed contacts on your account with us. ```java // create the card object CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("131"); card.setCardHolderName("James Mason"); try { // process a refund to the card Transaction response = card .refund(129.99) .withCurrency("EUR") .execute(); // get the details to save to the DB for future requests String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED } catch (ApiException ex) { // TODO: add your error handling here } ``` ```php number = "4263970000005262"; $card->expMonth = 12; $card->expYear = 2025; $card->cardHolderName = "James Mason"; try { // process a refund to the card $response = $card->refund(19.99) ->withCurrency("EUR") ->execute(); } catch (ApiException $e) { // TODO: Add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED // get the details to save to the DB for future requests $authCode = $response->authorizationCode; // 12345 $paymentsReference = $response->transactionId; // TRN_USX1ogySquO6ZTsjrbI9k0lBrf4670_eec76119e6c5 } ``` ```dotnet // create the card object CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = 12; card.ExpYear = 2025; card.Cvn = "131"; card.CardHolderName = "James Mason"; try { // process a refund to the card Transaction response = card.Refund(129.99m) .WithCurrency("EUR") .Execute(); // get the response details to update the DB string result = response.ResponseCode; //SUCCESS string message = response.ResponseMessage; //CAPTURED } catch (ApiException ex) { // TODO: add your error handling here } ``` ## Digital Wallets Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/digital-wallets.md # Digital Wallets - SDK ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. ## Apple Pay ```java // create the card object CreditCardData card = new CreditCardData(); card.setToken("{\"version\":\"EC_v1\",\"data\":\"dvMNzlcy6WNB\",\"header\":{\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeyyM++BjGrlaodphlJUvfTx4tQwn5Ci9IGpAI3RvbYqEshGX5cdkl0j7yNEu913OgT99r/MU1wqHnXn4p7qosA==\",\"publicKeyHash\":\"rEYX/7PdO7F7xL7rH0LZVak/iXTrkeU89Ck7E9dGFO4=\",\"transactionId\":\"38bb5ca49bc54c70e6ff5996bd087f1cce27f0f84fca2f6e71871fc7a56d877e\"}}"); card.setMobileType(MobilePaymentMethodType.APPLEPAY); Transaction response; try { // process an auto-capture authorization response = card .charge(10.00) .withModifier(TransactionModifier.EncryptedMobile) .withCurrency("EUR") .execute(); // get the details to save to the DB for future requests String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED String authCode = response.getAuthorizationCode(); // 12345 String paymentsReference = response.getTransactionId(); // TRN_vTijtcUtg2lPsUTvc0bQXH3U9vn2IK_a8ddd8f7c0fc } catch (ApiException ex) { // TODO: add your error handling here } ``` ```php // create the card object $card = new CreditCardData(); $card->token = '{"version":"EC_v1","data":"dvMNzlcy6WNB","header":{"ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWdNhNAHy9kO2Kol33kIh7k6wh6E",' .'transactionId":"fd88874954acdb299c285f95a3202ad1f330d3fd4ebc22a864398684198644c3","publicKeyHash":"h7WnNVz2gmpTSkHqETOWsskFPLSj31e3sPTS2cBxgrk"}}'; $card->mobileType = EncyptedMobileType::APPLE_PAY; try { // process an auto-capture authorization $response = $card->charge(10.00) ->withModifier(TransactionModifier::ENCRYPTED_MOBILE) ->withCurrency('EUR') ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED // get the details to save to the DB for future requests $authCode = $response->authorizationCode; // 12345 $paymentsReference = $response->transactionId; // TRN_vTijtcUtg2lPsUTvc0bQXH3U9vn2IK_a8ddd8f7c0fc } ``` ```dotnet // create the card object CreditCardData card = new CreditCardData(); card.Token = "{\"version\":\"EC_v1\",\"data\":\"dvMNzlcy6WNB\",\"header\":{\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWdNhNAHy9kO2Kol33kIh7k6wh6E\"," + "\"transactionId\":\"fd88874954acdb299c285f95a3202ad1f330d3fd4ebc22a864398684198644c3\",\"publicKeyHash\":\"h7WnNVz2gmpTSkHqETOWsskFPLSj31e3sPTS2cBxgrk\"}}"; card.MobileType = MobilePaymentMethodType.APPLEPAY; try { // process an auto-capture authorization Transaction response = card.Charge(10m) .WithModifier(TransactionModifier.EncryptedMobile) .WithCurrency("EUR") .Execute(); string result = response.ResponseCode; // SUCCESS string message = response.ResponseMessage; // CAPTURED // get the details to save to the DB for future requests string authCode = response.AuthorizationCode; // 12345 string paymentsReference = response.TransactionId; } catch (ApiException ex) { // TODO: add your error handling here } ``` ## Google Pay ```java // create the card object CreditCardData card = new CreditCardData(); card.setToken("{\n" + " \"signature\": \"MEQCIG5NDTGsgPrltVuuJQ0NYJnLUm1mo8JOW8vfLvt+ZtW6AiAZXJgnszos88b06ujEKubOMQNIuFdOgU+6ArRDGlZPoQ==\",\n" + " \"protocolVersion\": \"ECv1\",\n" + " \"signedMessage\": \"{\\\"encryptedMessage\\\":\\\"t+8CD+SWUl7VflMnwOqJedp7ZK71qnKX2tabp7px4C3d97ki1eb8vySoZoD8wbp7B2FDZPVGPDtUSUxz67JfwJ04sncw4KyDQiyShlxxdOakK/bnn+ooGHZ3jWA97hXVjtf1YecOCppzQIVk7F4RZZNgfIImQr4nDX5nm4BLN+TGsI4/m542xix45h+5e7y/xtyY/GFm8YwEfHQFCNY5edOr7h4nanDi/k//oQQG+ChOCKHtcmv4LpwtR2W737t5bTj+5mxXWu2sdAx6EnQGFOnmMKbNd1phcw4fdAHGtmxkW2LDUamXq5hnY99ECcl+Iqe75S6d3vQ3Lidk3k2lVVRtXTkxtCGvBOUy8okp4hndQL0665YOOIgEPengKfv3CIgUcKahKPyRVekaybDUalYpvyBvX2xIq+ilOo703z7pdL+FkILe7PC7RrEbnKLLJEv6\\\",\\\"ephemeralPublicKey\\\":\\\"BMLc+beu32XtPnrQ6D2z7IuICWl0gg9XmnKEync31BZ7NAvCa0BXTpLkyii+dDMPahj6xUoI0m7YES2UncrVkS8\\\\u003d\\\",\\\"tag\\\":\\\"QlvO9HQqmHXnlew8IzEWqr1AFSNL2wSc+HEb2IAd4YE\\\\u003d\\\"}\"\n" + "}"); card.setMobileType(MobilePaymentMethodType.GOOGLEPAY); try { // process an auto-capture authorization Transaction response = card .charge(new BigDecimal("10.00")) .withCurrency("EUR") .withModifier(TransactionModifier.EncryptedMobile) .execute(); // get the details to save to the DB for future requests String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED String authCode = response.getAuthorizationCode(); // 12345 String paymentsReference = response.getTransactionId(); //TRN_vTijtcUtg2lPsUTvc0bQXH3U9vn2IK_a8ddd8f7c0fc } catch (ApiException ex) { // TODO: add your error handling here } ``` ```php // create the card object $card = new CreditCardData(); $card->token = '{"signature":"MEUCIQDapDDJyf9lH3ztEWksgAjNe...AXjW+ZM+Ut2BWoTExppDDPc1a9Z7U\u003d",' .'"protocolVersion":"ECv1","signedMessage":"{\"encryptedMessage\":\"VkqwkFuMdXp...TZQxVMnkTeJjwyc4\\u003d\",' .'\"ephemeralPublicKey\":\"BMglUoKZWxgB...YCiBNkLaMTD9G4sec\\u003d\",\"tag\":\"4VYypqW2Q5FN7UP87QNDGsLgc48vAe5+AcjR+BxQ2Zo\\u003d\"}"}'; $card->mobileType = EncyptedMobileType::GOOGLE_PAY; try { // process an auto-settle authorization $response = $card->charge(10.00) ->withCurrency("EUR") ->withModifier(TransactionModifier::ENCRYPTED_MOBILE) ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED // get the details to save to the DB for future requests $authCode = $response->authorizationCode; $paymentsReference = $response->transactionId; // TRN_vTijtcUtg2lPsUTvc0bQXH3U9vn2IK_a8ddd8f7c0fc } ``` ```dotnet .NET // create the card object CreditCardData card = new CreditCardData(); card.Token = "{\"signature\":\"MEUCIQDapDDJyf9lH3ztEWksgAjNe...AXjW+ZM+Ut2BWoTExppDDPc1a9Z7U\\u003d\",\"protocolVersion\":\"ECv1\"," + "\"signedMessage\":\"{\"encryptedMessage\":\"VkqwkFuMdXp...TZQxVMnkTeJjwyc4\\u003d\",\"ephemeralPublicKey\":\"BMglUoKZWxgB...YCiBNkLaMTD9G4sec\\u003d\"," + "\"tag\":\"4VYypqW2Q5FN7UP87QNDGsLgc48vAe5+AcjR+BxQ2Zo\\u003d\"}\"}"; card.MobileType = MobilePaymentMethodType.GOOGLEPAY; try { // process an auto-capture authorization Transaction response = card.Charge(10m) .WithModifier(TransactionModifier.EncryptedMobile) .WithCurrency("EUR") .Execute(); string result = response.ResponseCode; // SUCCESS string message = response.ResponseMessage; // CAPTURED // get the details to save to the DB for future requests string authCode = response.AuthorizationCode; // 12345 string paymentsReference = response.TransactionId; } catch (ApiException ex) { // TODO: add your error handling here } ``` ## Payment Methods Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/payment-methods.md # Payment Methods SDK ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. ## Initiate ```java AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod(AlternativePaymentType.SOFORTUBERWEISUNG); paymentMethod.setReturnUrl("https://www.example.com/returnUrl"); paymentMethod.setStatusUpdateUrl("https://www.example.com/statusUrl"); paymentMethod.setDescriptor("Test Transaction"); paymentMethod.setCountry("DE"); paymentMethod.setAccountHolderName("James Mason"); try { Transaction response = paymentMethod .charge(10.01) .withCurrency("EUR") .execute(); // response-.getAlternativePaymentResponse().getRedirectUrl() // => the redirectUrl for Step2; } catch (ApiException e) { // TODO: Add your error handling here } ``` ```php returnUrl = 'https://www.example.com/returnUrl'; $paymentMethod->statusUpdateUrl = 'https://www.example.com/statusUrl'; $paymentMethod->descriptor = 'Test Transaction'; $paymentMethod->country = 'DE'; $paymentMethod->accountHolderName = 'James Mason'; try { $response = $paymentMethod->charge(10.01) ->withCurrency("EUR") ->execute(); // $response->alternativePaymentResponse->redirectUrl => the redirectUrl for Step2; } catch (ApiException $e) { // TODO: Add your error handling here } ``` ```dotnet AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod(); paymentMethod.AlternativePaymentMethodType = AlternativePaymentType.SOFORT; paymentMethod.ReturnUrl = "https://www.example.com/returnUrl"; paymentMethod.StatusUpdateUrl = "https://www.example.com/statusUrl"; paymentMethod.Descriptor = "Test Transaction"; paymentMethod.Country = "DE"; paymentMethod.AccountHolderName = "James Mason"; try { Transaction response = paymentMethod .Charge(10.01m) .WithCurrency("EUR") .Execute(); //response.AlternativePaymentResponse.RedirectUrl; // => the redirectUrl for Step2; } catch (ApiException e) { // TODO: Add your error handling here } ``` ## Refund ```java String transactionId = "TRN_h5AfTNboHCEHcUuR2peRgAi5GKcWna_29b0db7c835f"; Transaction transaction = Transaction.fromId(transactionId, PaymentMethodType.APM); AlternativePaymentResponse apr = new AlternativePaymentResponse(); apr.setProviderName(AlternativePaymentType.SOFORTUBERWEISUNG.toString()); apr.setProviderReference("SMKGK7K2BLEUA"); transaction.setAlternativePaymentResponse(apr); try{ Transaction response = transaction.refund(new BigDecimal("10.01")) .withCurrency("EUR") .execute(); String responseCode = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED } catch(ApiException e) { // TODO: Add your error handling here } ``` ```php // the transaction id $transactionId = "TRN_h5AfTNboHCEHcUuR2peRgAi5GKcWna_29b0db7c835f"; // create the rebate transaction object $transaction = Transaction::fromId($transactionId, null, PaymentMethodType::APM); $transaction->alternativePaymentResponse = new AlternativePaymentResponse(); $transaction->alternativePaymentResponse->providerName = AlternativePaymentType::SOFORTUBERWEISUNG; $transaction->alternativePaymentResponse->providerReference = 'SMKGK7K2BLEUA'; try { $response = $transaction->refund(10.01) ->withCurrency("EUR") ->execute(); $responseCode = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED } catch (ApiException $e) { // TODO: Add your error handling here } ``` ```dotnet string transactionId = "TRN_h5AfTNboHCEHcUuR2peRgAi5GKcWna_29b0db7c835f"; Transaction transaction = Transaction.FromId(transactionId, PaymentMethodType.APM); transaction.AlternativePaymentResponse = new AlternativePaymentResponse { ProviderName = AlternativePaymentType.SOFORTUBERWEISUNG.ToString(), ProviderReference = "SMKGK7K2BLEUA" }; try { Transaction response = transaction.Refund(10.01m) .WithCurrency("EUR") .Execute(); String responseCode = response.ResponseCode; // SUCCESS String message = response.ResponseMessage; // CAPTURED } catch (ApiException e) { // TODO: Add your error handling here } ``` ## Test Pay ```java AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod(AlternativePaymentType.TESTPAY); paymentMethod.setReturnUrl("https://www.example.com/returnUrl"); paymentMethod.setStatusUpdateUrl("https://www.example.com/statusUrl"); paymentMethod.setDescriptor("Test Transaction"); paymentMethod.setCountry("DE"); paymentMethod.setAccountHolderName("James Mason"); try { Transaction response = paymentMethod .charge(10.01) .withCurrency("EUR") .execute(); // $response->alternativePaymentResponse->redirectUrl => the redirectUrl for Step2; } catch (ApiException $e) { // TODO: Add your error handling here } ``` ```php returnUrl = 'https://www.example.com/returnUrl'; $paymentMethod->statusUpdateUrl = 'https://www.example.com/statusUrl'; $paymentMethod->descriptor = 'Test Transaction'; $paymentMethod->country = 'DE'; $paymentMethod->accountHolderName = 'James Mason'; try { $response = $paymentMethod->charge(10.01) ->withCurrency("EUR") ->execute(); // $response->alternativePaymentResponse->redirectUrl => the redirectUrl for Step2; } catch (ApiException $e) { // TODO: Add your error handling here } ``` ```dotnet AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod(); paymentMethod.AlternativePaymentMethodType = AlternativePaymentType.TESTPAY; paymentMethod.ReturnUrl = "https://www.example.com/returnUrl"; paymentMethod.StatusUpdateUrl = "https://www.example.com/statusUrl"; paymentMethod.Descriptor = "Test Transaction"; paymentMethod.Country = "DE"; paymentMethod.AccountHolderName = "James Mason"; try { Transaction response = paymentMethod .Charge(10.01m) .WithCurrency("EUR") .Execute(); //response?.AlternativePaymentResponse.RedirectUrl => the redirectUrl for Step2; } catch (ApiException e) { // TODO: Add your error handling here } ``` ## 3D Secure 2 Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/3DS2.md # 3D Secure 2 SDK ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. ## Notification URLs #### Sample Method Notification Endpoint ```java /* * this sample code is intended as a simple example and should not be treated as Production-ready code * you'll need to add your own message parsing and security in line with your application or website */ @RequestMapping("/methodUrlResponse") public void consumeMethodUrlResponse(String threeDSMethodData) throws UnsupportedEncodingException { // sample ACS response for Method URL Response Notification // String threeDSMethodData = "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImFmNjVjMzY5LTU5YjktNGY4ZC1iMmY2LTdkN2Q1ZjVjNjlkNSJ9"; try { byte[] decodedBytes = Base64.getDecoder().decode(threeDSMethodData); String methodUrlResponseString = new String(decodedBytes); Gson gson = new Gson(); // map to a custom class MethodUrlResponse MethodUrlResponse response = gson.fromJson(methodUrlResponseString, MethodUrlResponse.class); String threeDSServerTransID = response.getThreeDSServerTransID(); // // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 // TODO: notify client-side that the Method URL step is complete } catch(Exception e) { // TODO: add your exception handling here } } ``` ```php (methodUrlResponseString); string threeDSServerTransID = methodUrlResponse.ThreeDSServerTransID; // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 // TODO: notify client-side that the Method URL step is complete } catch (Exception exce) { // TODO: add your exception handling here } ``` #### Sample Challenge Notification Endpoint ```java // Add cardholder data // Frictionless Example: 4263970000005262 // Challenge Example: 4012001038488884 CreditCardData card = new CreditCardData(); card.setNumber("4012001038488884"); ThreeDSecure threeDSecureData = null; try { threeDSecureData = Secure3dService.checkEnrollment(card).execute(); } catch (ApiException exce) { // TODO: add your error handling here } if (threeDSecureData != null) { Boolean enrolled = threeDSecureData.isEnrolled(); // true or false // If enrolled = true, the available response data String serverTransactionId = threeDSecureData.getServerTransactionId(); // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 String dsStartProtocolVersion = threeDSecureData.getDirectoryServerStartVersion(); // 2.1.0 String dsEndProtocolVersion = threeDSecureData.getDirectoryServerEndVersion(); // 2.1.0 String acsStartProtocolVersion = threeDSecureData.getAcsStartVersion(); // 2.1.0 String acsEndProtocolVersion = threeDSecureData.getAcsEndVersion(); // 2.1.0 String methodUrl = threeDSecureData.getIssuerAcsUrl(); // https://www.acsurl.com/method String encodedMethodData = threeDSecureData.getPayerAuthenticationRequest(); // Base64 encoded string // TODO: if supported pass the Method URL and Encoded Method Data to the client-side } ``` ```php number = "4012001038488884"; $card->expMonth = '12'; $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = "James Mason"; try { $threeDSecureData = Secure3dService::checkEnrollment($card) ->withAmount(10.01) ->withCurrency('USD') ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } $enrolled = $threeDSecureData->enrolled; // ENROLLED // if enrolled, the available response data $serverTransactionId = $threeDSecureData->serverTransactionId; // AUT_0f5bdbef-f833-4f8c-a1f1-87f05799fcd5 $dsStartProtocolVersion = $threeDSecureData->directoryServerStartVersion; // 2.1.0 $dsEndProtocolVersion = $threeDSecureData->directoryServerEndVersion; // 2.1.0 $acsStartProtocolVersion = $threeDSecureData->acsStartVersion; // 2.1.0 $acsEndProtocolVersion = $threeDSecureData->acsEndVersion; // 2.1.0 $methodUrl = $threeDSecureData->issuerAcsUrl; // https://test.portal.gpwebpay.com/pay-sim/sim/acs $encodedMethodData = $threeDSecureData->payerAuthenticationRequest; // Base64 encoded string // TODO: if supported pass the Method URL and Encoded Method Data to the client-side ``` ```dotnet /* * this sample code is intended as a simple example and should not be treated as Production-ready code * you'll need to add your own message parsing and security in line with your application or website */ var cres = Request.Form["cres"]; // Example CRes (Challenge Result) sent by the ACS // var cRes = "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImFmNjVjMzY5LTU5YjktNGY4ZC1iMmY2LTdkN2Q1ZjVjNjlkNSIsImF" // + "jc1RyYW5zSUQiOiIxM2M3MDFhMy01YTg4LTRjNDUtODllOS1lZjY1ZTUwYThiZjkiLCJjaGFsbGVuZ2VDb21wbGV0a" // + "W9uSW5kIjoiWSIsIm1lc3NhZ2VUeXBlIjoiQ3JlcyIsIm1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAiLCJ0cmFuc" // + "1N0YXR1cyI6IlkifQ=="; try { byte[] data = Convert.FromBase64String(cres); string challengeUrlResponseString = Encoding.UTF8.GetString(data); // map to a custom class ChallengeUrlResponse which has String variables for each response element ChallengeUrlResponse challengeUrlResponse = JsonConvert.DeserializeObject(challengeUrlResponseString); var threeDSServerTransID = challengeUrlResponse.ThreeDSServerTransID; // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 var acsTransId = challengeUrlResponse.AcsTransID; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 var challengeCompletionInd = challengeUrlResponse.ChallengeCompletionInd; // Y var messageType = challengeUrlResponse.MessageType; // Cres var messageVersion = challengeUrlResponse.MessageVersion; // 2.1.0 var transStatus = challengeUrlResponse.TransStatus; // Y // TODO: notify client-side that the Challenge step is complete and pass any required data } catch (Exception exce) { // TODO: add your exception handling here } ``` ## Gather device data ```java // import javax.servlet.http.HttpServletRequest; String customerIp = request.getRemoteAddr(); // 123.123.123.123 String acceptHeader = request.getHeader("accept"); // text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 ``` ```php $customerIp = $_SERVER['REMOTE_ADDR']; // 123.123.123.123 $acceptHeader = $_SERVER['HTTP_ACCEPT']; // text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 ``` ```dotnet String customerIp = Request.ServerVariables["REMOTE_ADDR"]; String acceptHeader = Request.ServerVariables["HTTP_ACCEPT"]; ``` ## Check version ```java // Add cardholder data // Frictionless Example: 4263970000005262 // Challenge Example: 4012001038488884 CreditCardData card = new CreditCardData(); card.setNumber("4012001038488884"); ThreeDSecure threeDSecureData = null; try { threeDSecureData = Secure3dService.checkEnrollment(card).execute(); } catch (ApiException exce) { // TODO: add your error handling here } if (threeDSecureData != null) { Boolean enrolled = threeDSecureData.isEnrolled(); // true or false // If enrolled = true, the available response data String serverTransactionId = threeDSecureData.getServerTransactionId(); // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 String dsStartProtocolVersion = threeDSecureData.getDirectoryServerStartVersion(); // 2.1.0 String dsEndProtocolVersion = threeDSecureData.getDirectoryServerEndVersion(); // 2.1.0 String acsStartProtocolVersion = threeDSecureData.getAcsStartVersion(); // 2.1.0 String acsEndProtocolVersion = threeDSecureData.getAcsEndVersion(); // 2.1.0 String methodUrl = threeDSecureData.getIssuerAcsUrl(); // https://www.acsurl.com/method String encodedMethodData = threeDSecureData.getPayerAuthenticationRequest(); // Base64 encoded string // TODO: if supported pass the Method URL and Encoded Method Data to the client-side } ``` ```php number = "4012001038488884"; $card->expMonth = '12'; $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = "James Mason"; try { $threeDSecureData = Secure3dService::checkEnrollment($card) ->withAmount(10.01) ->withCurrency('USD') ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } $enrolled = $threeDSecureData->enrolled; // ENROLLED // if enrolled, the available response data $serverTransactionId = $threeDSecureData->serverTransactionId; // AUT_0f5bdbef-f833-4f8c-a1f1-87f05799fcd5 $dsStartProtocolVersion = $threeDSecureData->directoryServerStartVersion; // 2.1.0 $dsEndProtocolVersion = $threeDSecureData->directoryServerEndVersion; // 2.1.0 $acsStartProtocolVersion = $threeDSecureData->acsStartVersion; // 2.1.0 $acsEndProtocolVersion = $threeDSecureData->acsEndVersion; // 2.1.0 $methodUrl = $threeDSecureData->issuerAcsUrl; // https://test.portal.gpwebpay.com/pay-sim/sim/acs $encodedMethodData = $threeDSecureData->payerAuthenticationRequest; // Base64 encoded string // TODO: if supported pass the Method URL and Encoded Method Data to the client-side ``` ```dotnet // Add cardholder data // Frictionless Example: 4263970000005262 // Challenge Example: 4012001038488884 CreditCardData card = new CreditCardData { Number = "4012001038488884" }; ThreeDSecure threeDSecureData = null; try { threeDSecureData = Secure3dService.CheckEnrollment(card) .Execute(); } catch (ApiException exce) { // TODO: add your error handling here } if (threeDSecureData != null) { var enrolled = threeDSecureData.Enrolled; // True // if enrolled, the available response data var serverTransactionId = threeDSecureData.ServerTransactionId; // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 var dsStartProtocolVersion = threeDSecureData.DirectoryServerStartVersion; // 2.1.0 var dsEndProtocolVersion = threeDSecureData.DirectoryServerEndVersion; // 2.1.0 var acsStartProtocolVersion = threeDSecureData.AcsStartVersion; // 2.1.0 var acsEndProtocolVersion = threeDSecureData.AcsEndVersion; // 2.1.0 var methodUrl = threeDSecureData.IssuerAcsUrl; // https://www.acsurl.com/method var encodedMethodData = threeDSecureData.PayerAuthenticationRequest; // Base64 encoded string // TODO: if supported pass the Method URL and Encoded Method Data to the client-side } ``` ## Initiate authentication \- exemptions > When a merchant requests an exemption, they will no longer be able to avail of a liability shift in the event of a chargeback. > > For Mastercard exemption requests, see our [Mastercard Message Extension](https://developer.globalpayments.com/ecommerce/3d-secure-version2/message-extension#mastercard) article. #### Mandatory and recommended fields ```java // Add the cardholder data CreditCardData card = new CreditCardData(); card.setNumber("4012001038488884"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("123"); card.setCardHolderName("James Mason"); // Add the customer's billing address Address billingAddress = new Address(); billingAddress.setStreetAddress1("Apartment 852"); billingAddress.setStreetAddress2("Complex 741"); billingAddress.setStreetAddress3("Unit 4"); billingAddress.setCity("Chicago"); billingAddress.setPostalCode("50001"); billingAddress.setState("IL"); billingAddress.setCountryCode("840"); // Add the customer's shipping address Address shippingAddress = new Address(); shippingAddress.setStreetAddress1("Flat 456"); shippingAddress.setStreetAddress2("House 789"); shippingAddress.setStreetAddress3("Basement Flat"); shippingAddress.setCity("Halifax"); shippingAddress.setPostalCode("W5 9HR"); shippingAddress.setCountryCode("826"); // Add captured browser data from the client-side and server-side BrowserData browserData = new BrowserData(); browserData.setAcceptHeader("text/html,application/xhtml+xml,application/xml;q=9,image/webp,img/apng,/;q=0.8"); browserData.setColorDepth(ColorDepth.TwentyFourBit); browserData.setIpAddress("123.123.123.123"); browserData.setJavaEnabled(true); browserData.setLanguage("en"); browserData.setScreenHeight(1080); browserData.setScreenWidth(1920); browserData.setChallengeWindowSize(ChallengeWindowSize.Windowed_600x400); browserData.setTimezone("0"); browserData.setUserAgent("Mozilla/5.0 (Windows NT 6.1; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"); ThreeDSecure threeDSecureData = new ThreeDSecure(); threeDSecureData.setServerTransactionId("9de5bccf-c438-4024-8961-ec4b3cff15ff"); try { // Initiate the 3D Secure 2 Authentication request threeDSecureData = Secure3dService.initiateAuthentication(card, threeDSecureData) .withAmount(new BigDecimal("10.01")) .withCurrency("USD") .withOrderCreateDate(DateTime.parse("2019-09-09T11:19:12")) .withCustomerEmail("james.mason@example.com") .withAddress(shippingAddress, AddressType.Billing) .withAddress(billingAddress, AddressType.Shipping) .withBrowserData(browserData) .withMethodUrlCompletion(MethodUrlCompletion.Yes) .withMobileNumber("44", "7123456789") .execute(); } catch (ApiException exce) { // TODO: add your error handling here } String status = threeDSecureData.getStatus(); // for example AUTHENTICATION_SUCCESSFUL or CHALLENGE_REQUIRED ``` ```php // Add the cardholder data $card = new CreditCardData(); $card->number = "4012001038488884"; $card->expMonth = "05"; $card->expYear = date('Y', strtotime('+1 year')); ; $card->cvn = "123"; $card->cardHolderName = "James Mason"; // Add the customer's billing address $billingAddress = new Address(); $billingAddress->streetAddress1 = "Apartment 852"; $billingAddress->streetAddress2 = "Complex 741"; $billingAddress->streetAddress3 = "Unit 4"; $billingAddress->city = "Chicago"; $billingAddress->state = "IL"; $billingAddress->postalCode = "50001"; $billingAddress->countryCode = "840"; // Add the customer's shipping address $shippingAddress = new Address(); $shippingAddress->streetAddress1 = "Flat 456"; $shippingAddress->streetAddress2 = "House 789"; $shippingAddress->streetAddress3 = "Basement Flat"; $shippingAddress->city = "Halifax"; $shippingAddress->postalCode = "W5 9HR"; $shippingAddress->countryCode = "826"; // Add captured browser data from the client-side and server-side $browserData = new BrowserData(); $browserData->acceptHeader = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"; $browserData->colorDepth = ColorDepth::TWENTY_FOUR_BITS; $browserData->ipAddress = "123.123.123.123"; $browserData->javaEnabled = TRUE; $browserData->language = "en"; $browserData->screenHeight = "1080"; $browserData->screenWidth = "1920"; $browserData->challengWindowSize = ChallengeWindowSize::FULL_SCREEN; $browserData->timeZone = "0"; $browserData->userAgent = "Mozilla/5.0 (Windows NT 6.1; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"; $threeDSecureData = new ThreeDSecure(); $threeDSecureData->serverTransactionId = "AUT_be0e608e-6366-4ee7-833f-71d48c842cb6 "; try { $threeDSecureData = Secure3dService::initiateAuthentication($card, $threeDSecureData) ->withAmount(10.01) ->withCurrency("USD") ->withOrderCreateDate(date("Y-m-d H:i:s")) ->withCustomerEmail("james.mason@example.com") ->withAddress($billingAddress, AddressType::BILLING) ->withAddress($shippingAddress, AddressType::SHIPPING) ->withBrowserData($browserData) ->withMethodUrlCompletion(MethodUrlCompletion::YES) ->withMobileNumber("44", "7123456789") ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } $status = $threeDSecureData->status; //CHALLENGE_REQUIRED ``` ```dotnet // create the card object var card = new CreditCardData { Number = "4012001038488884", CardType = "VISA", ExpMonth = 12, ExpYear = 2025, Cvn = "131", CardHolderName = "James Mason" }; // Add the customer's billing address Address billingAddress = new Address { StreetAddress1 = "Apartment 852", StreetAddress2 = "Complex 741", StreetAddress3 = "Unit 4", City = "Chicago", PostalCode = "50001", State = "IL", CountryCode = "840" }; // Add the customer's shipping address Address shippingAddress = new Address { StreetAddress1 = "Flat 456", StreetAddress2 = "House 789", StreetAddress3 = "Basement Flat", City = "Halifax", PostalCode = "W5 9HR", CountryCode = "826" }; // Add captured browser data from the client-side and server-side BrowserData browserData = new BrowserData { AcceptHeader = "text/html,application/xhtml+xml,application/xml;q=9,image/webp,img/apng,/;q=0.8", ColorDepth = ColorDepth.TWENTY_FOUR_BITS, IpAddress = "123.123.123.123", JavaEnabled = true, Language = "en", ScreenHeight = 1080, ScreenWidth = 1920, ChallengeWindowSize = ChallengeWindowSize.FULL_SCREEN, Timezone = "0", UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }; ThreeDSecure threeDSecureData = new ThreeDSecure { ServerTransactionId = "9de5bccf-c438-4024-8961-ec4b3cff15ff" }; try { threeDSecureData = Secure3dService.InitiateAuthentication(card, threeDSecureData) .WithAmount(10.01m) .WithCurrency("USD") .WithOrderCreateDate(DateTime.Parse("2019-09-09T11:19:12")) .WithCustomerEmail("james.mason@example.com") .WithAddress(billingAddress, AddressType.Billing) .WithAddress(shippingAddress, AddressType.Shipping) .WithBrowserData(browserData) .WithMethodUrlCompletion(MethodUrlCompletion.YES) .WithMobileNumber("44", "7123456789") .Execute(); } catch (ApiException exce) { // TODO: add your error handling here } var status = threeDSecureData.Status; // for example AUTHENTICATION_SUCCESSFUL or CHALLENGE_REQUIRED ``` ## Optional fields ```java // Initiate the 3D Secure 2 Authentication request threeDSecureData = Secure3dService.initiateAuthentication(card, threeDSecureData) .withAmount(new BigDecimal("10.01")) .withCurrency("USD") .withOrderCreateDate(DateTime.parse("2019-09-09T11:19:12")) .withCustomerEmail("james.mason@example.com") .withAddress(shippingAddress, AddressType.Billing) .withAddress(billingAddress, AddressType.Shipping) .withBrowserData(browserData) .withMethodUrlCompletion(MethodUrlCompletion.Yes) .withMobileNumber("44", "7123456789") // Begin Optional Fields .withHomeNumber("44", "123456789") .withWorkNumber("44", "1801555888") .withMerchantInitiatedRequestType(AuthenticationRequestType.RecurringTransaction) // Gift Card Information .withGiftCardCount(1) .withGiftCardCurrency("USD") .withGiftCardAmount(new BigDecimal("5.00")) // Additional Order Information .withDeliveryEmail("james.mason@example.com") .withDeliveryTimeFrame(DeliveryTimeFrame.ElectronicDelivery) .withShippingMethod(ShippingMethod.VerifiedAddress) .withShippingNameMatchesCardHolderName(true) .withPreOrderIndicator(PreOrderIndicator.MerchandiseAvailable) .withPreOrderAvailabilityDate(DateTime.parse("2019-09-25")) .withReorderIndicator(ReorderIndicator.FirstTimeOrder) .withOrderTransactionType(OrderTransactionType.GoodsAndServicesPurchase) // Additional Payer Information .withCustomerAccountId("6dcb24f5-74a0-4da3-98da-4f0aa0e88db3") .withAccountAgeIndicator(AgeIndicator.LessThanThirtyDays) .withAccountCreateDate(DateTime.parse("2019-09-01")) .withAccountChangeIndicator(AgeIndicator.ThisTransaction) .withAccountChangeDate(DateTime.parse("2019-09-09")) .withPasswordChangeIndicator(AgeIndicator.LessThanThirtyDays) .withPasswordChangeDate(DateTime.parse("2019-09-05")) .withPaymentAccountAgeIndicator(AgeIndicator.LessThanThirtyDays) .withPaymentAccountCreateDate(DateTime.parse("2019-09-25")) .withPreviousSuspiciousActivity(false) .withNumberOfPurchasesInLastSixMonths(3) .withNumberOfTransactionsInLast24Hours(1) .withNumberOfTransactionsInLastYear(5) .withNumberOfAddCardAttemptsInLast24Hours(1) .withShippingAddressUsageIndicator(AgeIndicator.ThisTransaction) .withShippingAddressCreateDate(DateTime.parse("2019-09-09")) // Prior 3D Secure 2 Authentication Data .withPriorAuthenticationMethod(PriorAuthenticationMethod.FrictionlessAuthentication) .withPriorAuthenticationTransactionId("26c3f619-39a4-4040-bf1f-6fd433e6d615") .withPriorAuthenticationTimestamp(DateTime.parse("2019-09-01T12:25:14")) .withPriorAuthenticationData("cKTYtrvvKU7gUoiqbbO7Po") // Recurring Authorization Data .withMaxNumberOfInstallments(5) .withRecurringAuthorizationFrequency(25) .withRecurringAuthorizationExpiryDate(DateTime.parse("2020-05-25")) // Payer Login Data .withCustomerAuthenticationMethod(CustomerAuthenticationMethod.MerchantSystem) .withCustomerAuthenticationTimestamp(DateTime.parse("2019-09-09T11:14:55")) // The following field is currently not in use // .withCustomerAuthenticationData(String) .execute(); ``` ```php withAmount(10.01) ->withCurrency("USD") ->withOrderCreateDate(date("Y-m-d H:i:s")) ->withAddress($billingAddress, AddressType::BILLING) ->withAddress($shippingAddress, AddressType::SHIPPING) ->withBrowserData($browserData) ->withMethodUrlCompletion(MethodUrlCompletion::YES) // Begin Optional Fields ->withHomeNumber("44", "123456789") ->withWorkNumber("44", "1801555888") // Gift Card Information ->withGiftCardCount(1) ->withGiftCardCurrency("USD") ->withGiftCardAmount(5.00) // Additional Order Information ->withDeliveryEmail("james.mason@example.com") ->withDeliveryTimeFrame(DeliveryTimeFrame::ELECTRONIC_DELIVERY) ->withShippingMethod(ShippingMethod::VERIFIED_ADDRESS) ->withShippingNameMatchesCardHolderName(TRUE) ->withPreOrderIndicator(PreOrderIndicator::MERCHANDISE_AVAILABLE) ->withPreOrderAvailabilityDate(date("Y-m-d H:i:s")) ->withReorderIndicator(ReorderIndicator::FIRST_TIME_ORDER) ->withOrderTransactionType(OrderTransactionType::GOODS_SERVICE_PURCHASE) // Additional Payer Information ->withCustomerAccountId("6dcb24f5-74a0-4da3-98da-4f0aa0e88db3") ->withAccountAgeIndicator(AgeIndicator::LESS_THAN_THIRTY_DAYS) ->withAccountCreateDate(date("Y-m-d H:i:s")) ->withAccountChangeDate(date("Y-m-d H:i:s")) ->withAccountChangeIndicator(AgeIndicator::THIS_TRANSACTION) ->withPasswordChangeDate(date("Y-m-d H:i:s")) ->withPasswordChangeIndicator(AgeIndicator::LESS_THAN_THIRTY_DAYS) ->withPaymentAccountCreateDate(date("Y-m-d H:i:s")) ->withPaymentAccountAgeIndicator(AgeIndicator::LESS_THAN_THIRTY_DAYS) ->withPreviousSuspiciousActivity(false) ->withNumberOfPurchasesInLastSixMonths(3) ->withNumberOfTransactionsInLast24Hours(1) ->withNumberOfTransactionsInLastYear(5) ->withNumberOfAddCardAttemptsInLast24Hours(1) ->withShippingAddressCreateDate(date("Y-m-d H:i:s")) ->withShippingAddressUsageIndicator(AgeIndicator::THIS_TRANSACTION) // Prior 3D Secure 2 Authentication Data ->withPriorAuthenticationMethod(PriorAuthenticationMethod::FRICTIONLESS_AUTHENTICATION) ->withPriorAuthenticationTransactionId("26c3f619-39a4-4040-bf1f-6fd433e6d615") ->withPriorAuthenticationTimestamp(date("Y-m-d H:i:s")) ->withPriorAuthenticationData("cKTYtrvvKU7gUoiqbbO7Po") // Recurring Authorization Data ->withMaxNumberOfInstallments(5) ->withRecurringAuthorizationFrequency(25) ->withRecurringAuthorizationExpiryDate(date("Y-m-d H:i:s")) // Payer Login Data ->withCustomerAuthenticationMethod(CustomerAuthenticationMethod::MERCHANT_SYSTEM) ->withCustomerAuthenticationTimestamp(date("Y-m-d H:i:s")) // The following field is currently not in use ->execute(); ``` ```dotnet threeDSecureData = Secure3dService.InitiateAuthentication(card, threeDSecureData) .WithAmount(10.01m) .WithCurrency("USD") .WithOrderCreateDate(DateTime.Parse("2019-09-09T11:19:12")) .WithCustomerEmail("james.mason@example.com") .WithAddress(billingAddress, AddressType.Billing) .WithAddress(shippingAddress, AddressType.Shipping) .WithBrowserData(browserData) .WithMethodUrlCompletion(MethodUrlCompletion.YES) .WithMobileNumber("44", "7123456789") // Begin Optional Fields .WithHomeNumber("44", "123456789") .WithWorkNumber("44", "1801555888") .WithMerchantInitiatedRequestType(MerchantInitiatedRequestType.RECURRING_TRANSACTION) // Gift Card Information .WithGiftCardCount(1) .WithGiftCardCurrency("USD") .WithGiftCardAmount(5.00m) // Additional Order Information .WithDeliveryEmail("james.mason@example.com") .WithDeliveryTimeFrame(DeliveryTimeFrame.ELECTRONIC_DELIVERY) .WithShippingMethod(ShippingMethod.ANOTHER_VERIFIED_ADDRESS) .WithShippingNameMatchesCardHolderName(true) .WithPreOrderIndicator(PreOrderIndicator.MERCHANDISE_AVAILABLE) .WithPreOrderAvailabilityDate(DateTime.Parse("2019-09-25")) .WithReorderIndicator(ReorderIndicator.FIRST_TIME_ORDER) .WithOrderTransactionType(OrderTransactionType.GOODS_SERVICE_PURCHASE) // Additional Payer Information .WithCustomerAccountId("6dcb24f5-74a0-4da3-98da-4f0aa0e88db3") .WithAccountAgeIndicator(AgeIndicator.LESS_THAN_THIRTY_DAYS) .WithAccountCreateDate(DateTime.Parse("2019-09-01")) .WithAccountChangeIndicator(AgeIndicator.THIS_TRANSACTION) .WithAccountChangeDate(DateTime.Parse("2019-09-09")) .WithPasswordChangeIndicator(AgeIndicator.LESS_THAN_THIRTY_DAYS) .WithPasswordChangeDate(DateTime.Parse("2019-09-05")) .WithPaymentAccountAgeIndicator(AgeIndicator.LESS_THAN_THIRTY_DAYS) .WithPaymentAccountCreateDate(DateTime.Parse("2019-09-01")) .WithPreviousSuspiciousActivity(false) .WithNumberOfPurchasesInLastSixMonths(3) .WithNumberOfTransactionsInLast24Hours(1) .WithNumberOfTransactionsInLastYear(5) .WithNumberOfAddCardAttemptsInLast24Hours(1) .WithShippingAddressUsageIndicator(AgeIndicator.THIS_TRANSACTION) .WithShippingAddressCreateDate(DateTime.Parse("2019-09-09")) // Prior 3D Secure 2 Authentication Data .WithPriorAuthenticationMethod(PriorAuthenticationMethod.FRICTIONLESS_AUTHENTICATION) .WithPriorAuthenticationTransactionId("26c3f619-39a4-4040-bf1f-6fd433e6d615") .WithPriorAuthenticationTimestamp(DateTime.Parse("2019-09-01T12:25:14")) .WithPriorAuthenticationData("cKTYtrvvKU7gUoiqbbO7Po") // Recurring Authorization Data .WithMaxNumberOfInstallments(5) .WithRecurringAuthorizationFrequency(25) .WithRecurringAuthorizationExpiryDate(DateTime.Parse("2020-05-25")) // Payer Login Data .WithCustomerAuthenticationMethod(CustomerAuthenticationMethod.MERCHANT_SYSTEM_AUTHENTICATION) .WithCustomerAuthenticationTimestamp(DateTime.Parse("2019-09-09T11:14:55")) // The following field is currently not in use // .WithCustomerAuthenticationData(String) .Execute(); ``` ## Authentication \- Frictionless flow #### Successful authentication response ```java String status = threeDSecureData.getStatus(); // AUTHENTICATION_SUCCESSFUL // Data required for authorization or database record String authenticationValue = threeDSecureData.getAuthenticationValue(); // ODQzNjgwNjU0ZjM3N2JmYTg0NTM= String dsTransId = threeDSecureData.getDirectoryServerTransactionId(); // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 String messageVersion = threeDSecureData.getMessageVersion(); // 2.1.0 String eci = threeDSecureData.getEci(); // 5 // Additional response data String acsTransId = threeDSecureData.getAcsTransactionId(); // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 String statusReason = threeDSecureData.getStatusReason(); // LOW_CONFIDENCE String authenticationSource = threeDSecureData.getAuthenticationSource(); // BROWSER String messageCategory = threeDSecureData.getMessageCategory(); // PAYMENT_AUTHENTICATION ``` ```php status; // SUCCESS_AUTHENTICATED // Data required for authorization or database record $authenticationValue = $threeDSecureData->authenticationValue; // AJkBASQHUAAAAAPphAIGdAAAAAA= $dsTransId = $threeDSecureData->directoryServerTransactionId; // 18230336-94cd-470b-974f-bd9b0949008f $messageVersion = $threeDSecureData->messageVersion; // 2.1.0 $eci = $threeDSecureData->eci; // 05 // Additional response data $acsTransID = $threeDSecureData->acsTransactionId; // f9133b50-0c44-41ed-8c37-18edc346233e $statusReason - $threeDSecureData->statusReason; // LOW_CONFIDENCE $authenticationSource = $threeDSecureData->authenticationSource; // BROWSER $messageCategory = $threeDSecureData->messageCategory; // PAYMENT_AUTHENTICATION ``` ```dotnet var status = threeDSecureData.Status; // AUTHENTICATION_SUCCESSFUL // Data required for authorization or database record var authenticationValue = threeDSecureData.AuthenticationValue; // ODQzNjgwNjU0ZjM3N2JmYTg0NTM= var dsTransId = threeDSecureData.DirectoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 var messageVersion = threeDSecureData.MessageVersion; // 2.1.0 var eci = threeDSecureData.Eci; // 5 // Additional response data var acsTransId = threeDSecureData.AcsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 var statusReason = threeDSecureData.StatusReason; // LOW_CONFIDENCE var authenticationSource = threeDSecureData.AuthenticationSource; // BROWSER var messageCategory = threeDSecureData.MessageCategory; // PAYMENT_AUTHENTICATION ``` #### Failed authentication response ```java String status = threeDSecureData.getStatus(); // AUTHENTICATION_FAILED String authenticationValue = threeDSecureData.getAuthenticationValue(); // ODQzNjgwNjU0ZjM3N2JmYTg0NTM= String dsTransId = threeDSecureData.getDirectoryServerTransactionId(); // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 String messageVersion = threeDSecureData.getMessageVersion(); // 2.1.0 String eci = threeDSecureData.getEci(); // 7 String acsTransId = threeDSecureData.getAcsTransactionId(); // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 String statusReason = threeDSecureData.getStatusReason(); // CARD_AUTHENTICATION_FAILED String authenticationSource = threeDSecureData.getAuthenticationSource(); // BROWSER String messageCategory = threeDSecureData.getMessageCategory(); // PAYMENT_AUTHENTICATION ``` ```php status; // NOT_AUTHENTICATED $dsTransId = $threeDSecureData->directoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 $messageVersion = $threeDSecureData->messageVersion; // 2.1.0 $eci = $threeDSecureData->eci; // 07 $acsTransID = $threeDSecureData->acsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 $statusReason - $threeDSecureData->statusReason; // CARD_AUTHENTICATION_FAILED $authenticationSource = $threeDSecureData->authenticationSource; // BROWSER $messageCategory = $threeDSecureData->messageCategory; // PAYMENT_AUTHENTICATION ``` ```dotnet var status = threeDSecureData.Status; // AUTHENTICATION_FAILED var authenticationValue = threeDSecureData.AuthenticationValue; // ODQzNjgwNjU0ZjM3N2JmYTg0NTM= var dsTransId = threeDSecureData.DirectoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 var messageVersion = threeDSecureData.MessageVersion; // 2.1.0 var eci = threeDSecureData.Eci; // 7 var acsTransId = threeDSecureData.AcsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 var statusReason = threeDSecureData.StatusReason; // CARD_AUTHENTICATION_FAILED var authenticationSource = threeDSecureData.AuthenticationSource; // BROWSER var messageCategory = threeDSecureData.MessageCategory; // PAYMENT_AUTHENTICATION ``` ## Authentication \- Challenge flow #### Challenge response ```java // Data required to display the challenge to the customer String challengeRequestUrl = threeDSecureData.getIssuerAcsUrl(); // https://test.portal.gpwebpay.com/pay-sim-gpi/sim/acs String encodedCreq = threeDSecureData.getPayerAuthenticationRequest(); // Very long base64 encoded string // Additional response data String authenticationType = threeDSecureData.getAuthenticationType(); // DYNAMIC_CHALLENGE Boolean challengeMandated = threeDSecureData.isChallengeMandated(); // true String statusReason = threeDSecureData.getStatusReason(); // LOW_CONFIDENCE String authenticationSource = threeDSecureData.getAuthenticationSource(); // BROWSER String messageCategory = threeDSecureData.getMessageCategory(); // PAYMENT_AUTHENTICATION String dsTransId = threeDSecureData.getDirectoryServerTransactionId(); // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 String acsTransId = threeDSecureData.getAcsTransactionId(); // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 String messageVersion = threeDSecureData.getMessageVersion(); // 2.1.0 ``` ```php issuerAcsUrl; // https://acs2p.test.gpe.cz/tds/challenge/brw/07dfe0b0-0c46-41ed-8c37-18edc3462342 $encodedCreq = $threeDSecureData->payerAuthenticationRequest; // Very long base64 encoded string // Additional response data $challengeMandated = $threeDSecureData->challengeMandated; // true $authenticationSource = $threeDSecureData->authenticationSource; // BROWSER $messageCategory = $threeDSecureData->messageCategory; // PAYMENT_AUTHENTICATION $dsTransId = $threeDSecureData->directoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 $acsTransID = $threeDSecureData->acsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 $messageVersion = $threeDSecureData->messageVersion; // 2.1.0 ``` ```dotnet // Data required to display the challenge to the customer var challengeRequestUrl = threeDSecureData.IssuerAcsUrl; // https://test.portal.gpwebpay.com/pay-sim-gpi/sim/acs var encodedCreq = threeDSecureData.PayerAuthenticationRequest; // Very long base64 encoded string // Additional response data var authenticationType = threeDSecureData.AuthenticationType; // DYNAMIC_CHALLENGE var challengeMandated = threeDSecureData.ChallengeMandated; // true var statusReason = threeDSecureData.StatusReason; // LOW_CONFIDENCE var authenticationSource = threeDSecureData.AuthenticationSource; // BROWSER var messageCategory = threeDSecureData.MessageCategory; // PAYMENT_AUTHENTICATION var dsTransId = threeDSecureData.DirectoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 var acsTransId = threeDSecureData.AcsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 var messageVersion = threeDSecureData.MessageVersion; // 2.1.0 ``` ## Obtain authentication data ```java ThreeDSecure threeDSecureData = null; try { threeDSecureData = Secure3dService.getAuthenticationData() .withServerTransactionId("6c8c286b-9842-4c74-b298-da640da6ebbd") .execute(); } catch (ApiException exce) { // TODO: add your error handling here } if (threeDSecureData != null) { String status = threeDSecureData.getStatus(); // for example AUTHENTICATION_SUCCESSFUL or AUTHENTICATION_FAILED // Data required for authorization or database record String authenticationValue = threeDSecureData.getAuthenticationValue(); // ODQzNjgwNjU0ZjM3N2JmYTg0NTM= String dsTransId = threeDSecureData.getDirectoryServerTransactionId(); // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 String messageVersion = threeDSecureData.getMessageVersion(); // 2.1.0 String eci = threeDSecureData.getEci(); // 5 // Additional response data String acsTransId = threeDSecureData.getAcsTransactionId(); // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 String statusReason = threeDSecureData.getStatusReason(); // LOW_CONFIDENCE String authenticationSource = threeDSecureData.getAuthenticationSource(); // BROWSER String messageCategory = threeDSecureData.getMessageCategory(); // PAYMENT_AUTHENTICATION } ``` ```php withServerTransactionId("AUT_0f5bdbef-f833-4f8c-a1f1-87f05799fcd5") ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } if (isset($threeDSecureData)) { $status = $threeDSecureData->status; // for example SUCCESS_AUTHENTICATED or NOT_AUTHENTICATED // Data required for authorization or database record $authenticationValue = $threeDSecureData->authenticationValue; // AJkBAkcHVQAAAAPphAIGdAAAAAA= or empty if not authenticated $dsTransId = $threeDSecureData->directoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 $messageVersion = $threeDSecureData->messageVersion; // 2.1.0 $eci = $threeDSecureData->eci; // 05 or 07 // Additional response data $acsTransID = $threeDSecureData->acsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 $statusReason - $threeDSecureData->statusReason; //for example LOW_CONFIDENCE or TRANSACTION_TIMED_OUT_AT_THE_ACS $authenticationSource = $threeDSecureData->authenticationSource; // BROWSER $messageCategory = $threeDSecureData->messageCategory; // PAYMENT_AUTHENTICATION } ``` ```dotnet ThreeDSecure threeDSecureData = null; try { threeDSecureData = Secure3dService.GetAuthenticationData() .WithServerTransactionId("6c8c286b-9842-4c74-b298-da640da6ebbd") .Execute(); } catch (ApiException exce) { // TODO: add your error and decline handling here } if (threeDSecureData != null) { var status = threeDSecureData.Status; // for example AUTHENTICATION_SUCCESSFUL or AUTHENTICATION_FAILED // Data required for authorization or database record var authenticationValue = threeDSecureData.AuthenticationValue; // ODQzNjgwNjU0ZjM3N2JmYTg0NTM= var dsTransId = threeDSecureData.DirectoryServerTransactionId; // c272b04f-6e7b-43a2-bb78-90f4fb94aa25 var messageVersion = threeDSecureData.MessageVersion; // 2.1.0 var eci = threeDSecureData.Eci; // 5 // Additional response data var acsTransId = threeDSecureData.AcsTransactionId; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 var statusReason = threeDSecureData.StatusReason; // LOW_CONFIDENCE var authenticationSource = threeDSecureData.AuthenticationSource; // BROWSER var messageCategory = threeDSecureData.MessageCategory; // PAYMENT_AUTHENTICATION } ``` ## Authorization ```java // if you're using our JavaScript Library and SDK solution for 3D Secure 2 // you can skip below to Transaction response = null; // Create the card object CreditCardData card = new CreditCardData(); card.setNumber("4012001038488884"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("123"); card.setCardHolderName("James Mason"); // Add obtained 3D Secure 2 authentication data ThreeDSecure threeDSecureData = new ThreeDSecure(); threeDSecureData.setAuthenticationValue("ODQzNjgwNjU0ZjM3N2JmYTg0NTM="); threeDSecureData.setDirectoryServerTransactionId("c272b04f-6e7b-43a2-bb78-90f4fb94aa25"); threeDSecureData.setEci("05"); threeDSecureData.setMessageVersion("2.1.0"); // Add the 3D Secure 2 data to the card object card.setThreeDSecure(threeDSecureData); Transaction response = null; try { response = card.charge(new BigDecimal("10.01")) .withCurrency("USD") .execute(); } catch (ApiException exec) { // TODO: add your error handling here } if (response != null) { String result = response.getResponseCode(); // 00 == Success String message = response.getResponseMessage(); // [ test system ] AUTHORISED // get the details to save to the DB for future requests String orderId = response.getOrderId(); // ezJDQjhENTZBLTdCNzNDQw String authCode = response.getAuthorizationCode(); // 12345 String paymentsReference = response.getTransactionId(); // pasref String schemeReferenceData = response.getSchemeId(); // MMC0F00YE4000000715 } ``` ```php number = "4263970000005262"; $card->expMonth = 12; $card->expYear = 2025; $card->cvn = "131"; $card->cardHolderName = "James Mason"; // add obtained 3D Secure 2 authentication id $threeDSecureData = new ThreeDSecure(); $threeDSecureData->serverTransactionId = "AUT_e0ad2c9a-5dcd-4d8a-a73d-e1ebb29449be"; // add the 3D Secure 2 data to the card object $card->threeDSecure = $threeDSecureData; try { // process an auto-settle authorization $response = $card->charge(10.01) ->withCurrency("EUR") ->execute(); } catch (ApiException $e) { // TODO: Add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED // get the details to save to the DB for future requests $authCode = $response->authorizationCode; // 12345 $paymentsReference = $response->transactionId; // TRN_gxpusd8g3A4oRAT6jFP7cf0okRdo1P_b33476c861df } ``` ```dotnet // if you're using our JavaScript Library and SDK solution for 3D Secure 2 // you can skip below to Transaction response = null; // add obtained 3D Secure 2 authentication data var threeDSecureData = new ThreeDSecure() { AuthenticationValue = "ODQzNjgwNjU0ZjM3N2JmYTg0NTM=", DirectoryServerTransactionId = "c272b04f-6e7b-43a2-bb78-90f4fb94aa25", Eci = “5”, MessageVersion = "2.1.0" }; // add the 3D Secure 2 data to the card object card.ThreeDSecure = threeDSecureData; Transaction response = null; try { response = card.Charge(10.01m) .WithCurrency("USD") .Execute(); } catch (ApiException exce) { // TODO: add your error handling here } if (response != null) { var result = response.ResponseCode; // SUCCESS var message = response.ResponseMessage; // AUTHORIZED // get the response details to save to the DB for future requests var orderId = response.OrderId; // ezJDQjhENTZBLTdCNzNDQw var authCode = response.AuthorizationCode; // 12345 var paymentsReference = response.TransactionId; // pasref var schemeReferenceData = response.SchemeId; // MMC0F00YE4000000715 } ``` ## 3D Secure helper library (client side) ### Check Version method | Field | Format | Type | Description | | ----- | ----- | ----- | ----- | | Version Check Endpoint | String | M | Your server-side endpoint responsible for handling the Check Version request and response. | | accountId | String | O | Your Account ID assigned by us. | | card | Object | M | Object containing the card information. | | cardHolderName | String | O | The full name of the cardholder. | | customerReference | String | O | Merchant-defined field to reference the customer. | | cvn | String | O | The numeric value printed on the physical card. | | expMonth | String | O | The expiry date month of the card. | | expYear | String | O | The expiry date year of the card. | | number | String | O | The card account number used to authorize the transaction. Also known as PAN. | | reference | String | O | Merchant-defined field to reference the transaction. | | merchantId | String | O | Your Merchant ID assigned by us. | | methodNotificationUrl | String | O | The URL that will receive the Method Completion message. | | methodWindow | ChallengeWindowOptions | O | Object containing the options on how to present the Challenge Window to the cardholder. | | Merchant Data | String | O | Any data you want to pass from the 3DS JavaScript to your server-side code. | ### Initiate Authentication method | Field | Format | Type | Description | | ----- | ----- | ----- | ----- | | Authentication Endpoint | String | M | Your server-side endpoint responsible for handling the Initiate Authentication request and response. | | accountId | String | O | Your Account ID assigned by us. | | authenticationRequestType | Enum | O | Indicates the type of channel used to initiate the transaction. Allowed values: **AddCard CardholderVerification MaintainCard InstalmentTransaction PaymentTransaction RecurringTransaction** | | authenticationSource | Enum | O | Indicates the type of channel used to initiate the transaction. Allowed values: **Browser MobileSDK StoredRecurring** | | browserData | Object | M | Object containing the details of the user's browser. | | colorDepth | String | M | Browser color depth. | | javaEnabled | Boolean | M | Whether the browser can execute Java. | | javascriptEnabled | Boolean | M | Whether the browser can execute Javascript. | | language | String | M | Browser language. | | screenHeight | Number | M | Total height of the customer's screen in pixels. | | screenWidth | Number | M | Total width of the customer's screen in pixels. | | time | Date | M | | | timezoneOffset | Number | M | Time difference between UTC time and the customer's browser local time. | | userAgent | String | M | Exact content of the HTTP user-agent header sent by the browser. | | card | Object | O | Object containing the card information. | | challengeNotificationUrl | String | O | URL that receives the Challenge Result message and informs your application that the customer has completed the challenge. | | challengeRequestIndicator | Enum | O | Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. Allowed values: **ChallengeMandated ChallengePreferred NoChallengeRequested NoPreference** | | challengeWindow | Object | M | Object containing the options on how to present the challenge window to the cardholder. | | displayMode | String | O | | | encodedChallengeRequest | String | O | | | hide | Boolean | O | | | origin | String | O | | | requestUrl | String | O | | | response | String | O | | | target | String | O | | | timeout | Number | O | | | windowSize | String | O | Dimensions of the challenge window displayed to the customer. The ACS replies with content that fits the window size. | | merchantId | String | O | Your Merchant ID assigned by us. | | merchantContactUrl | String | O | URL of the merchant's website or customer support site. Should provide contact information for use in the event of a problem. | | messageCategory | Enum | O | Indicates the type of channel used to initiate the transaction. Allowed values: **NonPayment Payment** | | methodUrlComplete | Enum | O | Indicates whether the 3DS Method was completed successfully. Allowed values: **Unavailable No Yes** | | serverTransactionId | String | O | Unique identifier for the authentication in our 3DS solution (3DS server). Must be used for all requests. | | Merchant Data | String | O | Any data you want to pass from the 3DS JavaScript to your server-side code. | ## Transaction Management Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/transaction-management.md # Transaction Management SDK ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. ## Capture (Settle) > 3D Secure transactions must be settled for the original authorization amount to avail of the chargeback protection. ```java // the transaction id from the authorization response String transactionId = "TRN_UDeQBCNZ1xwQrpJwAF3DK6sUGMRpMH_efffb56bf11; // create the capture transaction object Transaction transaction = Transaction.fromId(transactionId); try { // send the capture request, we must specify the amount and currency Transaction response = transaction.capture(15.00) .withCurrency("EUR") .execute(); String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED } catch (ApiException e) { // TODO: add your error handling here } ``` ```php capture(15.00) ->withCurrency("EUR") ->execute(); $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED } catch (ApiException $e) { // TODO: Add your error handling here } ``` ```dotnet // the transaction id from the authorization response var transactionId = "TRN_UDeQBCNZ1xwQrpJwAF3DK6sUGMRpMH_efffb56bf11"; // create the settle transaction object var transaction = Transaction.FromId(transactionId); try { // send the capture request, we must specify the amount and currency Transaction response = transaction.Capture(99.99m) .WithCurrency("EUR") .Execute(); var result = response.ResponseCode; // 00 == Success var message = response.ResponseMessage; // CAPTURED } catch (ApiException ex) { // TODO: add your error handling here} ``` ## Refund (Rebate) > You can process multiple refunds against one transaction, but this ability is not enabled by default on your account. It must be requested by one of the primary listed contacts on the account. For more information, contact a member of our support team. ```java // the transaction id from the authorization response String transactionId = "TRN_UDeQBCNZ1xwQrpJwAF3DK6sUGMRpMH_efffb56bf11 // create the refund transaction object Transaction transaction = Transaction.fromId(transactionId); try { // if you don’t specify the amount it will do the refund for the full value of the transaction Transaction response = transaction.refund(14.99) .withCurrency("EUR") .execute(); String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED } catch (ApiException e) { // TODO: add your error handling here } ``` ```php refund(14.99) ->withCurrency("EUR") ->execute(); $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED } catch (ApiException $e) { // TODO: Add your error handling here } ``` ```dotnet // the transaction id from the authorization response var transactionId = "TRN_UDeQBCNZ1xwQrpJwAF3DK6sUGMRpMH_efffb56bf11"; // create the refund transaction object var transaction = Transaction.FromId(transactionId); try { // if you don’t specify the amount it will do the refund for the full value of the transaction Transaction response = transaction.Refund(14.99m) .WithCurrency("EUR") .Execute(); var result = response.ResponseCode; // SUCCESS var message = response.ResponseMessage; // CAPTURED } catch (ApiException ex) { // TODO: add your error handling here } ``` ## Dynamic Currency Conversion Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/dynamic-currency.md # Dynamic Currency Conversion - SDK > The DCC feature is currently not available in the United States or Canada. > > The amount of information that must be presented to the customer, such as rate or margin, varies by Acquirer and Currency Conversion Processor. For more information, contact your account manager (or your Acquirer). ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. ## Rate Lookup ```java Transaction response = null; try { // check if Dynamic Currency Conversion is available response = card .getDccRate() .withAmount(19.99) .withCurrency("EUR") .execute(); } catch (ApiException $e) { // TODO: add your error handling here } if (response != null) { DccRateData dccRateData = response.getDccRateData(); // get the details to present to the customer String cardHolderCurrency = dccRateData.getCardHolderCurrency(); // AUD BigDecimal customerAmount = dccRateData.getCardHolderAmount(); // 28.43 String exchangeRate = dccRateData.getCardHolderRate(); // 1.4220 // TODO: update your application and display the conversion option to the customer } ``` ```php number = "4006097467207025"; $card->expMonth = 12; $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = "131"; $card->cardHolderName = "James Mason"; try { // check if Dynamic Currency Conversion is available $response = $card->getDccRate() ->withAmount(19.99) ->withCurrency('EUR') ->execute();; } catch (ApiException $e) { // TODO: add your error handling here } if (isset($response)) { $dccRateData = $response->dccRateData; // get the details to present to the customer $cardHolderCurrency = $dccRateData->cardHolderCurrency; // AUD $customerAmount = $dccRateData->cardHolderAmount; // 28.43 $exchangeRate = $dccRateData->cardHolderRate; // 1.4220 // TODO: update your application and display the conversion option to the customer } ``` ```dotnet CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.Cvn = "123"; card.CardPresent = true; Transaction response = null; try { // check if Dynamic Currency Conversion is available response = card .GetDccRate() .WithAmount(19.99m) .WithCurrency("EUR") .Execute(); } catch (ApiException e) { // TODO: add your error handling here } if (response != null) { DccRateData dccRateData = response.DccRateData; // get the details to present to the customer string cardHolderCurrency = dccRateData.CardHolderCurrency; // AUD decimal? customerAmount = dccRateData.CardHolderAmount; // 28.43 decimal? exchangeRate = dccRateData.CardHolderRate; // 1.4220 // TODO: update your application and display the conversion option to the customer } ``` ## Authorization with DCC ```java // create the card object CreditCardData card = new CreditCardData(); card.setNumber("4006097467207025"); card.setExpMonth(12); card.setExpYear("DCC Rate Lookup request"); card.setCvn("131"); card.setCardHolderName("James Mason"); DccRateData dccRateData = new DccRateData(); dccRateData.setDccId("CCS_bRgMg8rCM4ikmgOWSTXGBm0CsjQlNG"); Transaction response = null; try { // Submit the Authorization with the customer's DCC choice response = card .charge(19.99) .withDccRateData(dccRateData) .withCurrency("EUR") .withOrderId("cd82c0aa-cf3c-4887-aed9-0680aee9f484") .execute(); } catch (ApiException $e) { // TODO: add your error handling here } if (response != null) { String result = response.getResponseCode(); // SUCCESS String message = response.getResponseMessage(); // CAPTURED // get the details to save to the DB for future requests String authCode = response.getAuthorizationCode(); // 12345 String paymentsReference = response.getTransactionId(); // TRN_bRgMg8rCM4ikmgOWSTXGBm0CsjQlNG String carBrandRef = response.getCardBrandTransactionId(); // mnYbrBPsbTySGDKA // TODO: update your application and display transaction outcome to the customer } ``` ```php number = "4006097467207025"; $card->expMonth = 12; $card->expYear = DCC Rate Lookup request; $card->cvn = "131"; $card->cardHolderName = "James Mason"; $dccRateData = new DccRateData(); $dccRateData->dccId = 'CCS_bRgMg8rCM4ikmgOWSTXGBm0CsjQlNG'; try { // Submit the Authorization with the customer's DCC choice $response = $card->charge(19.99) ->withDccRateData($dccRateData) ->withCurrency("EUR") ->withOrderId("cd82c0aa-cf3c-4887-aed9-0680aee9f484") ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } if (isset($response)) { $result = $response->responseCode; // SUCCESS $message = $response->responseMessage; // CAPTURED // get the details to save to the DB for future requests $authCode = $response->authorizationCode; // 12345 $paymentsReference = $response->transactionId; // TRN_bRgMg8rCM4ikmgOWSTXGBm0CsjQlNG $carBrandRef = $response->cardBrandTransactionId; // mnYbrBPsbTySGDKA // TODO: update your application and display transaction outcome to the customer } ``` ```dotnet // create the card object CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.Cvn = "123"; card.CardPresent = true; DccRateData dccRateData = new DccRateData(); dccRateData.DccId = "CCS_bRgMg8rCM4ikmgOWSTXGBm0CsjQlNG"; Transaction response = null; try { // Submit the Authorization with the customer's DCC choice response = card .Charge(19.99m) .WithDccRateData(dccRateData) .WithCurrency("EUR") .WithOrderId("cd82c0aa-cf3c-4887-aed9-0680aee9f484") .Execute(); } catch (ApiException e) { // TODO: add your error handling here } if (response != null) { string result = response.ResponseCode; // SUCCESS string message = response.ResponseMessage; // CAPTURED // get the details to save to the DB for future requests string authCode = response.AuthorizationCode; // 12345 string paymentsReference = response.TransactionId; // TRN_bRgMg8rCM4ikmgOWSTXGBm0CsjQlNG string carBrandRef = response.CardBrandTransactionId; // mnYbrBPsbTySGDKA // TODO: update your application and display transaction outcome to the customer } ``` ## Dynamic Descriptor Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/dynamic-descriptor.md # Dynamic Descriptor SDK ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/configuration-code.md) article. > Dynamic Descriptor is currently supported only by certain Acquirers (that is, our North America division and Allied Irish Banks). Both the Issuer and the Acquirer must support this functionality. Before using, consult with your account manager or support agent. ## Set a descriptor ```java // Create the card object CreditCardData card = new CreditCardData(); card.setNumber("4111111111111111"); card.setExpMonth(12); card.setExpYear(2025); card.setCvn("123"); card.setCardHolderName("Joe Smith"); try { card .authorize(10) .withCurrency("USD") .withDynamicDescriptor("ALTERNATIVE DBA") .execute(); } catch (ApiException e) { // TODO: add your error handling here } ``` ```php number = "4111111111111111"; $card->expMonth = 12; $card->expYear = 2025; $card->cvn = "131"; $card->cardHolderName = "Joe Smith"; try { $response = $card->authorize(10) ->withCurrency('USD') ->withDynamicDescriptor('ALTERNATIVE DBA') ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } ``` ```dotnet // Create the card object CreditCardData card = new CreditCardData(); card.Number = "4111111111111111"; card.ExpMonth = 12; card.ExpYear = 2025; card.Cvn = "123"; card.CardHolderName = "Joe Smith"; try { var authorization = card.Authorize(10m) .WithCurrency("USD") .WithDynamicDescriptor("ALTERNATIVE DBA") .Execute(); } catch (Exception ex) { // TODO: add your error handling here } ``` ## Token Management Source: https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/token-management.md # SDK - Token Management ## Configuration For configuration code samples, see our [Configuration Code for SDKs](https://developer.globalpayments.com/ecommerce/payments/sdk/reference/config-code) article. ## Token History > **Availability:** \>= SDK V9.0.25 To access the history of your token updates in the .NET SDK, you may use the `TokenUpdaterHistory()` public method. You may access this method in the `ReportingService` class, using the following portico configuration details: ```dotnet var porticoConfig = new PorticoConfig { SecretApiKey = " ", IsSafDataSupported = true, RequestLogger = new RequestConsoleLogger(), ServiceUrl = ServiceEndpoints.PORTICO_TEST }; ``` In order to access this functionality you will need a valid `SecretApiKey` and `ServiceUrl`. While `IsSafDataSupported` is not mandatory, it is a part of the test configuration class. Below are the request parameters with the methods that will set the value in the request: * `ReportStartDate` * `ReportEndDate` * `Limit` * `Offset` * `TokenValue` * `Action` Below are the response parameters that will be returned from the SDK. They will map to the the `TokenUpdaterHistoryResponse` class: * `CountAccountsClosed` * `CountContactCardholder` * `CountUpdateExpirationDate` * `CountUpdateCardNumber` * `Limit` * `Offset` * `ReportEndDate` * `ReportStartDate` * `TotalMatchingRecords` * `Results` * `NewCardNumber` * `NewExpirationDate` * `PreviousCardNumber` * `PreviousExpirationDate` * `TokenValue` * `UpdateAction` * `UpdateDate` The `PorticoReportingTests` file within the test project contains the following test cases for the Report Token Updater History functionality. * `ReportTokenUpdaterHistory_WithStartDateAndResultTypeDetails_ReturnsValidResults` * `ReportTokenUpdaterHistory_WithAllCriteria_ReturnsExpectedDetails` * `ReportTokenUpdaterHistory_WithStartDateAndEndDateAndResultTypeDetails` * `ReportTokenUpdaterHistory_WithStartDateAndCountsResultType_ReturnsValidCounts` * `ReportTokenUpdaterHistory_WithStartAndEndDate_TokenValue_LimitOffset_CountsType_ReturnsResponse` * `ReportTokenUpdaterHistory_WithStartDateAndEndDateAndResultTypeCounts` These tests validate the token updater history reporting feature, ensuring that reports can be generated using various filters. They ensure that all expected fields and counts are present in the response. ## Model Context Protocol (MCP) Source: https://developer.globalpayments.com/docs/integration-options/mcp.md # MCP on the API Platform - Guide > This project will be continuously updated over the coming weeks with additional tools and functionalities The Global Payments Model Context ProtocoL (MCP) server on our REST API Platform provides AI agents within tools such as Claude, Windsurf and VS Code with a set of tools they can use to call Global Payments APIs and search our documentation directly from your chat interface. The MCP server also allows you to extend your AI clients/agents capabilities by providing secure, controlled access to our resources. ## Use Cases The Global Payments MCP server is designed to speed up your integration workflow by allowing you to perform key tasks without leaving your IDE or chat interface. Here are three common ways developers use these tools. ##### Use case #1: Generating Payment Links for Testing Instead of manually navigating the merchant portal or writing a temporary script to test your checkout flow, you can ask your AI agent to generate a live payment link instantly. **Example Prompt:** "Create a single-use payment link for 50.00 USD for order #12345." What happens: The agent uses create_payment_link tool to call the API, returning a valid URL that you can immediately click to test the payment experience or send to a customer. ##### Use case #2: Debugging Integrations with Live Logs When building a payment integration on a merchant site, you might encounter vague error messages or failed transactions. Instead of context-switching to the portal to find transaction details, you can ask the agent to pull the recent logs. The agent then has the exact error codes and transaction details in its context, allowing it to analyze your code and suggest a fix immediately. **Example Workflow:** Developer: "I'm getting a 400 error on my checkout page. Can you check the last 5 payment links I created to see what happened?" Agent: Calls get_links and analyzes the response. Agent Response: "I found the failed transaction. The status is FAILED with error code INVALID_CURRENCY. It looks like your code is sending 'US' instead of 'USD'. Here is the corrected line of code for your checkout.js file..." ##### Use case #3: Contextual Documentation Search When you are writing code and need to know the specific parameters for an API endpoint, you can ask the agent to find the relevant docs without switching to a browser. **Example Prompt:** "How do I format the request for the Transaction API? Search the docs for the required fields." What happens: The agent uses get_documentation to pull the specific integration guide or API reference into the chat context. It can then use that information to help you write or fix your code in real-time. ## Prerequisites Before connecting your AI client, ensure you have the following installed on your machine: * **Node.js:** Version 18.0 or higher. * **Git:** To clone the repository. * **Global Payments Credentials:** An App ID and App Secret from your developer account. ## Step 1: Install and Build the Server Unlike cloud-hosted tools, this version of the MCP server runs locally on your machine to ensure maximum security and control over your API credentials. 1. **Clone the repository:** ```BASH ``` git clone https://github.com/globalpayments/mcp-server.git cd mcp-server ``` ``` 2. **Install dependencies and build:** ```BASH ``` npm install npm run build ``` ``` 3. **Configure Environment Variables:** Create a `.env` file in the `Typescript` directory (the project root). Add your credentials: ```BASH ``` \\ Required: Your Global Payments App credentials (format: APP_ID:APP_SECRET) GPAPI_APP=your_app_id:your_app_secret \\ Optional: Set environment to SANDBOX or PROD (Default: SANDBOX) ENV=SANDBOX ``` ``` ## Step 2: Connect to your AI Client Once built, you can connect your preferred AI editor or agent to the local server. **Important:** In the configurations below, you must replace `/absolute/path/to/` with the actual full file path where you cloned the repository. ```JSON Add the following to your `.vscode/mcp.json` file in your workspace. To learn more, see https://code.visualstudio.com/docs/copilot/chat/mcp-servers { "servers": { "global-payments": { "command": "node", "args": ["lib/index.js"] } } } ``` ```JSON Add the following to your `claude_desktop_config.json` file. To learn more, see https://modelcontextprotocol.io/quickstart/user { "mcpServers": { "global-payments": { "command": "node", "args": ["/absolute/path/to/gpapi-mcp-server/Typescript/lib/index.js"] } } } ``` ```JSON Add the following to your `~/.codeium/windsurf/mcp_config.json` file. To learn more, see https://docs.windsurf.com/windsurf/cascade/mcp { "mcpServers": { "global-payments": { "command": "node", "args": ["/absolute/path/to/gpapi-mcp-server/Typescript/lib/index.js"] } } } ``` ```JSON Add the following to your `~/.cursor/mcp.json` file. To learn more, see https://docs.cursor.com/context/model-context-protocol { "mcpServers": { "global-payments": { "command": "node", "args": ["/absolute/path/to/gpapi-mcp-server/Typescript/lib/index.js"] } } } ``` ## Available Tools The server exposes the following tools to your AI agent. The agent will automatically select the correct tool based on your natural language prompt (e.g., "Create a payment link for $50"). | Category | Tool Name | Description | | --- | --- | --- | | **Payments** | `create_payment_link` | Create single-use or multi-use payment links programmatically. | | **Reporting** | `get_links` | Retrieve and filter existing payment links to check status or details. | | **Documentation** | `get_documentation` | Search and retrieve API documentation for 19+ categories directly in chat. | ## Troubleshooting * **Path Errors:** If the agent cannot find the server, ensure you are using the **absolute path** (e.g., `/Users/username/dev/...` or `C:\Users\username\dev...`) in the `cwd` (Current Working Directory) configuration. * **Authentication:** Ensure your `.env` file is located exactly in the `Typescript` folder and contains valid credentials in the `APP_ID:APP_SECRET` format. * **Build Status:** If changes aren't reflecting, try running `npm run build` again to ensure the TypeScript source is compiled to the `lib` folder. ## API Source: https://developer.globalpayments.com/docs/integration-options/api.md # API Discover the many benefits of integrating with our API. Just to name a few: ### REST API ### Cloud-based tech stack ### One integration ### Single set of credentials ### Secure ### Omnichannel ### Partners ### Small and medium-sized businesses ### Enterprise ### Global A single integration opens a world of possibilities. Not only does our API allow you to take and manage payments online or in-store, but we offer many other features and capabilities that add value to both your business and your customer experience. ### [Payment Processing](https://developer.globalpayments.com/docs/payments/overview.md) Online or in-store, a simple integration connects you to our vast payments ecosystem. Our market-leading technology connects every aspect of commerce. ### Tokenization & Recurring Payments Securely store customer and card data for single or multiple transactions while also managing monthly subscriptions. ### Dynamic Currency Conversion Offer cardholders traveling internationally the choice of paying either in the currency of their own card or the currency that the merchant trades in. ### Alternative Payment Methods Add alternative and local payment methods to your offering, including PayPal, GooglePay, ApplePay and many more. ### Risk Management Add 3D Secure as well as Fraud Filters with Decision Management to better identify your customers and reduce fraud. ### Reporting Reconcile transactions and manage your daily fund transfer processes with both Real-Time Data and Settlement Reporting. ### Disputes Management Use our Disputes API to automate the reporting and management of transaction disputes. ### Partners Create, manage, and act on behalf of the many merchants in your network. Partners can use our expertise but also take full control of the merchant experience. Our solutions are available in the following regions. For more specific information, check with your account manager. ### United States ### Canada ### United Kingdom ### Europe ### Mexico ### Asia Pacific Our API covers multiple capabilities, so let's get to it and start taking payments. Get up to speed quickly using the steps in our guides for online and in-store payments. Or, jump straight into our code using our full API References section and Postman collection. ### [Online](https://developer.globalpayments.com/docs/payments/online/api-guide.md) Start taking payments using our API with the help of our guides. ### [In-Store](https://developer.globalpayments.com/docs/payments/in-store/full-integration.md) Take full control over the in-store payment experience. ### [Full API References](https://developer.globalpayments.com/api/overview.md) Test code in an interactive playground and explore API resources and methods. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) Download our Postman collection to see working examples to help you with your integration. ## Payments Source: https://developer.globalpayments.com/docs/payments/overview.md # Payments ### Online Payments Take payments securely online while meeting PCI DSS security requirements. [Plugins](https://developer.globalpayments.com/docs/payments/online/plugins.md) [Pay by Link](https://developer.globalpayments.com/docs/payments/online/pay-by-link-overview.md) [Hosted Payment Page](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md) [Hosted Fields](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md) [Drop-In UI](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md) [Direct API](https://developer.globalpayments.com/docs/payments/online/api-guide.md) ### In-Store Payments Embed card-present payments into your point-of-sale device using an integration type that works best for you. [Standalone Terminals](https://developer.globalpayments.com/docs/payments/in-store/standalone.md) [Cloud Integration](https://developer.globalpayments.com/docs/payments/in-store/cloud.md) [Semi-Integration](https://developer.globalpayments.com/docs/payments/in-store/semi-integration.md) [Full Integration](https://developer.globalpayments.com/docs/payments/in-store/full-integration.md) ### Recurring Payments [Recurring Payments](https://developer.globalpayments.com/docs/payments/recurring/overview.md) [Credentials on File](https://developer.globalpayments.com/docs/payments/recurring/credentials-on-file.md) ### Tokenization [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) [Payers](https://developer.globalpayments.com/docs/payments/tokenization/payers-overview.md) ### Payment Methods [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) [Buy Now Pay Later](https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-overview.md) [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) [QR Code Payments](https://developer.globalpayments.com/docs/payments/payment-methods/qr-codes-overview.md) [Open Banking](https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-overview.md) [PayPal](https://developer.globalpayments.com/docs/payments/payment-methods/paypal-overview.md) [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md) ### Manage Payments [Adjust](https://developer.globalpayments.com/docs/payments/manage-payments/adjust-guide.md) [Batches](https://developer.globalpayments.com/docs/payments/manage-payments/batches-guide.md) [Capture](https://developer.globalpayments.com/docs/payments/manage-payments/capture-guide.md) [Increment](https://developer.globalpayments.com/docs/payments/manage-payments/increment-guide.md) [Reauth](https://developer.globalpayments.com/docs/payments/manage-payments/reauth-guide.md) [Refund](https://developer.globalpayments.com/docs/payments/manage-payments/refund-guide.md) [Reverse](https://developer.globalpayments.com/docs/payments/manage-payments/reverse-guide.md) [Verify](https://developer.globalpayments.com/docs/payments/manage-payments/verify-guide.md) ## Overview Source: https://developer.globalpayments.com/docs/payments/online/overview.md # Online Payments When you’re accepting online payments from around the world, experience matters. Benefit from our global expertise. Our solutions are simple, secure — and you get paid fast. We provide many options for taking payments online to meet your requirements. ### [Plugins](https://developer.globalpayments.com/docs/integration-options/plugins.md) **No Code** We have plugins and integrations to most of the major shopping cart platforms. These integrations are kept up to date with the latest releases and features. ### [Pay by Link](https://developer.globalpayments.com/docs/payments/online/pay-by-link-overview.md) **Low Code** Make paying simple. Share payment links however your customers prefer – through email, text, chat, and more. They pay instantly for a smooth, streamlined experience. ### [Hosted Payment Page](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md) **Low Code** This PCI DSS compliant solution gives merchants pre-built payment forms to capture customer card details through one simple redirect or embedded integration. ### [Hosted Fields](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md) **Low Code** These pre-built individual input fields allow merchants to capture customer card information. They provide the most flexibility while still adhering to the minimum PCI DSS requirements. ### [Drop-In UI](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md) **Low Code** These user interface (UI) components are flexible and customizable, allowing merchants to build a checkout flow that suits their business needs. ### [Direct API / SDK](https://developer.globalpayments.com/docs/payments/online/api-guide.md) **High Code** Connect into numerous regions, channels, and payment methods worldwide with one integration. Customers pay anytime, anywhere, and on any device. ## Plugins Source: https://developer.globalpayments.com/docs/payments/online/plugins.md # Plugins We provide integrations with third-party enterprise platforms, retail shopping carts, as well as vertical platforms and partners. Select a third-party integration below to learn how to download the extension and go live with it. ## Overview Source: https://developer.globalpayments.com/docs/payments/online/pay-by-link-overview.md # Pay by Link - Overview Pay by Link gives merchants the ability to automatically generate a unique payment link for their customers without needing a website. When a customer uses the link, they are redirected to a payment page to enter their payment details. This unique link can be set for single use or multiple use, depending on the business case. You can provide the link to your customers in several ways. For example, the link can be embedded in a QR code for customers to scan with their phone or it can be included in a promotional post on a social media platform such as Facebook or Instagram. You can also send the link directly to a customer via an email or text message (SMS) — for example, if you want to remind them to pay their bill. > Note: SMS delivery is supported but requires additional account configuration. Contact your Global Payments representative to enable SMS and review regional requirements and costs. With Pay by Link, you can also: * Align your Customer Relationship Management (CRM) system to enhance your payment capabilities. * Automate the payment of a Pay by Link into your fulfillment systems. * Track each individual payment link and see if it leads to a payment. ![Screenshot of a payment link created successfully and the payment page associated with the link.](https://developer.globalpayments.com/gh-assets/pay-link_example.png) **Pay by Link Example** ## Use cases In this section, we present some “real world” examples that can be enabled through our Pay by Link solution. Keep in mind that this section doesn’t cover all of the use cases. ##### Use case #1: Reminder texts A medical insurer wants to send reminders to its customers to pay their bill. It uses the API to create payment links, which are then sent via its CRM system as text messages to customers. Customers click the link in the text message, which opens up a payment page on their phone for them to pay their insurance bill. ##### Use case #2: Social media posts A large multinational corporation uses the APIs to create payment links, which it feeds into its social media platform to push products directly to its Facebook, Twitter, and Instagram accounts. Customers can see the posts and click the payment link to purchase the products directly. ##### Use case #3: QR codes on checks A restaurant point-of-sale (POS) software provider enables pay-at-the-table functionality by leveraging the API. The POS software calculates the final bill and then calls the API to generate a payment link. Using a third-party library, the POS software embeds the link into a QR code and prints the QR code onto the check provided to the restaurant’s customer. The customer then scans the code using their phone and is taken to the payment page where they enter the payment details. ##### Use case #4: Telephone orders An online retailer selling high-end products allows customers calling in for product advice to also complete a purchase over the phone using a credit card. The merchant previously used a virtual terminal to input the card number, but since this raised serious data protection and security concerns, their CRM system now sends a payment link to the customer’s phone instead. The customer then completes the purchase on a personalized payment page for the merchant. ## Product information ##### What you get with Pay by Link * Create, manage and share payment links * Dashboard UI to complement our API * Configure what information to capture on payment form (for example, billing info) ##### What you can add to Pay by Link * 3D Secure * Digital Wallets (_Coming Soon_) * Open Banking (_Coming Soon_) ##### Integration options * JavaScript Library * API via the Links resource ##### Regions where you can use Pay by Link * United States * Asia-Pacific * Canada * Europe ## How it works You can easily integrate with our API to use Pay by Link and automate the sharing of payment requests to your customers by embedding the link into the customer journey of your existing system. A payment link is created when you send a request to the Unified Payments API server (_/ucp/links_) to create a new link URL. There are many ways to configure a payment link in the Create Link API request. For example, you can specify if the link can only be paid once or multiple times, as well as set an expiry date. For multiple-use payment links, you can set a maximum number of times that it can be used. Once the request is received, our API then generates a unique id to represent the link (`LNK_ID`). You can send this link to the customer via email or text/SMS. After the customer clicks the link, they are redirected to the hosted page of our technology partner, Truust. The customer then enters their card details to complete the purchase. Truust then sends the transaction to our API. After getting a response, Truust will send a webhook to the API and then redirect the customer back to the Return URL you included in the request. All link and transactional data are available for you to access via the API. For example, you can query how many times the link was viewed or paid. At a high level, Pay by Link works like this: ![Diagram flow show how Pay by Link works at a high level.](https://developer.globalpayments.com/gh-assets/pay-link_flow.png) **Pay by Link Typical Flow** ## Next steps To try Pay by Link, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/payments/online/pay-by-link-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/online/pay-by-link-guide.md # Pay by Link - Guide This guide focuses on the steps needed to create a unique payment link, including initiating the payment, redirecting the customer, and checking the status. We also show you how to use a webhook to keep current with processed paylinks and how to edit a payment link if you need to change its properties. For more information on Pay by Link, including use cases, see our [Overview](https://developer.globalpayments.com/docs/payments/online/pay-by-link-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Initiate the payment In this step, we create a unique payment link using the Create Link request. You can include various data elements specific to each link request, such as product information, price, number of times it can be paid, notification type and destination, and a link expiration date. The Create Link call also retrieves some necessary information to facilitate the redirect and authentication of the customer. For information on API methods and request/response data, see [Links](https://developer.globalpayments.com/api/links.md) in API Explorer. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-type: application/json' \ --data '{ "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "account_name": "Transaction_Processing", "type": "PAYMENT", "usage_mode": "MULTIPLE", "usage_limit": "1000", "reference": "Restaurant", "name": "Invoice #1234567", "description": "3 x pizzas, 4 x 7up", "shippable": "NO", "expiration_date": "2026-12-20T00:35:28Z", "transactions": { "allowed_payment_methods": [ "CARD" ], "amount": "4999", "channel": "CNP", "country": "GB", "currency": "GBP" }, "message_type": "EMAIL_AND_SMS", "payer": { "reference": "CUS_123", "mobile_phone": { "country_code": "+48", "subscriber_number": "656565656" }, "email": "test@test.com" }, "images": [ { "b64_content": "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" } ], "notifications": { "return_url": "https://www.example.com/return", "status_url": "https://www.example.com/status", "cancel_url": "https://www.example.com/cancel" } }' ``` ```java GpApiConfig config = new GpApiConfig(); // GP-API settings config .setAppId("AppID") .setAppKey("AppKey") .setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); AccessTokenInfo accessTokenInfo = new AccessTokenInfo() .setTransactionProcessingAccountName("LinkManagement"); config.setAccessTokenInfo(accessTokenInfo); config.setEnableLogging(true); ServicesContainer.configureService(config); PayByLinkData payByLink = new PayByLinkData(); payByLink.setType(PayByLinkType.PAYMENT); payByLink.setUsageMode(PaymentMethodUsageMode.SINGLE); payByLink.setAllowedPaymentMethods(new String[]{PaymentMethodName.Card.getValue(Target.GP_API)}); payByLink.setUsageLimit(1); payByLink.setName("Mobile Bill Payment"); payByLink.isShippable(true); payByLink.setShippingAmount(new BigDecimal(1.23)); payByLink.setExpirationDate(DateTime.now().plusDays(10)); payByLink.setImages(Arrays.asList("test", "test2", "test3")); payByLink.setReturnUrl("https://www.example.com/returnUrl"); payByLink.setStatusUpdateUrl("https://www.example.com/statusUrl"); payByLink.setCancelUrl("https://www.example.com/returnUrl"); try { Transaction response = PayByLinkService .create(payByLink, amount) .withCurrency("USD") .withClientTransactionId(GenerationUtils.generateRecurringKey()) .withDescription("March and April Invoice") .execute(); } catch (ApiException ex) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppID"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Environment.TEST; config.Country = "GB"; config.AccessTokenInfo = new AccessTokenInfo { TransactionProcessingAccountName = "LinkManagement" }; config.RequestLogger = new RequestConsoleLogger(); config.EnableLogging = true; ServicesContainer.ConfigureService(config); PayByLinkData payByLink = new PayByLinkData(); payByLink.Type = PayByLinkType.PAYMENT; payByLink.UsageMode = PaymentMethodUsageMode.Single; payByLink.AllowedPaymentMethods = new PaymentMethodName[] { PaymentMethodName.Card }; payByLink.UsageLimit = 1; payByLink.Name = "Mobile Bill Payment"; payByLink.IsShippable = true; payByLink.ShippingAmount = 1.23m; payByLink.ExpirationDate = DateTime.UtcNow.AddDays(10); //date('Y-m-d H:i:s') + 10; payByLink.Images = new string[] { "test", "test2", "test3" }; payByLink.ReturnUrl = "https://www.example.com/returnUrl"; payByLink.StatusUpdateUrl = "https://www.example.com/statusUrl"; payByLink.CancelUrl = "https://www.example.com/returnUrl"; try { var response = PayByLinkService.Create(payByLink, 7.8m) .WithCurrency("GBP") .WithClientTransactionId(GenerationUtils.GenerateRecurringKey()) .WithDescription("March and April Invoice") .Execute(); } catch (GatewayException ex) { // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppID'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $accessTokenInfo = new AccessTokenInfo(); $accessTokenInfo->transactionProcessingAccountName = 'LinkManagement'; $config->accessTokenInfo = $accessTokenInfo; ServicesContainer::configureService($config); $payByLink = new PayByLinkData(); $payByLink->type = PayByLinkType::PAYMENT; $payByLink->usageMode = PaymentMethodUsageMode::MULTIPLE; $payByLink->allowedPaymentMethods = [PaymentMethodName::CARD]; $payByLink->usageLimit = 1000; $payByLink->name = 'iphone 14'; $payByLink->isShippable = false; $payByLink->shippingAmount = 1.00; $payByLink->images = ['https://gpapi-sandbox.truust.io/assets/images/37272.jpg']; $payByLink->expirationDate = date('Y-m-d H:i:s', strtotime(' + 2 years')); $payByLink->returnUrl = 'https://www.example.com/returnUrl'; $payByLink->statusUpdateUrl = 'https://www.example.com/statusUrl'; $payByLink->cancelUrl = 'https://www.example.com/returnUrl'; try { $response = PayByLinkService::create($payByLink, 1.00) ->withCurrency('USD') ->withClientTransactionId(GenerationUtils::getGuid()) ->withDescription('iPhone 14 Max') ->execute(); } catch (GatewayException $ex){ // TODO: Add your exception handling here } $responseCode = $response->responseCode; // SUCCESS $responseMessage = $response->responseMessage; // ACTIVE $amount = $response->balanceAmount; // 1.00 $payByLinkUrl = $response->payByLinkResponse->url; // https://apis.sandbox.globalpay.com/ucp/postback/MjAyMTAzMjJfbzBnWGJG $payByLinkId = $response->payByLinkResponse->id; // LNK_6U3sKIGH1uNyi22sPob9KZsjXcSHY9 ``` #### Sample response ```JSON { "id": "LNK_ebXXvzKCVf7eOVegpYHaPkld2vDnXn", "account_name": "Transaction_Processing", "url": "https://apis.sandbox.globalpay.com/ucp/postback/MjAyMTAzMjJfS0pvSlc5", "status": "ACTIVE", "type": "PAYMENT", "usage_mode": "MULTIPLE", "usage_limit": "1000", "reference": "Restaurant", "name": "Invoice #1234567", "description": "3 x pizzas, 4 x 7up", "shippable": "NO", "shipping_amount": "0", "viewed_count": "0", "expiration_date": "2026-12-20T00:35:28Z", "transactions": { "channel": "CNP", "amount": "4999", "currency": "GBP", "country": "GB", "allowed_payment_methods": [ "CARD" ] }, "images": [ "https://gpapi-pre.truust.io/assets/images/YEjbBZZjp3.jpg" ], "action": { "id": "ACT_ebXXvzKCVf7eOVegpYHaPkld2vDnXn", "type": "LINK_CREATE", "time_created": "2024-06-07T16:18:45.208Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } } ``` ## Step 2: Redirect the customer Once the link is created, the customer must be redirected using the URL returned in the Create Pay by Link response to facilitate authentication and authorization. You can use a simple JavaScript redirect or HTTP GET (302 redirect). For information on API methods and request/response data, see [Links](https://developer.globalpayments.com/api/links.md#/Get%20a%20list%20of%20Links/get-links) in API Explorer. In this example, we redirect the customer to the URL using JavaScript. #### Sample redirect code ```XML Sample Redirect ``` Once the customer completes the transaction, they are redirected to the Return URL specified in the Create Link request. The unique transaction identifier is also returned, allowing you to check the status of the payment (see next step) #### Sample return URL parameters ```XML https://www.example.com/return?X-GP-Signature=b4d424a3e69c79dc43c4bd7153485a756e8f42e00a15e0e4850d5b0bb7bb45de1471fcbc0d4e248cec8f9911ba742eab3984fa2251d1a8e53d3aaa45a421e4fe&link_id=LNK_ebXXvzKCVf7eOVegpYHaPkld2vDnXn&trn_id=&action_type=REDIRECT_FROM&action_id=ACT_39r9oCnIpK0UchlWjxySeq8AuoLYDl ``` ## Step 3: Check the status, handle the redirect Once the customer completes the transaction, they are redirected back to your site based on transaction success/failure using the URLs specified in the Create Link request. The `TRN_ID` that is passed as a URL parameter should be used to check the status of the transaction before displaying a successful or failed transaction message to the customer and updating your systems. For information on API methods and request/response data, see [Links](https://developer.globalpayments.com/api/links.md#/Get%20a%20list%20of%20Links/get-links) in the API Explorer. #### Sample request ```json curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/links/LNK_ebXXvzKCVf7eOVegpYHaPkld2vDnXn' \ --header 'Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' ``` ```java GpApiConfig config = new GpApiConfig(); // API settings config .setAppId("AppID") .setAppKey("AppKey") .setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); config.setCountry("GB"); AccessTokenInfo accessTokenInfo = new AccessTokenInfo() .setTransactionProcessingAccountName("LinkManagement"); config.setAccessTokenInfo(accessTokenInfo); config.setEnableLogging(true); ServicesContainer.configureService(config); String paylinkId = "LNK_hUh2IIO1YoyDU3wGwkcb4e6SE9v5dY"; try { PayByLinkSummary response = PayByLinkService .payByLinkDetail(paylinkId) .execute(); } catch (Exception ex) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppID"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Environment.TEST; config.Country = "GB"; config.AccessTokenInfo = new AccessTokenInfo { TransactionProcessingAccountName = "LinkManagement" }; config.RequestLogger = new RequestConsoleLogger(); config.EnableLogging = true; ServicesContainer.ConfigureService(config); var payByLinkId = "LNK_hUh2IIO1YoyDU3wGwkcb4e6SE9v5dY"; try { var response = PayByLinkService.PayByLinkDetail(payByLinkId) .Execute(); } catch (Exception ex) { // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppID'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $accessTokenInfo = new AccessTokenInfo(); $accessTokenInfo->transactionProcessingAccountName = 'LinkManagement'; $config->accessTokenInfo = $accessTokenInfo; ServicesContainer::configureService($config); try { $response = PayByLinkService::payByLinkDetail('LNK_2GcHA5MqwFxFyd2LbyRzObJPLIoLD7') ->execute(); } catch (GatewayException $ex){ // TODO: Add your exception handling here } $payByLinkId = $response->id; // LNK_2GcHA5MqwFxFyd2LbyRzObJPLIoLD7 $payByLinkUrl = $response->url; // https://apis-sanbox.globalpay.com/ucp-pf/postback/MjAyMTAzMjJQRl83QnpLbmg= $status = $response->status; // ACTIVE $transactionList = $response->transactions; // the list of transactions made with this payment link ``` ## Step 4: Use webhook notification URL To keep your systems up to date with all of the payments that were processed with Pay by Link, you can use a webhook notification URL. This can be set using the Status URL field when creating the Pay by Link. Pay by Link uses our [Drop-In UI](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md) / [Hosted Fields](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md) solution to process the payment. The Payment Method ID (`PMT_ID`) can be reused for subsequent transactions using our tokenization solution. For information on API methods and request/response data, see [Links](https://developer.globalpayments.com/api/links.md#/Get%20a%20list%20of%20Links/get-links) in the API Explorer. ## [Optional] Edit a payment link You can edit a payment link. For example, you may want to change the number of times that a link can be paid. You may sell some units via another channel and want to update the link to reflect this, or you may want to reduce or increase the price of an item. The `type`, `usage_mode`, `name`, `description`, and `transactions.amount` fields must all be sent for every update request. Other fields can also be updated. The following fields can be updated via a `PATCH` request: | Field | Description | |-------|-------------| | usage_mode | Indicates whether the link can be used once or multiple times. | | usage_limit | The number of the times that the link can be used or paid. | | name | A descriptive name for the link. This will be visible to the customer on the payment page. | | description | A detailed description of your link that will be visible to the customer on the payment page. | | status | The overall status of the instance of the resource.The overall status of the instance of the resource. | | shippable | Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the _shipping_amount_. | | shipping_amount | Indicates the cost of shipping when the shippable field is set to YES. | | amount | The 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. | | expiration_date | Indicates the date and time after which the link can no longer be used or paid. | | images | Base64 encoded image that will be visible to the customer on the payment page. | In this example, we update the description of the link that appears to a customer. ```json curl --location --request PATCH 'https://apis.sandbox.globalpay.com/ucp/links/LNK_ebXXvzKCVf7eOVegpYHaPkld2vDnXn' \ --header 'Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --data '{ "type": "PAYMENT", "usage_mode": "SINGLE", "name": "iphone 14", "description": "Description update via PATCH endpoint", "transactions": { "amount": "1001" } }' ``` ```java GpApiConfig config = new GpApiConfig(); // API settings config .setAppId("AppId") .setAppKey("AppKey") .setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); config.setCountry("GB"); AccessTokenInfo accessTokenInfo = new AccessTokenInfo() .setTransactionProcessingAccountName("LinkManagement"); config.setAccessTokenInfo(accessTokenInfo); config.setEnableLogging(true); ServicesContainer.configureService(config); PayByLinkSummaryPaged response = PayByLinkService .findPayByLink(1, 10) .orderBy(PayByLinkSortProperty.TimeCreated, SortDirection.Ascending) .where(SearchCriteria.StartDate, startDate) .and(SearchCriteria.EndDate, endDate) .execute(); PayByLinkSummary randomPayByLink = response.getResults().get(0); PayByLinkData payByLink = new PayByLinkData(); payByLink.setName("Test of Test"); payByLink.setUsageMode(PaymentMethodUsageMode.MULTIPLE); payByLink.setType(PayByLinkType.PAYMENT); payByLink.setUsageLimit(5); BigDecimal amount = new BigDecimal("10.08"); try { Transaction editResponse = PayByLinkService .edit(randomPayByLink.getId()) .withAmount(amount) .withPayByLinkData(payByLink) .withDescription("Update Paybylink description") .execute(); } catch (Exception ex) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppID"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Environment.TEST; config.Country = "GB"; config.AccessTokenInfo = new AccessTokenInfo { TransactionProcessingAccountName = "LinkManagement" }; config.RequestLogger = new RequestConsoleLogger(); config.EnableLogging = true; ServicesContainer.ConfigureService(config); var response = PayByLinkService.FindPayByLink(1, 10) .OrderBy(PayByLinkSortProperty.TimeCreated, SortDirection.Ascending) .Where(SearchCriteria.StartDate, startDate) .And(SearchCriteria.EndDate, endDate) .Execute(); var randomPayByLink = response.Results[0]; PayByLinkData payByLink = new PayByLinkData(); payByLink.Name = "Test of Test"; payByLink.UsageMode = PaymentMethodUsageMode.Multiple; payByLink.Type = PayLinkType.PAYMENT; payByLink.UsageLimit = 5; try { var amount = 10.08m; var editResponse = PayByLinkService.Edit(randomPayByLink.Id) .WithAmount(amount) .WithPayByLinkData(payLink) .WithDescription("Update Paylink description") .Execute(); } catch (Exception ex) { // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppID'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $accessTokenInfo = new AccessTokenInfo(); $accessTokenInfo->transactionProcessingAccountName = 'LinkManagement'; $config->accessTokenInfo = $accessTokenInfo; ServicesContainer::configureService($config); $payByLinkData = new PayByLinkData(); $payByLinkData->name = 'iphone 14'; $payByLinkData->usageMode = PaymentMethodUsageMode::SINGLE; $payByLinkData->type = PayByLinkType::PAYMENT; $payByLinkData->usageLimit = 1; try { $response = PayByLinkService::edit('LNK_eVCvDmH619QYBv3jNJNJ0D6vieihln') ->withAmount(10.01) ->withPayByLinkData($payByLinkData) ->withDescription('Updated Description') ->execute(); } catch (GatewayException $ex){ // TODO: Add your exception handling here echo $ex->getMessage(); exit; } $responseCode = $response->responseCode; // SUCCESS $responseMessage = $response->responseMessage; // ACTIVE $amount = $response->balanceAmount; // 10.01 $payByLinkUrl = $response->payByLinkResponse->url; // https://apis-qa.globalpay.com/ucp-pf/postback/MjAyMTAzMjJQRl8yc3VSWEU= $payByLinkId = $response->payByLinkResponse->id; // LNK_eVCvDmH619QYBv3jNJNJ0D6vieihln ``` ## Integration references To get a deeper understanding of this product, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [API /links](https://developer.globalpayments.com/api/links.md) Create and retrieve payment links. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Our Pay by Link solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ### [SDK Quickstart](https://github.com/globalpayments-samples/starter-template) Starter kit for payment integrations. ### [Pay by Link Sample](https://github.com/globalpayments-samples/pay-by-link) Guide for Pay by Link integration. ## Enhance your integration Explore more functionality to enrich your application or website. Below are value-added services you can enable for Pay by Link. ### [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) Add 3D secure to your integration. ## Overview Source: https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md # Hosted Payment Page - Overview The Hosted Payment Page (HPP) is our PCI DSS–compliant hosted solution, allowing merchants to capture addresses for customer billing and shipping, contact information, and card details all through one simple redirect or embedded integration. Using the HPP along with our SDKs and libraries means that you can set up a secure payment form in your application or website in minutes. The library handles the opening, display, and response of the HPP on a desktop, tablet, mobile device (both iOS and Android apps), or in-app, with minimal configuration required. For merchants, the benefits of the HPP include: * Prebuilt forms for your payment pages * Simplest level of PCI DSS compliance: SAQ A * Secure address forms to collect other customer details * Built-in input validation of payment fields * Seamless integration with desktop, tablet, mobile, or in-app * Cross-channel secure payment acceptance and customer identification Here's an example of the standard HPP Payment Details form added to a fictitious merchant’s payment page. ![An example of a payment form for Henley Park University built using the HPP.](https://developer.globalpayments.com/gh-assets/hpp_example.png) **Example - HPP Payment Details Form** ## Use cases In this section, we present some “real world” examples that can be enabled through our HPP solution. Keep in mind that this section doesn’t cover all of the use cases. ##### Use case #1: Secure An online bakery has just launched and wants to ensure that they are processing their transactions in a secure environment that is also PCI DSS compliant. Integrating with HPP means that sensitive card information is captured directly by us instead of their own website. ##### Use case #2: Convenient A personal trainer has just gone live with their online training program. They’re working with a small team currently, so they can’t commit to any integration that requires too much maintenance. The HPP allows them to quickly set up with just a single request before they can start processing transactions. ##### Use case #3: Flexible An online bike shop wants to allow their customers to pay using various payment methods. Integrating with the HPP will allow this merchant to accept card payments, digital wallets, alternative payment methods (APMs), and more. ## Product information ##### What you get with the HPP * Payment Page * 3D Secure * PCI DSS (SAQ A) * APMs ##### What you can add to the HPP * Card Storage * Payer Storage * Digital Wallets * Dynamic Currency Conversion ##### Integration options * JavaScript Library * SDK or API ##### Regions where you can use the HPP * Europe * Middle East * North America * Latin America * Africa * Asia-Pacific (*Coming Soon*) ## How does it work? If you're using our other solutions through the HPP — like 3D Secure, APMs, or Fraud Management — the information gathered through the HPP will be used to populate the associated required fields. In other words, you don’t have to provide that additional information in the HPP request. At a high level, HPP works like this: ![Diagram flow of how the Hosted Payment Page works at a high level.](https://developer.globalpayments.com/gh-assets/hpp_flow.png) **HPP Typical Flow** #### 3D Secure The HPP handles the entire 3D Secure authentication flow, including determining which version of 3D Secure to use, gathering the necessary device information, and presenting the challenge to the customer if required. The HPP then processes the authorization and passes the additional authentication information to the card issuer. ## Next steps To try the HPP, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-guide.md # Hosted Payment Page - Guide > The Hosted Payment Page (HPP) is currently not available in the Asia Pacific region. For more information, check with your account manager. This guide focuses on adding the HPP to your application or website. After creating an access token, we set up the request to create a unique payment link. Using the HPP URL returned in the response, we then redirect the customer to facilitate authentication and authorization. After receiving the response and checking the transaction outcome, we then handle the redirect to your application’s appropriate successful or failed page. For an overview of the HPP, see our [Overview](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md) page. To learn how to enable more value-added services to the HPP, see the [Enhance your integration](#enhance-your-integration) section. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Create the HPP URL First, we create a unique payment link using the Create Link request. This request also retrieves some necessary information to facilitate the redirect and authentication of the customer. Our sample request performs a standard card payment with 3D Secure and uses only mandatory and recommended fields (for the full list of HPP Link fields, see the [table](#hpp-link-field-definitions)). It also includes information on API methods and request data. #### Sample request ```JSON curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7V5XtjLBHLN1h' \ --data-raw '{ "account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-549d-4967-aeea-51b3f320046a", "payer": { "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "44", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Halifax", "postal_code": "44", "country": "GB" } }, "order": { "amount": "1000", "currency": "EUR", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "GB", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD" ] }, "payment_method_configuration": { "authentication": { "preference": "CHALLENGE_PREFERRED" } } }, "notifications": { "return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url" } }' ``` ### Sample response ```JSON { "id":"LNK_JGWfx9L9Oc3RS2N5WobbocjMDuSqvm", "account_name":"transaction_processing", "url":"https://apis.sandbox.globalpay.com/ucp/hpp/redirect/42060877-8bf9-4ae3-a3ae-99a6da10cf41", "status":"ACTIVE", "type":"HOSTED_PAYMENT_PAGE", "usage_mode":"SINGLE", "usage_limit":"1", "name":"Mobile Bill Payment", "description":"February and March Invoice", "expiration_date":"2024-06-11T14:09:23.577Z", "order":{ "amount":"1000", "currency":"EUR", "reference":"order-645", "transaction_configuration":{ "country":"GB", "channel":"CNP" } }, "action":{ "id":"ACT_JGWfx9L9Oc3RS2N5WobbocjMDuSqvm", "type":"LINK_CREATE", "time_created":"2024-06-10T14:09:23.577Z", "result_code":"SUCCESS", "app_id":"i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name":"demo_app" } } ``` ## Step 2: Redirect the customer Once the link is created, the customer must be redirected using the URL returned in the Create Pay by Link response to facilitate authentication and authorization. You can use a simple JavaScript redirect or HTTP GET (302 redirect). For information on API methods and request/response data, see [Links](https://developer.globalpayments.com/api/links.md) in the API Explorer. In this example, you redirect the customer to the URL using JavaScript. ### Sample redirect ```xml Sample Redirect ``` Once redirected to the URL, your customer will be presented with the HPP. ![Example of the HPP on a desktop computer screen](https://developer.globalpayments.com/gh-assets/hpp_desktop.png) **HPP Desktop Example** ## Step 3: Check transaction outcome, handle redirect Once the customer completes the transaction, a transaction response is sent to your Return URL to inform your system of the transaction result. The response contains the outcome of the transaction, whether it was a success or a decline. It also contains the Transaction ID (`TRN_ID`), which can be used to manage the transaction — such as performing a reversal or reporting on the transaction. When the transaction is complete, the HPP will render the contents of the URL supplied in the `return_url`. The URL should only contain basic HTML and JavaScript. The URL should redirect the customer to the final transaction complete page on your website or application. #### Sample response ```JSON { "id":"TRN_xc1XbbUf7MhbFrYDGL1Tbde0aRAWoD_22cf9fb4570a", "time_created":"2024-06-10T14:09:23.577Z", "type":"SALE", "status":"CAPTURED", "channel":"CNP", "capture_mode":"AUTO", "amount":"1000", "currency":"USD", "country":"US", "merchant_id":"MER_2584caaa4b5b4f77a90e7f2582ef53dd", "merchant_name":"sandbox_merchant", "account_id":"TRA_be85d0f6bc13405c8fefcbf455ab039e", "account_name":"transaction_processing", "reference":"order-645", "payment_method":{ "id":"PMT_79144957-13eb-4e2c-a378-92f90b5e97c0", "result":"00", "message":"[ test system ] AUTHORISED", "entry_mode":"ECOM", "authentication":{ "three_ds":{ "value_result":"00" } } }, "link_data":{ "id":"LNK_XnV6crCpM1uxAaqoYuFnfquPSg5oNN", "url":"https://apis.sandbox.globalpay.com/ucp/hpp/redirect/42060877-8bf9-4ae3-a3ae-99a6da10cf41", "status":"ACTIVE", "type":"payment", "allowed_payment_methods":[ "CARD" ], "usage_mode":"SINGLE", "usage_count":"1", "reference":"82c2dbd5-549d-4967-aeea-51b3f320046a", "name":"Mobile Bill Payment", "description":"February and March Invoice", "viewed_count":"1", "expiration_date":"2024-06-11T14:09:23.577Z", "notifications":{ "return_url": "https://www.example.com/responseUrl", "status_url": "https://www.example.com/statusUrl", } }, "action":{ "id":"ACT_u8ckxAxozTXNzzsJmWc7GgwwBa67ZJ", "type":"STATUS_NOTIFICATION", "time_created":"2024-06-11T14:09:23.577Z", "result_code":"SUCCESS", "app_id":"i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name":"demo_app" } } ``` #### HPP Link field definitions *Type* indicates whether the element is Mandatory (M), Optional (O), or Conditional (C)—dependent on another field or regional requirement. | Element/Field | Category | Format | Type | Length | Description | | --- | --- | --- | --- | --- | --- | | account\_name | string | alphanumeric | M | 1-50 | A meaningful label that better identifies the account. | | type | | enum | M | | API-specific label that indicates the type resource an instance is. For example: HOSTED\_PAYMENT\_PAGE | | name | string | alphanumeric | O | 1-120 | Descriptive name of the link. | | description | string | alphanumeric | O | 1-250 | Detailed description of the link. | | usage\_mode | string | enum | O | | Indicates whether the link can be used once or multiple times. For type=HOSTED\_PAYMENT\_PAGE, this can only be SINGLE. | | usage\_limit | string | numeric | O | 1-50 | Indicates the number of times that a link was already successfully paid. For type=HOSTED\_PAYMENT\_PAGE, this can only be 1. | | reference | string | alphanumeric | M | 1-50 | Merchant-defined field to reference the link. | | expiration\_date | string | numeric | O | 1-50 | Indicates the date and time after which the link can no longer be used or paid. For type=HOSTED\_PAYMENT\_PAGE, expiration date is 24 hours only. | | payer.status | string | enum | O | | Indicates whether the payer is new or existing (active). **NEW** - Payer is newly created. Customer can store the card on the HPP, which is associated with the Payer ID. **ACTIVE** - Payer was created previously. Any payment methods stored with this payer are displayed on the HPP. | | payer.id | string | alphanumeric | O | 1-50 | Unique ID generated by us to reference a payer in our system. To learn how to create a payer, see the [Payers - Guide](/docs/payments/tokenization/payers-guide "Payers Guide"). | | payer.name | string | alphanumeric | O | 1-50 | Name of the payer. | | payer.language | string | enum | O | 1-50 | Language of the payer. | | payer.email | string | alphanumeric | O | 1-100 | Email of the payer. | | payer.mobile\_ phone.country\_ code | string | ISO-3166-1 | O | | Country code in ISO-3166-1 (alpha-2 code) format. | | payer.mobile\_ phone.subscriber\_ number | string | numeric | O | 1-50 | Mobile phone number of the payer. | | payer.billing\_ address.line\_1 | string | alphanumeric | M | 1-50 | First line of the billing address. | | payer.billing\_ address.line\_2 | string | alphanumeric | M | 1-50 | Second line of the billing address. | | payer.billing\_ address.line\_3 | string | alphanumeric | M | 1-50 | Third line of the billing address. | | payer.billing\_ address.city | string | alphanumeric | M | 1-50 | City associated with the billing address. | | payer.billing\_ address.postal\_ code | string | alphanumeric | M | 1-50 | Postal code of the billing address. | | payer.billing\_ address.state | string | ISO 3166-2 | C | | State or region of the billing address. Format: ISO 3166-2 minus the country code itself. For example: US Illinois = IL For Great Britain counties: Wiltshire = WI, Aberdeenshire = ABD | | payer.billing\_ address.country | string | ISO-3166-1 | M | | Country code of the billing address in ISO-3166-1 (alpha-2 code) format. | | payer.address\_ match\_indicator | string | boolean | O | | Indicates whether the shipping address matches the billing address. Allowable values: **YES** **NO** | | order.amount | string | integer | M | 1-50 | Amount to transfer between payer and merchant for a SALE. Always represented in the lowest denomination of the related currency. | | order.currency | string | ISO-4217 | M | | Currency of the amount in ISO-4217 (alpha-3) format. | | order.reference | string | alphanumeric | O | 1-50 | Merchant-defined field to reference the order. | | order.transaction\_ configuration. channel | string | enum | O | | Describes whether the transaction was processed in a customer-present (CP) or customer-not-present (CNP) scenario. | | order.transaction\_ configuration. country | string | ISO-3166-1 | O | | Country code in ISO-3166-1 (alpha-2 code) format. minLength: 2 maxLength: 2 | | order.transaction\_ configuration. capture\_ mode | string | enum | O | | Indicates whether the transaction is to be captured automatically, later, or later using more than one partial capture. Allowed values: **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 captures are permitted once the total amount captured is within a range of the original authorized amount. | | order.transaction\_ configuration.currency\_ conversion\_ mode | string | boolean | O | | Determines whether DCC is activated. Allowable values: **YES** **NO** | | order.transaction\_ configuration.allowed\_ payment\_ methods | string | alphanumeric | O | 1-50 | Indicates which payment method(s) to offer the customer, or route customers to a specific one. For example: cards\|paypal\|sofort | | order.payment\_ method\_ configuration. authentication.preference | string | enum | O | | Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. For allowed values, see [Authentications](https://developer.globalpayments.com/api/authentications.md#/For%203DS%202,%20submit%20data%20including%20the%20billing%20and%20shipping%20details%20of%20the%20payer,%20at%20least%20one%20phone%20number,%20the%20device%20data,%20transaction%20details,%20outcome%20from%20the%20ACS%20Method%20URL%20if%20it%20took%20place%20and%20a%20link%20to%20the%20merchant's%20About%20or%20Contact%20page./initiate3DS_request_preference) in the API Explorer. | | order.payment\_ method\_configuration. apm.shipping\_ address\_enabled | string | boolean | O | | Determines whether the passing of PayPal shipping address details will be activated or not. Allowable values: **YES** **NO** | | order.payment\_ method\_configuration. apm.address\_ override | string | boolean | O | | Determines whether the shipping address can be changed by the customer on the PayPal review page. Allowable values: **YES** **NO** | | order.payment\_ method\_configuration. storage\_mode | string | enum | O | | Indicates whether to store the card as part of a transaction. Allowed values: **ALWAYS** - Card information is always stored irrespective of whether the payment method authorization was successful. **PROMPT** - Displays a checkbox on the HPP to confirm with the payer to store their card. | | order.shipping\_ address.line\_1 | string | alphanumeric | O | 1-50 | First line of the shipping address. | | order.shipping\_ address.line\_2 | string | alphanumeric | O | 1-50 | Second line of the shipping address. | | order.shipping\_ address.line\_3 | string | alphanumeric | O | 1-50 | Third line of the shipping address. | | order.shipping\_ address.city | string | alphanumeric | O | 1-50 | City associated with the shipping address. | | order.shipping\_ address.postal\_code | string | alphanumeric | O | 1-50 | Postal code of the shipping address. | | order.shipping\_ address.country | string | ISO-3166-1 | O | | Country code in ISO-3166-1 (alpha-2 code) format. | | order.shipping\_ address.state | string | ISO-3166-2 | C | | State or region of the shipping address. Format: ISO 3166-2 minus the country code itself. For example: US Illinois = IL For Great Britain counties: Wiltshire = WI, Aberdeenshire = ABD | | order.shipping\_ phone.country\_code | string | ISO-3166-1 | O | | Country code of the shipping address in ISO-3166-1 (alpha-2 code) format. | | order.shipping\_ phone.subscriber\_ number | string | numeric | O | 1-50 | Phone number associated with the shipping address. | | notifications.return\_url | string | Standard URL Format | O | | Merchant URL to return the payer to once they complete payment using the payment method. Returns control of the payer's payment flow to the merchant. The URL also receives the result of the transaction. | | notifications.status\_url | string | Standard URL Format | O | | Indicates to us where the merchant wants to receive notifications of certain events that occur on our system. For HPP, this is only used when processing APM transactions. | ## Integration references To get a deeper understanding the HPP, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Payment link integration can be completed via our JAVA, PHP, and .NET SDKs. ### [Quickstart Demo](https://demo.globalpay.com/merchants/hosted-payment-page) Demo how easy it is to integrate our customizable solutions into your existing payment experience, and view transactions from multiple channels and regions in one place. ## Testing the HPP Our HPP solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Below are value-added services you can enable for the HPP. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md#hpp) Tokenize card details to charge customers later. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md#hpp) Integrate with alternative and local payment methods. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md#hpp) Let international customers pay in their home currency. ## Customization Source: https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-customization.md # Hosted Payment Page Customization We built the Hosted Payment Page (HPP) so that you can easily customize it to maintain the design of your website or application. You can use our templates to provide different styles for desktop, tablet, and mobile devices. Templates can also be applied at a sub-account level, allowing you to easily choose which one you want to display to the customer. The HPP will automatically render the correct template depending on what device your customer is using. When sending us a template, be sure to match the criteria in the guidelines below. If you don't provide a template, the HPP will display a standard device-optimized version. ## How to use our templates Templates allow you to dramatically change the HPP display through simple changes in the cascading style sheet (CSS). Whether you're using the HPP to take payment for an online store on desktop/mobile or displaying it in-app, templates provide a seamless visual transition throughout the user journey and overall experience. Let's take a simple example. This is the standard desktop HPP with no customization. ![Standard HPP payment form](https://developer.globalpayments.com/gh-assets/hpp_desktop.png) **Standard Desktop HPP Example** In the samples below, you'll see the HPP with some simple CSS changes applied. Note how we retained only the core elements of the payment form, plus the security and trust information. We've reduced the width of each input field and brought all the form elements closer together. We can easily load this form into an iFrame, for example, to embed it into a checkout page. We've created three templates to get you started on customizing the HPP. Simply download the most appropriate template to your project, modify the CSS to your needs, and then send it to your account manager to test it. ## Sample template #1 ![HPP template #1](https://developer.globalpayments.com/gh-assets/hpp_template_1.png) [Download File](https://developer.globalpayments.com/gh-assets/files/hpp_template-1.zip) ## Sample template #2 ![HPP template #2](https://developer.globalpayments.com/gh-assets/hpp_template_2.png) [Download File](https://developer.globalpayments.com/gh-assets/files/hpp_template-2.zip) ## Sample template #3 ![HPP template #3](https://developer.globalpayments.com/gh-assets/hpp_template_3.png) [Download File](https://developer.globalpayments.com/gh-assets/files/hpp_template-3.zip) ## Sample CSS ```css /*----------------- MAIN CONTAINER -----------------*/ .portfolio-realex { background: white; max-width: 435px; } /*----------------- HEADER -----------------*/ /* This hides the entire header - that includes the breadcrumb and the title */ #rxp-header { display: none; } /* this is a div that contains the loading animation */ #info-box-footer { display: none; } /*----------------- FORM -----------------*/ /* main wrapper around elements */ .panel { border-color: white; box-shadow: 0 1px 1px white; } /* this is the same div as "panel" but the ID is specific to the payment form */ #another-card-section { background: white; } /* wrapper around the payment form */ #rpx-another-card { background: white; } /*----------------- CARD MANAGEMENT -----------------*/ /* Heading "pay with a saved card" and "pay with another card*/ #hpp-accordion .panel-heading { background-color: white; } #panelPayWithSavedCard { width: 94%; margin-left: 3%; } /*----------------- BUTTON -----------------*/ /* this is the box around the button */ #main-btn-box { width: 94%; margin-left: 3%; } /* this is the actual button */ #main-btn-box .btn-hpp-a { font-size: 1.25em; background-color: #0099cc; font-weight: 100; } /*----------------- FOOTER -----------------*/ /* this is for the entire footer */ #rxp-footer { background-color: white; padding: 0 0 0 8px; margin-left: 2%; } /* This is to hide logo */ #rxp-footer .text-right { display: none; } ``` ## Desktop and tablet templates ### Guidelines The basic structure of a template is shown below. Note the HTML tag that indicates where the payment form should be placed; this tag must be present in your template. Your template can be set up to resemble the rest of your customer journey. A typical template may consist of the following: * A header image * A plaintext message for the customer * The required `` tag Simply using the general color scheme of your application or store can be highly effective. * Below are the full requirements for the template page: * The template must be written in valid, semantic HTML. You can validate your HTML at the following URL: http://validator.w3.org/ **Note:** You should validate your HTML before inserting the `` into your form as this tag will cause the HTML to fail validation. * Template pages must contain the payment form tag ``. * All images or CSS used in the template must be referred to locally on our server; no absolute URLs to external images or CSS. You'll need to include the image files along with the template page. * All resources used by the desktop template (CSS, images) should be placed in a folder called **desktopresources**. The subfolder structure within this folder is your choice. * No scripting of any kind in the template for security reasons. It should contain only basic HTML. * The filename must be **desktop.html**. This file and accompanying folders should be compressed before sending to us. * Only HTML, CSS, JPG, PNG, and GIF files are permitted. * Maximum size of an individual file is 262 KB. #### Format ```xml My Title
``` ## Mobile templates ### Guidelines The HPP can detect and render a mobile-aware template based on the customer's device. The same rules apply for mobile-aware templates in terms of permitted file types and external links. There is also an additional tag to be placed in the `` of your HTML page for mobile-aware templates to ensure that the payment form renders correctly. This tag will ensure that the payment form will display to the correct scale of the device your customer is using: ```xml ``` The requirements for mobile-aware templates are as follows: * Mobile-aware templates should include the tag: `` within the `` of the template. * The template must be written in valid, semantic HTML. You can validate your HTML at the following URL: http://validator.w3.org/ ++Note++: You should validate your HTML before inserting the into your form as this tag will cause the HTML to fail validation. * Template pages must contain the payment form tag ``. * All images or CSS used in the template must be referred locally on our server; no absolute URLs to external images or CSS. You'll need to include the image files along with the template page. * All resources used by the mobile template (CSS, images) should be placed in a folder called **mobileresources**. The subfolder structure within this folder is your choice. * No scripting of any kind in the template for security reasons. It should contain only basic HTML. * The filename must be **mobile.html**. This file and accompanying folders should be compressed before sending to us. * Only HTML, CSS, JPG, PNG and GIF files are permitted. * The maximum size of an individual file is 262 KB. ### Format ```xml Your title
``` ## Enhance your solution Explore more functionality to enrich your application. ### [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) ### [Fraud Management](https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md) ## Overview Source: https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md # Hosted Fields - Overview Hosted Fields provide the most flexibility to the checkout experience while still adhering to the minimum PCI DSS requirements. Hosted Fields are prebuilt but customizable fields that accept customer card data, from which a single-use token is created to use as payment instead of the sensitive data. The token can then be stored so that the non-sensitive data can be reused, making future purchases easier for your customers. Hosted Fields are ideal for capturing card details at any point in the checkout process, driving a customer flow that is unique to your needs. For example, you can accept an email address, billing and shipping details, a discount code, or whatever custom information you require from your customer. When it comes to customization, you’re really only limited to the token’s expiration setting and whatever you can capture within that time frame. For merchants, the benefits of Hosted Fields include: * Simplest level of PCI DSS compliance: SAQ A * Prebuilt payment fields in iFrames as you need them for your checkout page * Secured fields to collect other customer details to enhance the checkout experience * Built-in input validation of payment fields * Seamless integration with desktop and mobile devices (both iOS and Android apps) * Cross-channel secure payment acceptance and customer identification Here's an example of a fictitious company's checkout page using our prebuilt payment fields. ![Alt text: An example of a payment page called HomeMerchant built with hosted fields.](https://developer.globalpayments.com/gh-assets/hosted-fields_example.png) ## Use cases In this section, we present some “real world” examples that can be enabled through our Hosted Fields solution. Keep in mind that this section doesn’t cover all of the use cases. ##### Use case #1: Secure A large corporation wants to ensure that they are processing their transactions in a secure environment that is also PCI DSS compliant. Integrating with Hosted Fields means that sensitive card information is captured directly by us instead of their own website. ##### Use case #2: Customizable A well-known airline wants the ability to customize the payment form to match the UI of their site to keep it familiar to the customer. Integrating with Hosted Fields means that the airline will have full control over the styling and placement of the individual fields in the payment form. ##### Use case #3: Support A large online store wants to improve the efficiency of their customer support. With Hosted Fields, requests and responses are shared between the merchant and us. Most of these logs are available to support members, meaning that issues can be identified and investigated accordingly between the two parties. ## Product information ##### What you get with Hosted Fields * Prebuilt input fields * Customizable card form * PCI DSS (SAQ A) ##### What you can add to Hosted Fields * Card Storage * Payer Storage * Digital Wallets * Dynamic Currency Conversion ##### Integration options * JavaScript Library * SDK or API ##### Regions where you can use Hosted Fields * Europe * Asia-Pacific * Middle East * North America * Latin America * Africa ## How do they work? When a customer submits the payment form, we create a single-use, or time-limited, token to represent the sensitive data (it expires after 30 minutes). This token can then be used in requests to take payments and authenticate via 3D Secure. Once converted to multiple-use, the token can store non-sensitive card data (that is, no security code) and any additional customer details for subsequent purchases. This single-use token is different from an access token, which we require for all requests and has a configurable expiration limit. A new access token with the required permissions must be created when performing a payment request or authentication. At a high level, Hosted Fields work like this: ![Diagram flow of how Hosted Fields works at a high level.](https://developer.globalpayments.com/gh-assets/hosted-fields_flow.png) **Hosted Fields Typical Flow** ## Next steps To try Hosted Fields, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md # Hosted Fields - Guide This guide focuses on how to use tokenization to create a highly customized payment page for your website or application. First, we create an access token, which contains the allowable actions for your integration. Next, we set up Hosted Fields for your payment form, including generating a single-use token, which we then use to process a Create Transaction request and can later store by changing the usage mode. Finally, we provide sample CSS code to customize your page, including custom fonts. For an overview of Hosted Fields, see our [Overview](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md) page. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) ## Step 1: Create a single permission access token First need to create an access token. This is required to execute any API requests and contains the actions that are permitted for your app, including creating single-use tokens. For added security and integrity, you need to create one access token for each user session. This access token must only contain the single permission to create a single-use payment token and its 'time to expire' must be set to '10 minutes'. Additionally, you can create a `restricted_token` to mask fields returned from the Create Payment Methods response. Although no sensitive information is returned in the response, restricted access tokens ensure that information pertaining to your account will not be visible in the browser. The request below requires an `appid`, `nonce` and `secret`. Our guide on [creating an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) shows how to get these values. ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "app_id": "{{appid}}", "secret": "{{secret - from step 3 on create an access token link above}}", "grant_type": "client_credentials", "nonce": "{{nonce - from step 2 on create an access token link above}}", "interval_to_expire": "10_MINUTES", "restricted_token": "YES", "permissions": [ "PMT_POST_Create_Single" ] }' ``` When passing the `restricted_token` field, the response returned from the JavaScript library for the tokenization request will be masked. ```json { "token": "GZ9nUu2zK9RAFo6rRcAFckaNUBGl", "type": "Bearer", "scope": { "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "accounts": [ { "id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8", "name": "tokenization", "permissions": [ "PMT_POST_Create_Single" ] } ] }, "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test", "time_created": "2024-12-20T13:01:16.632Z", "seconds_to_expire": 599, "interval_to_expire": "10_MINUTES", "email": "firstname.lastname@email.com" } ``` ## Step 2: Set up payment form Once you’ve created the access token, you can now generate the Hosted Fields for your payment form and generate a single-use payment token. Our Hosted Fields integration allows you to use your own existing payment form while lowering your PCI Compliance overhead. To achieve this, the card data elements of your form will be replaced by the Hosted Fields, including: Card Number, Expiry Date, Security Code (CVV), and Cardholder Name. > The Hosted Fields setup example in this section assumes that you already have a payment form. ```xml

Payment Details

``` In the example shown, it’s assumed that your payment form has the following field IDs: * card-number * card-expiration * card-cvv * card-holder-name ![](https://developer.globalpayments.com/gh-assets/payment_form.png) ## Step 3: Add Hosted Fields Once you have the base of a payment form with the field IDs, we can target these IDs to place the Hosted Fields to the appropriate form fields. To do this you will invoke the JavaScript Library and add it to your application. Add the below script tag to access the JavaScript Library: ```javascript ```javascript The below example shows how to use our JavaScript Library to target the payment fields and convert them to Hosted Fields. The field object is contained in `GlobalPayments.ui.form`. This has the field configurations, including the target ID. ```javascript
...
``` After you have specified where the Hosted Fields will be placed, when the JavaScript initializes, the fields will render and be displayed on your payment form. ![](https://developer.globalpayments.com/gh-assets/hosted_fields.png) ## Step 4: Configure environment Continue setting up the form by configuring the environment and passing the access token created in the previous step. Once the JavaScript is successful in initializing the Hosted Fields, the input fields will be rendered in your payment form. The below configuration within `GlobalPayments.configure` is the minimum required to enable Hosted Fields. However, this [table](#allowable-configurations) contains all allowable configurations. ```javascript
...
``` The registration of the card number and card fields is confirmed: ![](https://developer.globalpayments.com/gh-assets/hosted-fields_card-reg.png) ## [Optional] Add styling Hosted Fields are easily customized to maintain the design of your website or application using CSS. The Hosted Fields example below was customized using the following CSS. > When applying styling to our JavaScript, the CSS must be in JSON format. ```css
...
``` ![](https://developer.globalpayments.com/gh-assets/form_styling.png) ## [Optional] Add custom fonts You can also add custom fonts to your Hosted Fields integration. By default, Hosted Fields uses the GP-Font. However, if your business requires custom fonts, you can do so through the JavaScript Library by following the font-face CSS rule. ```css
...
``` ## Step 5: Generate the payment token Once the JavaScript is successful in initializing the Hosted Fields, the input fields will be rendered on your payment form. When the cardholder enters their card details and submits the form, a single-use payment token (`PMT_ID`) is returned. You can append this payment token as a hidden field and pass it to the server side to process a transaction using it. ```javascript
...
``` Use [test cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) to fill in the card details. ![](https://developer.globalpayments.com/gh-assets/form_styling_filled.png) Click **Submit** to see the PMT response: ```JSON { details: { account_id: "TKA_8dd84277223440cia420745c7f5b1c81", accountName: "tokenisation", cardBin: "426397", cardholderName: "Jane smith", cardLast4: "5262", cardNumber: "426397******5262", cardSecurityCode: true, cardType: "visa", expiryMonth: "10", expiryYear: "2026", merchantId: "MER_2584caaa4b5b4f77a90e7f2582ef53dd", merchantName: "jasonbajariastest", reference: "b1b9dc2a-dc7c-11c0-3c6e-bafe17d36628" }, paymentReference: "PMT_96065232-83c3-4e1f-969a-c594c6de8f7e" } ``` ## Step 6: Charging the payment token > Before you can charge the payment token, you will first need to [create a new access token with permissions](https://developer.globalpayments.com/docs/getting-started/generate-token.md) to process a transaction. To charge the single-use token, you will need to process a Create Transaction request. Instead of submitting the customer’s card information in the request, you can simply pass the payment token. This single-use token expires after 30 minutes. You can also assign a reference number to the payment transaction to help reconcile it later. For more information, see [Transactions](https://developer.globalpayments.com/api/transactions.md) in the API Explorer. > If 3D Secure 2 Strong Customer Authentication is part of your integration, see [Browser Authentication for 3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md#single-use-token) for steps and code samples. Copy `PMT_ID` (`paymentReference`) from the PMT response (generated in Step 4) and paste it into the transaction request. ```JSON { "account_name": "{{acc_name}}", "channel": "CNP", "capture_mode":"AUTO", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "{{reference}}", "country": "IE", "payment_method": { "name": "Jane", "entry_mode": "ECOM", "id": "PMT_3f94e565-99a0-4cbf-9a32-aad3e19034df" } } ``` Send this request to see a response like the below. ```JSON { "id": "TRN_fE2jAsiNCCQ3NzTOE71Qt8OCHSiDNE_39194581", "time_created": "2024-09-04T15:39:29.765Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_2584caaa4b5b4f77a90e7f2582ef53dd", "merchant_name": "jasonbajariastest", "account_id": "TRA_f1300075c09246428aaf06d159b3f4f9", "account_name": "transaction_processing_2", "reference": "39194581", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "123456", "brand_reference": "cjEx3A2v00X4hZvR", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1432801", "action": { "id": "ACT_fE2jAsiNCCQ3NzTOE71Qt8OCHSiDNE", "type": "AUTHORIZE", "time_created": "2024-09-04T15:39:29.765Z", "result_code": "SUCCESS", "app_id": "O25QaOrOlCkGRLs7OUtPzhzocF1bGoyS", "app_name": "jason_baj_test_2" } } ``` #### Allowable configurations | Field Name | Allowable Value | Description | | -------- | ------- | ------- | | accessToken | string | An access token created for an application. | | accountName | string | The tokenization account name for the given merchant account. Required only if there is more than one tokenization account associated with the merchant account. | | apiVersion | string | The target API version. Default is *2021-03-22*. | | reference | string | The reference for the tokenization request. If not provided, a globally unique identifier (GUID) is created and sent in the request. | | enableAutocomplete | boolean | Enables autocomplete/autofill features. Default is *false*. | | language | string | Value for the HTML element's *lang* attribute within the iFrames and dictates the language used to display on Hosted Fields. Default is *en*. | | enableTwoDigitExpirationYear | boolean | Changes the placeholder of the expiry year to two digits (YY). Applicable only if using the default placeholder. | | enableCardFingerPrinting | boolean | Enables the use of the fingerprint mode with the *ALWAYS* value. | | requireCardHolderName | boolean | Enables the cardholder name field to be mandatory. | | fieldValidation.enabled | boolean | Enables the display of a validation message for user input on the card form. | | fieldValidation.characterValidation | string | Configuration for the validation used on the Cardholder Name field. | | allowedCardTypes | array; string | Configuration to allow specific card types on Hosted Fields. | #### Event handlers | Event | Description | | -------- | ------- | | cardForm.on("card-number-test", (resp)); | Returns an event with a validity of the card number entered. Returns *true* or *false*. | | cardForm.on("card-expiration-test", (resp)); | Returns an event with a validity of the expiration date entered. Returns *true* or *false*. | | cardForm.on("card-cvv-test", (resp)); | Returns an event with a validity of the CVV/CVC entered. Returns *true* or *false*. | | cardForm.on("card-type", (resp)); | Returns the card type entered in the Card Number field. Returns *visa*, *mastercard*, *amex*, *diners*, *discover*, *jcb*, or *unknown*. | | cardForm.on("submit", "click", (resp)); | Returns a click event to indicate that the Submit button was clicked. | ## Integration references To get a deeper understanding of Hosted Fields, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). To get a deeper understanding of this product, we’ve provided some references for both API and SDK integrations. ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Payment link integration can be completed via our JAVA, PHP and .NET SDKs. ### [Quickstart Demo](https://demo.globalpay.com/merchants/hosted-fields) Demo how easy it is to integrate our customizable solutions into your existing payment experience, and view transactions from multiple channels and regions in one place. ## Testing Hosted Fields Our Hosted Fields solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Below are value-added services that you can enable for Hosted Fields. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md#api) Tokenize card details to charge customers later. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md#hpp) Integrate with alternative and local payment methods. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md#hpp) Let international customers pay in their home currency. ## Overview Source: https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md # Drop-In UI - Overview Drop-In UI provides the most flexibility when it comes to customizing the checkout experience. Similar to our prebuilt Hosted Fields solution, our prebuilt Drop-In user interface (UI) components are also customizable but allow you to enhance the payment form with different styles and themes, multiple payment methods, as well as the many services we offer merchants. If you need to control more than just the individual input fields that Hosted Fields offer (that is, alter placement), Drop-In UI is the better solution. Some of the various options available for Drop-UI include card components, Google Pay, Apple Pay, Open Banking, Buy Now Pay Later (BNPL), and QR code payments (Asia Pacific region only). For merchants, the benefits of Drop-In UI include: * Simplest level of PCI DSS compliance: SAQ A * Pre-built and customizable UI components * Built-in input validation of payment fields * Seamless integration with desktop and mobile devices (both iOS and Android apps) * Cross-channel secure payment acceptance and customer identification * Payment method options, such as Google Pay, Apple Pay, BNPL, Open Banking, and more In this example, Drop-In UI was used to create a fictitious merchant’s payment page. ![Alt text: An example of a payment form for Le Mode Chic built using Drop-In UI.](https://developer.globalpayments.com/gh-assets/drop-in-ui_example.png) **Drop-In UI Example** ## Use cases In this section, we present some “real world” examples that can be enabled through our Drop-In UI solution. Keep in mind that this section doesn’t cover all of the use cases. ##### Use case #1: Secure environment A large corporation wants to ensure that they are processing their transactions in a secure environment that is also PCI DSS compliant. Integrating with Drop-In UI means that sensitive card information is captured directly by us instead of their own website. ##### Use case #2: Single platform for payments A school wants to offer students and families a platform where all school-related updates can be shared. Additionally, they want any payments for trips, supplies, and classes to all be accepted through a payment form on the platform. Integrating with Drop-In UI means that they can style the prebuilt form to have an educational theme and also pick which payment methods to offer. ##### Use case #3: Shared customer support A large online store wants to improve the efficiency of their customer support. With Drop-In UI, requests and responses are shared between the merchant and our API. Most of these logs are available to support members, meaning that issues can be identified and investigated accordingly between the two parties. ## Product information ##### What you get with Drop-In UI * Prebuilt UI components * Payment method options * PCI DSS (SAQ A) ##### What you can add to Drop-In UI * Card Storage * Payer Storage * Digital Wallets * Dynamic Currency Conversion ##### Integration options * JavaScript Library * SDK or API ##### Regions where you can use Drop-In UI * Europe * Asia-Pacific * Middle East * North America * Latin America * Africa ## How does it work? When a customer submits the payment form, we create a single-use, or time-limited, token to represent the sensitive data (it expires after 30 minutes). This token can then be used in requests to take payments and authenticate via 3D Secure. Once converted to multiple-use, the token can store non-sensitive card data (that is, no security code) and any additional customer details for subsequent purchases. This single-use token is different from an access token, which we require for all requests and has a configurable expiration limit. A new access token with the required permissions must be created when performing a payment request or authentication. At a high level, Drop-In UI works like this: ![Diagram flow of how Drop-In UI works at a high level.](https://developer.globalpayments.com/gh-assets/drop-in-ui_flow.png) **Drop-In UI Typical Flow** ## Next steps To try Drop-In UI, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/online/drop-in-ui-guide.md # Drop-In UI - Guide This guide focuses on how to use tokenization to create a highly customized payment page for your website or application. First, we set up the payment form and decide where to put the placeholder for the Drop-In UI. After creating a single-use payment token, we then use the JavaScript Library to target the ID and render the payment form. After configuring the environment, we then generate and charge the payment token. For more information on Drop-In UI, see our [Overview](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md) page. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) ## Step 1: Create a single permission access token First need to create an access token. This is required to execute any API requests and contains the actions that are permitted for your app, including creating single-use tokens. For added security and integrity, you need to create one access token for each user session. This access token must only contain the single permission to create a single-use payment token and its 'time to expire' must be set to '10 minutes'. Additionally, you can create a `restricted_token` to mask fields returned from the Create Payment Methods response. Although no sensitive information is returned in the response, restricted access tokens ensure that information pertaining to your account will not be visible in the browser. The request below requires an `appid`, `nonce` and `secret`. Our guide on [creating an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) shows how to get these values. ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "app_id": "{{appid}}", "secret": "{{secret - from step 3 on create an access token link above}}", "grant_type": "client_credentials", "nonce": "{{nonce - from step 2 on create an access token link above}}", "interval_to_expire": "10_MINUTES", "restricted_token": "YES", "permissions": [ "PMT_POST_Create_Single" ] }' ``` When passing the `restricted_token` field, the response returned from the JavaScript library for the tokenization request will be masked. ```json { "token": "GZ9nUu2zK9RAFo6rRcAFckaNUBGl", "type": "Bearer", "scope": { "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "accounts": [ { "id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8", "name": "tokenization", "permissions": [ "PMT_POST_Create_Single" ] } ] }, "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test", "time_created": "2024-12-20T13:01:16.632Z", "seconds_to_expire": 599, "interval_to_expire": "10_MINUTES", "email": "jordan.forde@globalpay.com" } ``` ## Step 2: Set up payment form Once you’ve created the access token, you can now generate the Drop-In UI for your payment form hosted by us and generate a single-use payment token. We provide a placeholder for where you want the payment form to render. ```xml
``` ## Step 3: Add Drop-In UI After adding the provided placeholder to determine where you want the payment form, it’s time to place the Drop-In UI. In this example, we use our JavaScript Library to target the ID and render the payment form. > `` ```javascript const cardForm = GlobalPayments.creditCard.form("#credit-card-form", { style: "gp-default" }); ``` When the JavaScript initializes, the Drop-In UI will render and be displayed on your website or application. ![](https://developer.globalpayments.com/gh-assets/gp-default_dropinui.png) ## Step 4: Configure the environment Continue setting up the form by configuring the environment and passing the access token created in the previous step. Once the JavaScript is successful in initializing the Drop-In UI, the payment form will be rendered on your website or application. The below configuration within `GlobalPayments.configure` is the minimum required to enable Drop-In UI. However, this table contains all allowable configurations. ```javascript
...
``` ### Display Order Information Order Information gives a breakdown of the Merchant name, Amount and the Order Reference. This information will be displayed above the card form. The Order information can be hidden using the enabled field by setting `enabled = false`. ```javascript orderInformation: { merchantName: "Test Merchant Name", orderTotalAmount: "84.90", orderReference: "XXXX12345", currencyCode: "USD", } ``` ![Drop-In UI with Order Information](https://developer.globalpayments.com/gh-assets/drop-in_ui-order.png) **Drop-in UI with Order Information** Registration of card number and card fields confirmed: ![Confirmation message of the card number and card fields.](https://developer.globalpayments.com/gh-assets/drop-in-ui_reg-confirm.png) ## Step 5: Generate the payment token Once the JavaScript is successful in initializing the Drop-In UI, the payment form will be rendered. When the cardholder enters their card details and submits the form, a single-use payment token (`PMT_ID`) is returned. You can append this payment token as a hidden field and pass it to the server side to process a transaction using it. ```javascript
...
``` To fill in the card details, use our [test cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers). ![](https://developer.globalpayments.com/gh-assets/gp-default_dropinui_details.png) Click Submit to see the PMT response. ```JSON { details: { account_id: "TKA_8dd84277223440cia420745c7f5b1c81", accountName: "tokenisation", cardBin: "426397", cardholderName: "Jane smith", cardLast4: "5262", cardNumber: "426397******5262", cardSecurityCode: true, cardType: "visa", expiryMonth: "10", expiryYear: "2026", merchantId: "MER_2584caaa4b5b4f77a90e7f2582ef53dd", merchantName: "jasonbajariastest", reference: "b1b9dc2a-dc7c-11c0-3c6e-bafe17d36628" }, paymentReference: "PMT_96065232-83c3-4e1f-969a-c594c6de8f7e" } ``` ## Step 6: Charge the payment token > Before you can charge the payment token, you first need to [create a new access token with permissions](https://developer.globalpayments.com/docs/getting-started/generate-token.md) to process a transaction. To charge the single-use token, you need to process a Create Transaction request. Instead of submitting the customer’s card information in the request, you can simply pass the payment token. This single-use token expires after 30 minutes. You can also assign a reference number to the payment transaction to help reconcile it later. For more information, see [Transactions](https://developer.globalpayments.com/api/transactions.md) in the API Explorer. > If 3D Secure Strong Customer Authentication is part of your integration, see [Browser Authentication for 3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md#single-use-token) for step by step instructions. Copy `PMT_ID` (`paymentReference`) from the PMT response (generated in Step 4) and paste it into the transaction request. ```JSON { "account_name": "{{acc_name}}", "channel": "CNP", "capture_mode":"AUTO", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "{{reference}}", "country": "IE", "payment_method": { "name": "Jane", "entry_mode": "ECOM", "id": "PMT_3f94e565-99a0-4cbf-9a32-aad3e19034df" } } ``` Send the request to see a response like the below. ```JSON { "id": "TRN_fE2jAsiNCCQ3NzTOE71Qt8OCHSiDNE_39194581", "time_created": "2024-09-04T15:39:29.765Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_2584caaa4b5b4f77a90e7f2582ef53dd", "merchant_name": "jasonbajariastest", "account_id": "TRA_f1300075c09246428aaf06d159b3f4f9", "account_name": "transaction_processing_2", "reference": "39194581", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "123456", "brand_reference": "cjEx3A2v00X4hZvR", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1432801", "action": { "id": "ACT_fE2jAsiNCCQ3NzTOE71Qt8OCHSiDNE", "type": "AUTHORIZE", "time_created": "2024-09-04T15:39:29.765Z", "result_code": "SUCCESS", "app_id": "O25QaOrOlCkGRLs7OUtPzhzocF1bGoyS", "app_name": "jason_baj_test_2" } } ``` #### Allowable configurations | Field Name | Allowable Value | Description | | -------- | ------- | ------- | | accessToken | string | An access token created for an application. | | accountName | string | The tokenization account name for the given merchant account. Required only if there is more than one tokenization account associated with the merchant account. | | apiVersion | string | The target API version. Default is *2021-03-22*. | | reference | string | The reference for the tokenization request. If not provided, a globally unique identifier (GUID) is created and sent in the request. | | enableAutocomplete | boolean | Enables autocomplete/autofill features. Default is *false*. | | language | string | Value for the HTML element's *lang* attribute within the iFrames and dictates the language used to display on Drop-In UI. Default is *en*. | | enableTwoDigitExpirationYear | boolean | Changes the placeholder of the expiry year to two digits (YY). Applicable only if using the default placeholder. | | enableCardFingerPrinting | boolean | Enables the use of the fingerprint mode with the *ALWAYS* value. | | requireCardHolderName | boolean | Enables the Cardholder Name field to be mandatory. | | fieldValidation.enabled | boolean | Enables the display of a validation message for user input on the card form. | | fieldValidation.characterValidation | string | Configuration for the validation used on the Cardholder Name field. | | allowedCardTypes | array; string | Configuration to allow specific card types on Drop-In UI. | | orderInformation | string | Configuration for the Order Information to display above the card form. | | merchantName | string | The name for the given merchant account. | | orderTotalAmount | int | The total order amount number. | | orderReference | string | The reference for the given transaction. | | currencyCode | string | The currency for the given transaction. | #### Event handlers | Event | Description | | -------- | ------- | | cardForm.on("card-number-test", (resp)); | Returns an event with a validity of the card number entered. Returns *true* or *false*. | | cardForm.on("card-expiration-test", (resp)); | Returns an event with a validity of the expiration date entered. Returns *true* or *false*. | | cardForm.on("card-cvv-test", (resp)); | Returns an event with a validity of the CVV/CVC entered. Returns *true* or *false*. | | cardForm.on("card-type", (resp)); | Returns the card type entered in the Card Number field. Returns *visa*, *mastercard*, *amex*, *diners*, *discover*, *jcb*, or *unknown*. | | cardForm.on("submit", "click", (resp)); | Returns a click event to indicate that the Submit button was clicked. | ## Integration references To get a deeper understanding of this product, we’ve provided some references for both API and SDK integrations. ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Integrate via our Java, PHP, or .NET SDKs. ### [Quickstart Demo](https://demo.globalpay.com/merchants/dropin-ui) Demo how easy it is to integrate our customizable solutions into your existing payment experience, and view transactions from multiple channels and regions in one place. ## Testing Drop-In UI Our Drop-In UI solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Below are value-added services you can enable for Drop-In UI. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md#api) Tokenize card details to charge customers later. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md#hpp) Integrate with alternative and local payment methods. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md#hpp) Let international customers pay in their home currency. ## Direct API & SDK Source: https://developer.globalpayments.com/docs/payments/online/api-guide.md # Take payments online This guide shows you the first step on the road to taking payments: a sale via API or an SDK. * To find out the full benefits and capabilities our API offers, see [Integration Options - API](https://developer.globalpayments.com/docs/integration-options/api.md). * For a list of our available SDKs, see [Integration Options - SDK](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Create a sale Complete a sale by setting `"type":"SALE"` and entering the `account_name`, `channel`, along with the necessary `payment_method` into the body of the request. See a sample request and expected response below. #### Sample request ```JSON curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer sj5MR6mPeAohEQamjhSsVbSMn1jG' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "account_name": "transaction_processing", "channel": "CNP", "capture_mode":"AUTO", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "14594501", "country": "IE", "payment_method": { "name": "Jane", "entry_mode": "ECOM", "card": { "number": "4242424242424242", "expiry_month": "12", "expiry_year": "30", "cvv":"123", "avs_address": "RD.asd'\''-'\'' 17'\''s Bogong", "avs_postal_code": "3699" } } }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId(“AppId”); config.setAppKey(“AppKey”); config.setChannel(Channel.CardNotPresent); config.setCountry("IE"); config.setEnvironment(Environment.TEST); config.setEnableLogging(true); config.setRequestLogger(new RequestConsoleLogger()); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4242424242424242"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCardHolderName("Jane"); Address address = new Address(); address.setStreetAddress1("RD.asd - 17's Bogong"); address.setPostalCode("3699"); try { Transaction response = card.charge(new BigDecimal("1.00")) .withCurrency("EUR") .withClientTransactionId("14594501") .withAddress(address) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchId = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "payment_method->card->brand_reference" String cardBrandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->avs_postal_code_result" String avsResponseCode = response.getAvsResponseCode(); // API raw response key "payment_method->card->->avs_address_result" String avsAddressResponse = response.getAvsAddressResponse(); // API raw response key "payment_method->card->cvv_result" String cvnResponseMessage = response.getCvnResponseMessage(); // API raw response key "payment_method->card->brand"(); String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); // API raw response key "payment_method->card->provider->cvv_result" String cardIssuerCvv = response.getCardIssuerResponse().getCvvResult(); // API raw response key "payment_method->card->provider->avs_address_result" String cardIssuerAvsAddressResult = response.getCardIssuerResponse().getAvsAddressResult(); // API raw response key "payment_method->card->provider->avs_postal_code_result" String cardIssuerAvsPostalCodeResult = response.getCardIssuerResponse().getAvsPostalCodeResult(); // API raw response key "risk_assessment->mode" String fraudResponseMode = response.getFraudFilterResponse().getFraudResponseMode(); // API raw response key "risk_assessment->result" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // API raw response key "risk_assessment->rules" List fraudResponseRules = response.getFraudFilterResponse().getFraudResponseRules(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST, Country = "IE" }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Number = "4242424242424242", ExpMonth = DateTime.Now.Month, ExpYear = DateTime.Now.Year + 1, Cvn = "123", CardHolderName = "Jane" }; Address address = new Address { StreetAddress1 = "RD.asd - 17's Bogong", PostalCode = "3699" }; try { Transaction response = card.Charge(1m) .WithCurrency("EUR") .WithClientTransactionId("14594501") .WithAddress(address) .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; //API raw response key "batch_id" var batchId = response.BatchSummary.BatchReference; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "action->result_code" var responseCode = response.ResponseCode; //API raw response key "payment_method->card->brand_reference" var cardBrandReference = response.CardBrandTransactionId; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "payment_method->card->avs_postal_code_result" var avsResponseCode = response.AvsResponseCode; //API raw response key "payment_method->card->->avs_address_result" var avsAddressResponse = response.AvsAddressResponse; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; //API raw response key "payment_method->card->provider->cvv_result" var cardIssuerCvv = response.CardIssuerResponse.CvvResult; //API raw response key "payment_method->card->provider->avs_address_result" var cardIssuerAvsAddressResult = response.CardIssuerResponse.AvsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" var cardIssuerAvsPostalCodeResult = response.CardIssuerResponse.AvsPostalCodeResult; //API raw response key "risk_assessment->mode" var fraudResponseMode = response.FraudFilterResponse.FraudResponseMode; //API raw response key "risk_assessment->result" var fraudResponseResult = response.FraudFilterResponse.FraudResponseResult; //API raw response key "risk_assessment->rules" var fraudResponseRules = response.FraudFilterResponse.FraudResponseRules; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = '4242424242424242'; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = 'Jane'; $address = new Address(); $address->streetAddress1 = "RD.asd - 17's Bogong"; $address->postalCode = "3699"; try { $response = $card->charge(1) ->withCurrency('EUR') ->withClientTransactionId('14594501') ->withAddress($address) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->avs_postal_code_result" $avsResponseCode = $response->avsResponseCode; //API raw response key "payment_method->card->->avs_address_result" $avsAddressResponse = $response->avsAddressResponse; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; ``` #### Sample response ```JSON { "id": "TRN_Cean1DAySpbCi5NiFvCZBbnvqW2IQX_14594501", "time_created": "2024-08-27T20:12:39.866Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "14594501", "payment_method": { "result": "00", "message": "(00)[ test system ] Authorised", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX4242", "authcode": "123456", "brand_reference": "0f6o3oGqQ5YI2NqC", "brand_time_created": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "risk_assessment": [ { "mode": "ACTIVE", "result": "ACCEPTED", "rules": [ { "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd", "description": "Cardholder Name Rule", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3", "description": "CardNumber block", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e", "description": "Amount test", "mode": "ACTIVE", "result": "ACCEPTED" } ] } ], "batch_id": "BAT_1429806", "action": { "id": "ACT_Cean1DAySpbCi5NiFvCZBbnvqW2IQX", "type": "AUTHORIZE", "time_created": "2024-08-27T20:12:39.866Z", "result_code": "SUCCESS", "app_id": "x8AWfOAkVt740if3ybt4Lr23TTzHFm7M", "app_name": "yourAppName" } } ``` ## Integration references To get a deeper understanding of this product, we’ve provided some references for both API and SDK integrations. ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [API /transactions](https://developer.globalpayments.com/api/transactions.md) Get the full transactions endpoint. ### [SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Complete transactions via our Java, PHP, NodeJS, or .NET SDKs. ## Testing your integration Our API integration is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Explore more functionality to enrich your application or website. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) Tokenize a card for future payments. ### [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) Enhance security with stronger authentication for online payments. ### [Reporting](https://developer.globalpayments.com/docs/reporting/overview.md) Add real-time transactions and settlement reporting to your integration. ## Overview Source: https://developer.globalpayments.com/docs/payments/in-store/overview.md # In-Store Payments Merchants have many options when it comes to accepting card payments at the point of sale (POS) from customers who visit their place of business. This article first explains how this card-present process works — such as authorization flow, entry methods, and payer verification — and then covers the various integration solutions we offer to meet the needs of your POS application. ## What is POS? POS environments primarily include “brick and mortar” merchants who want to have their customers (that is, cardholders) pay by swiping an attached terminal device. Application developers who want to use our API to integrate card-present transaction processing into their existing POS application should integrate using our POS options. Our API uses a REST framework and is designed to connect payments from numerous regions, channels, and payment methods worldwide into a single integration. It’s ideally suited if you want to add in-store payments to your existing online integration, such as an app or website. (For more information on taking online payments, see [Online Payments](https://developer.globalpayments.com/docs/payments/online/overview.md).) ## What is _card present_? Customers have the option of paying with their card in person at a store (_card present_) or using their card remotely to pay via some type of technology (_card not present_). Our API, when implemented in a POS environment, creates a card-present environment, as defined below: * **Card present** – The card (and cardholder) is physically present during the transaction, such as an in-person sale. * **Card not present** – The card (and cardholder) is not physically present during the transaction, such as via a website or app, or by MOTO (mail order / telephone order). ### Authorization flow The outcome of each card-present authorization request is determined by the card issuer. The issuer analyzes the information in the request and either approves or declines. This information can include merchant location, merchant type/category, transaction amount, whether the card was present, how the payer was authenticated, and — if the card was present — other risk factors from the chip. The entire processing time should take no longer than 2–3 seconds, which speaks to the robustness of the payments ecosystem considering all of the entities involved in the transaction. For more information on the key players in the payments industry, see [Introduction to Payments](https://developer.globalpayments.com/docs/getting-started/new-to-payments/introduction.md) and our [Payments Glossary](https://developer.globalpayments.com/docs/getting-started/new-to-payments/glossary.md). At a high level, a typical payment authorization works like this: ![Diagram flow showing interaction between the cardholder, merchant, payment processor, and acquirer to authorize a payment.](https://developer.globalpayments.com/gh-assets/instore_auth-flow.png) **Payment Authorization Process** ### Entry methods Card data can be collected in different ways: * **Manually entered** – Merchants can key card data in cases where the card is damaged such that the chip or mag-stripe data can’t be read by the payment device. ++Note++: This is considered a card-not-present transaction. * **Swiped** – Card data is collected by a card reader device via the mag-stripe reader, returning the entire track or just track-1 or track-2 data. * **Chip insert** – Card data is collected by a card reader device via the chip reader, returning both track and chip data. * **Contactless chip** – Card data is collected by a payment device via the contactless/NFC proximity reader, returning both track and chip data. This interface not only supports NFC-enabled cards but also smartwatches, smartphones, and key fobs. To verify a cardholder’s identity, several types of security can be implemented, as described in the next section. ### Payer verification methods There are several payer verification methods that can be supported. We list them below from highest to lowest security: * **Online PIN/biometrics** – Debit and credit cards can be authenticated with biometrics or a PIN, which is encrypted and sent to the card issuer for verification. * **Offline PIN/biometrics** – Debit and credit cards can be authenticated with biometrics or a PIN, which is verified offline by the chip card data on the card. * **Signature** – Printed receipts can have a signature line that is intended to be signed by the payer and matched to the signature panel on the back of the card. * **No verification method** – High-value payers or low-value transactions typically don’t have any verification method. For example, unattended kiosks, vending machines, or payers flagged as having a special status (VIP) with their card issuer. The following factors determine the payer verification method: * Risk profile set within the chip card data from the card issuer * Physical capabilities of the card reader * Amount of the transaction ## Integration methods There are various types of integrations for you to choose from. One of these types of integrations should meet the needs of your POS application. We have solutions for each, which you can discuss with your account manager. The pros and cons of each integration are described in each section below. ### Standalone terminals Standalone terminals are an in-store method that integrates to our API but has no communication with your POS system. After consulting with an account manager, you purchase an off-the-shelf terminal that already runs a terminal application connected to our API. This will allow your business to quickly run credit card transactions with little additional training. No certifications are required on your end, but additional functionality is limited to what is already available on the terminal. | PROS | CONS | | -------- | ------- | |
  • No development work or certification required
  • Devices are provisioned and supported by us
  • Reduced scope from PCI PA-DSS since the payment card data only resides within the PCI PTS certified device
|
  • Limited to devices available through us
  • No flexibility of the payer experience and flows
  • No control over the device, screens, or messaging to the payer
  • No control over the transaction workflows
  • Can be specific to device/manufacturer
| ### Semi-integration Semi-integration is much easier from a time and effort perspective but is less flexible. This is our preferred integration method as it doesn’t require platform/gateway or EMV certifications, all of which can take a significant amount of time. Semi-integration also significantly reduces your PCI PA-DSS scope from your POS solution. | PROS | CONS | | -------- | ------- | |
  • Usually a quick and easy integration
  • Devices are provisioned and supported by us
  • Reduced scope from PCI PA-DSS since the payment card data only resides within the PCI PTS certified device
  • Platform/gateway certification not required
  • EMV certification not required, so neither is UL BTT software
|
  • Limited to devices available through us
  • Less flexibility of the payer experience and flows
  • No control over the device, screens, or messaging to the payer
  • Less control over the transaction workflows
  • Can be specific to device/manufacturer
| ### Cloud integration Cloud integrations are a subset of semi-integration since they use a semi-integrated capable device. Cloud integrations are typically used by integrators with browser or web-based solutions that can communicate only via a browser versus traditional “fat client” software running on a computer. With semi-integration, the POS application maintains a connection to the device via serial/USB or TCP/IP (Ethernet or WiFi). With cloud integration, the POS application is not physically connected to the device. The POS uses a cloud message routing service as does the terminal. Once the POS sends the transaction request to the cloud-routing service, the device performs the transaction and sends the results to the cloud routing service, which then sends the results back to the POS. | PROS | CONS | | -------- | ------- | |
  • Same pros as semi-integration, but integration efforts are much easier
  • Simple APIs using HTTP POST/GET commands
|
  • Same cons as semi-integration
  • Need a local connection to the device and a backup internet communication method if the internet connection goes down
| ### Full integration Full integration is the most demanding, but it also provides the most flexibility. You have full control over the payer experience and workflows. This type of integration requires a certification to our processing platform followed by EMV certifications in each processing region. In addition, you would be coding directly to a payment device to retrieve card/EMV data to send us for transaction processing. This gives you full control of what is displayed on the device, so you can add marketing images or videos and display or collect any additional information from the payer. Your POS solution needs to be PA-DSS compliant, as you’re in control of sensitive payment card data. | PROS | CONS | | -------- | ------- | |
  • Full flexibility of the payer experience and flows
  • Full control over the PCI PTS certified device choice and screens/messaging to the payer
  • Full control over the transaction workflows
|
  • Requires PCI PA-DSS approval
  • Requires certification to a processing platform or gateway
  • Requires EMV certifications by region
  • Requires UL BTT software ($10k+ or equivalent)
  • Time and cost intensive
  • Specific to device/manufacturer
| ## Next steps To get started with POS transactions, read more about our integration methods. ### [Standalone Terminals](https://developer.globalpayments.com/docs/payments/in-store/standalone.md) Purchase one of our POS terminals to connect to our API. ### [Cloud](https://developer.globalpayments.com/docs/payments/in-store/cloud.md) Integrate wirelessly with your POS device. ### [Semi Integration](https://developer.globalpayments.com/docs/payments/in-store/semi-integration.md) Connect your POS system to our API via a terminal. ### [Full Integration](https://developer.globalpayments.com/docs/payments/in-store/full-integration.md) Code directly for complete control of displays and workflows. ## Standalone Terminals Source: https://developer.globalpayments.com/docs/payments/in-store/standalone.md # Standalone Terminals For card-present transactions, using a standalone terminal purchased from us or one of our sales partners is the easiest in-store solution we offer and will get you up and running quickly. It comes with our Unified Payment Application (UPA) installed so that you can directly connect to our API, saving you the trouble of any code development. In fact, there aren’t any code samples for us to share here because no coding is needed. To compare standalone with our other types of integration like cloud, semi-, and full, see [In-Store Payments - Overview](https://developer.globalpayments.com/docs/payments/in-store/overview.md). > A standalone device will **not** connect to your point-of-sale (POS) application without further code development. ## What is a standalone terminal? _Standalone_ refers to an in-store terminal that integrates directly to our API but has no communication with your POS system. After purchasing one of our compatible terminals, either through us or from a partner, you’ll immediately be able to start running credit card transactions with little additional training. And there are no special platform/gateway certifications needed as the payment card data resides only within our already-certified compatible terminal. You’ll have everything you need to take payments, but you won’t be able to connect your POS system, customize the payment flow, or add any new functionality. If you want more flexibility to customize your terminal and don’t mind some coding, our API also supports [semi-integration](https://developer.globalpayments.com/docs/payments/in-store/semi-integration.md) and [full integration](https://developer.globalpayments.com/docs/payments/in-store/full-integration.md). ## What is UPA? UPA is our proprietary payment application for standalone terminals. It can be loaded on a variety of compatible terminals (see next section) for direct access to our API. At present, only UPA terminals are capable of attaching to our API service, bringing the power and features of the Unified Payments API to your business. ## Available terminals > UPA availability is region-specific. In order to determine whether a UPA terminal is available in your region, please contact your account manager for further details. ## Cloud Integration Source: https://developer.globalpayments.com/docs/payments/in-store/cloud.md # Cloud Integration > Please check with your relationship or sales manager for availability and more details. This guide focuses on how to send commands to a point-of-sale (POS) device using our Unified Cloud Integration (UCI) solution. First, we initiate an instant transaction with a sale (Authorize) request. Optional steps include a restaurant scenario where we initiate orders and review open orders in our app. Finally, we review the outcome of the device command that was relayed to the device. You’ll also find decriptions of UCI [action types](#uci-action-types) and some answers to [common questions](#uci-common-questions) we get about our UCI product. ## Introduction Our UCI solution is a combination of our REST API, UCI service, and Android suite of POS terminals. Our API allows you to send basic retail and restaurant transaction commands — such as authorize, refund, adjust, reverse, pre-authorize, capture, batch close, and so forth — directly to a payment device. With this type of integration, you don’t need to physically connect your POS application to the payment device. UCI manages everything for you. That means no need to manage certifications, vendor specifications, or any additional software or SDKs. In addition to basic retail and restaurant device commands, you can also initiate orders such as a restaurant bill on devices. These orders are queued in our UCI service and are then distributed to each payment terminal within a merchant’s location. As payments are made, those orders are automatically updated on the device. Coupled with a payment terminal, this provides you with a full Pay at Table experience. ## How it works Each device is assigned a unique `device_reference` value. Device commands are sent to our API, specifying the `device_reference` to relay the command to. Every device command is assigned a Device Command ID (`DVC_Id`). This is your reference for each command that was relayed to a device and is your main source of reference for the outcome of that command. The outcome of the device command can be sent to a notification status URL that you specify in the request. Or, you can query our API using the `DVC_Id` to find the device command result. Payment transactions are also assigned a Transaction ID (`TRN_Id`). These can be referenced to perform secondary transactions such as reversals, captures, and so forth, as needed. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Initiate an instant transaction Instant transactions are most common in a retail environment and are represented within the `action_type` in the request. Valid action types include: * `Authorize` * `Refund` * `PreAuthorize` * `Adjust` * `Reverse` * `Reverse_Auth` * `Increment` * `Capture` * `Batch_Close` * `Parameters_Download` * `Ping` These commands send an instant command to the specified device to take action as instructed. The request is acknowledged with an interim response indicating the device command was initiated with the device. ### Sample request This is an example of a sale (Authorize) request. All instant `action_type` commands follow the same basic structure. Some Action Types may include additional fields. ```json curl --location 'https://base.url/ucp/device_commands ' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "device_reference": "uds_123456789", "action_type": "AUTHORIZE", "transaction": { "amount": "1234", "gratuity_amount": "120", } }, "notifications": { "status_url": "http://Partner.URL/Callbacks/UCI" } }' ```JSON ### Sample response This is an example of a sale (Authorize) response, but any `action_type` returns the same basic structure. ```json curl --location 'https://base.url/ucp/device_commands ' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "id": "DVC_478c5ee17b9a4907a947d41a6b4997ee", "device_reference": "uds_123456789", "action_type": "AUTHORIZE" "status": "INITIATED" "action": { "id": "ACT_de7855d9ce184c639ccdc4699b3a5f2e", "type": "DEVICE_COMMAND_CREATE", "time_created": "2024-05-20T18:54:18.190Z", "result_code": "SUCCESS", "app_id": "17ebd417071c4289ada5d847fdc0e595", "app_name": "Your POS Application" } }' ```JSON ## Step 2: (Optional) initiate orders Orders are queued transactions that will be paid at a later time, such as a restaurant bill or check. Orders are sent to each device at a merchant location and are removed once they have been paid in full or deleted by you. Combined with a portable terminal, you can now: * View open orders on all devices at a merchant location * Sort orders by check number, table number, or server number * View order details for an individual seat (if sent to us this way) * Initiate payments against a particular order This example shows three app screens used to initiate an order: 1) the server selects the check, 2) the server opens the selected check, and 3) the cardholder makes the payment. | | | | | --- | --- | --- | | **1. Server Selects Check** | **2. Server Opens Check** | **3. Cardholder Makes Payment** | | ![App screen showing a list of checks for several tables for the selected server.](https://developer.globalpayments.com/gh-assets/instore-cloud-check-list.png) | ![App screen showing an itemized list of charges for Table 10, with buttons to Split or Pay by Card.](https://developer.globalpayments.com/gh-assets/instore-cloud-open-check.png) | ![App screen showing the payment was complete, with buttons to print or email a receipt.](https://developer.globalpayments.com/gh-assets/instore-cloud-payment-complete.png) | **Order Transaction Process Example** Valid action types are: * `Create_Order` * `Delete_Order` * `Pending_Transaction_List` ### Sample request This is an example of an order request showing two seats. ```json curl --location 'https://base.URL/ucp/device_commands ' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "device_reference": "uds_123456789", "action_type": "CREATE_ORDER", "system": { "name": "Happy Merchant", "mid": 123456789, }, "order": { "reference": "123456", "time_created_reference": "2024-05-20T18:54:18.190Z", "description": "Table #15", "user_reference": "Server #11", "subtotal_amount": "4199", "discount_amount": "0", "tax_amount": "294", "tax2_amount": "252", "tax3_amount": "0", "surcharge_amount": "200", "total_amount": "4945", "amount": "4945", "items": [// Restaurant Seating { "line_number": 1, //Seat Number "items_breakdown": [ { "description": "Apples", "quantity": 5, "amount": "1050" }, { "description": "Grapes", "quantity": 12, "amount": "1050" } ], "subtotal_amount": "2049", "discount_amount": "0", "tax_amount": "143", "tax2_amount": "123", "tax3_amount": "0", "surcharge_amount": "1", "total_amount": "2415", "amount_due": "2415" }, { "line_number": 2, //Seat Number "item_selections": [ { "description": "Berries", "quantity": 100, "amount": "1075" }, { "description": "Limes", "quantity": 20, "amount": "1075" } ], "subtotal_amount": "2150", "discount_amount": "0", "tax_amount": "151", "tax2_amount": "129", "tax3_amount": "0", "surcharge_amount": "1", "total_amount": "2530", "amount_due": "2530" } ] }, "notifications": { "status_url": "https://Partner.URL/Callbacks/UCI" } }' ```JSON ### Sample response This is an example of a `Create_Order` response. The `DVC_ID` and `device_reference` are returned. ```json curl --location 'https://base.url/ucp/device_commands ' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "id": "DVC_478c5ee17b9a4907a947d41a6b4997ee", "device_reference": "uds_123456789", "action_type": "CREATE_ORDER" "status": "COMPLETED" "action": { "id": "ACT_de7855d9ce184c639ccdc4699b3a5f2e", "type": "DEVICE_COMMAND_CREATE", "time_created": "2024-05-20T18:54:18.190Z", "result_code": "SUCCESS", "app_id": "17ebd417071c4289ada5d847fdc0e595", "app_name": "Your POS Application" } }' ```JSON ## Step 3: (Optional) review open orders As part of the orders workflow, you can also retrieve a list of open orders (that is, orders that are not in a completed status) at any time. ### Sample request This is an example of an open orders request. ```json curl --location 'https://base.URL/ucp/device_commands ' \ --request POST --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "device_reference": "uds_123456789", "action_type": "PENDING_TRANSACTION_LIST", "notifications": { "status_url": "http://jovanny.name/Callbacks/UCI" } }' ```JSON ### Sample response This is an example of an open orders response that shows two orders that are not in a completed status, one of which was partially paid. ```json [ { "id": "DVC_05716b3f-c836-4041-a917-e61ede7c2419", "device_reference": "uds_123456789", "system": { "mid": "2222b68bb" }, "order": { "time_created_reference":"2024-05-20T18:54:18.190Z", "reference": "432556", "description": "12", "user_reference": "7", "amount": "345", "requested_amount": "1000" } }, { "id": "DVC_05716b3f-c836-4041-a917-e61ede7c2420", "device_reference": "uds_123456789", "system": { "mid": "2222b68bb" }, "order": { "time_created_reference": "2024-05-20T18:59:30.190Z", "reference": "432556", "description": "15", "user_reference": "8", "amount": "799", "requested_amount": "1500" } }, { "action": { "id": "ACT_c5c78b09-dcca-4620-a6f3-8b42f0a78a83", "type": "PENDING_TRANSACTION_LIST", "time_created":"2024-06-25T13:30:23.750Z", "result_code": "SUCCESS", "app_id": "aa9c1cda-def7-44ca-8345-1a7cfdcf4753", "app_name": "Rowe - Zulauf" } } ] ```JSON ## Step 4: Review the outcome The final step is to review the outcome of the device command that was relayed to the device. The device will take the appropriate action once the command is sent. The result of that action is then returned to our API. It can be sent to your notification URL, or you can query the API using the `DVC_Id`. The result for instant transactions may take some time depending on certain human factors, such as the amount of time a cardholder takes to present their payment mechanism, enter a PIN if needed, or confirm any device prompting. In general, a result is usually available in 5 seconds but can take as long as 50 seconds depending on the human factor. Results can also be validated using our X-GP-Signature header field. See our [Validating Webhook Notifications](https://developer.globalpayments.com/api/definitions/webhooks.md) page for details. ### Sample request This is an example of a POST transaction result request. This request can be used instead of or in addition to our callback response. ```json curl --location 'https://base.url/ucp/device_commands ' \ --request POST --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "id": "DVC_478c5ee17b9a4907a947d41a6b4997ee", "device_reference": "uds_123456789", "action_type": "TRANSACTION_LIST", "notifications": { "status_url": "https://haylie.com/Callbacks/UCI" } } ' ```JSON ### Sample response This is a sample response of a Device Command outcome, retrieved via our API using the above POST method and/or sent to your notification URL automatically. Responses may contain multiple transactions within the transaction object if multiple transactions are performed, as is the case with partial payments or restaurant splits broken down by seat. ```json curl --location 'https://base.url/ucp/device_commands ' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer XLky3MCUyMPnIIU5G29e2aRUa8X3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 03-02-2021' \ --data '{ "id": "DVC_478c5ee17b9a4907a947d41a6b4997ee", "device_reference": "uds_123456789", "action_type": "TRANSACTION_LIST", "status": "COMPLETED", "transaction": [ { "id": "TRN_de7855d9ce184c639ccdc4699b3a5f2e", "time_created_reference": "2024-05-20T18:54:18.190Z", "parent-action_type": "AUTHORIZE", "authorization_mode": "", "tax_amount": "100", "gratuity_amount": "123", "cashback_amount": "21", "surcharge_amount": "30", "amount": "34543", "request_amount": "54677", "system": { "name": "Happy Merchant", "mid": 123456789, }, "currency": "EUR", "currency_conversion": { "conversion_rate": "1", "payer_amount": "500" }, "payment_method": { "id": "", "message": "", "entry_mode": "Chip", "cvm": "PIN", "apm": { "provider_transaction_reference": "BLIK12345", "custom_reference": "Blik7890" }, "emv": { "aid": "A0000000031010", "tvr": "0000000000", "tsi": "0000", "cvm": "PIN" }, "card": { "brand": "TD VISA DEBIT", "masked_number_last4": "************2074", "auth_code": "dbfc66", "provider": { "avs_postal_code_result": null, "cvv_result": null } } } }, ], "action": { "id": "ACT_12d6ae92e3ac40889dfde867f2f2543c", "type": "DEVICE_GET_LIST", "time_created": "2024-05-20T18:54:18.190Z", "result_code": "SUCCESS", "app_id": "17ebd417071c4289ada5d847fdc0e595", "app_name": "Your POS Application" } }' ```JSON ## UCI action types The following is a list of all action types and their intended use. | Action_Type | Description | | --- | --- | | Authorize | Initiate a sale command on the device. | |Refund | Initiate a refund command on the device. | |PreAuthorize | Initiate a pre-authorization command on the device. | |Capture | Initiate a capture of a pre-authorized transaction on the device. | |Adjust | Initiate an adjustment of a previously captured sale on the device. | |Increment | Initiate an incremental authorization of a prior pre-authorization on the device. | | Reverse | Initiate a reversal of a previous sale or pre-authorization on the device. | | Reverse_Auth | Initiate a reversal of a previous authorization on the device. | | Batch_Close | Initiate a batch-close command on the device. | | Last_Transaction | Get the last _DVC_Id_ performed on the device. | | Transaction_List | Get the result of the transaction command from the device. | | Pending_Transaction_List | Get a list of pending/unpaid orders from the device. | | Create_Order | Create an order on the device. | | Delete_Order | Delete an order from the device. | | Ping | Test the communications to a device. | | Parameters_download | Initiate a parameter download on the device (region specific). | ## UCI common questions ### How do I update a bill? Resend the bill using the `Create_Order` action type, and be sure to include the same check number (`order.reference`). Bills uploaded with the same check number during the same day will replace the previous bill. This will generate a new `DVC_Id` for the updated version of the bill. The prior bill’s `DVC_Id` will still be used if any payments were made before the new bill version was uploaded. ### What is the bill's lifespan? Every bill uploaded has a “keep-alive” time value of 6 hours, but the merchant can change it up to 99 hours if it meets their business needs. If the keep-alive time expires, UCI will automatically cancel the bill. The bill keep-alive timer starts when a bill is uploaded or updated from a POS. Therefore, if a specific bill needs to stay available beyond the keep-alive time, the POS can just resubmit the bill and the timer will restart. **Note:** The best practice is for the POS to send a Delete request if needed. ### Can I use UCI if I don't track orders by seats? If the restaurant POS doesn't support orders entered by seat number, only by tables, send all items under seat #1. The payment terminal will not give the option to split by seat. ## Semi-Integration Source: https://developer.globalpayments.com/docs/payments/in-store/semi-integration.md # Semi-Integration Semi-integration is our preferred integration method as it gives you some flexibility by allowing you to connect your own point-of-sale (POS) application that you use for business operational tasks. This requires some development work but is usually quick and easy. For this type of integration, you need to use a compatible standalone terminal purchased from us or one of our sales partners, which comes with our Unified Payment Application (UPA) pre-installed. UPA directly connects to our API, so there’s no need for us to provide steps or code samples here. To compare semi-integration with our other types of integration like standalone, cloud, and full, see our [In-Store Payments - Overview](https://developer.globalpayments.com/docs/payments/in-store/overview.md) article. For information on connecting your POS system to one of our terminals, see the [Get Started](#get-started) section. ## What is semi-integration? Semi-integration allows developers to deploy an integration with less time spent troubleshooting code. It also prevents spending time and money on lengthy, expensive EMV certifications as the payment application on the terminal is already integrated to our API. > Semi-integrated solutions don’t require host or EMV certification; however, we do recommend testing and validating all of your POS application workflows. > Even though certification for EMV is not necessary for a semi-integrated application, validating your application with Global Payments is still required. Please see the [Get Started](#get-started) section for steps on how to accomplish this. The only development necessary is to connect the POS application that you typically use for inventory management, menus, staffing, and other day-to-day business operational tasks to the terminal you purchase from us or one of our partners. This gives you the added flexibility that a standalone integration does not, with only a small amount of development work. That is why it’s our preferred integration. If you want even more flexibility, such as a customized payment flow or new functionality, and don’t mind more coding, our API also supports [full integration](https://developer.globalpayments.com/docs/payments/in-store/full-integration.md). ## What is UPA? UPA is our proprietary payment application for standalone terminals. It can be loaded on a variety of compatible terminals for direct access to our API. For a list of what’s available, see the next section. At present, only UPA terminals are capable of attaching to our API service, bringing the power and features of the Unified Payments API to your business. ## Available terminals > UPA availability is region-specific. In order to determine whether a UPA terminal is available in your region, please contact our support team at [ccoe_si@globalpay.com](mailto:ccoe_si@globalpay.com) ## Get started > Certification is required for any integration for card-present payment processing. If you have any questions about the process, please reach out to our support team at [ccoe_si@globalpay.com](mailto:ccoe_si@globalpay.com). ### Certification process 1) Fill out the [Solutions Engineering Project Request Form](https://www.globalpayments.com/se-form-request) (SEPRF). 2) Upon receiving your completed SEPRF, we will assign a Solutions Engineer to contact you and help determine the best solution for you based on your requirements. 3) Our Integration team will check each transaction to make sure all data is correct for compliance purposes. Based on our review, we’ll let you know if there are any issues or changes you'll need to make. If not we will finalize and send a certification announcement letter. ### Out-of-scope configuration 1) POS system sends request to EMV terminal for payment acceptance. 2) EMV terminal sends transaction request (cardholder data) directly to processor for authorization. 3) Processor returns authorization, then terminal passes response to POS system to finish transaction. ## Full Integration Source: https://developer.globalpayments.com/docs/payments/in-store/full-integration.md # Full Integration This guide assumes that you’re integrating directly to our REST API from within your own already-built terminal application. We focus on showing you how to send commands to our API from your terminal application rather than how to develop one from the ground up. Our steps show you how to process and capture a transaction with POST commands for a chip-insert debit transaction scenario. We also provide information on other types of scenarios as well as how to handle end-of-day procedures like batch and settlement. > For information on application development, we recommend that you consult your terminal manufacturer’s reference materials. Our API also supports [standalone](https://developer.globalpayments.com/docs/payments/in-store/standalone.md), [semi-](https://developer.globalpayments.com/docs/payments/in-store/semi-integration.md), and [cloud](https://developer.globalpayments.com/docs/payments/in-store/cloud.md) integrations for card-present transactions. However, the JSON code samples in this guide are for connecting to the API directly with a payment terminal attached to your application to handle the associated payment card data. ## What is full integration? Full integration is the most demanding method of connecting to our API, but it also provides the most flexibility. You have full control over the payer experience and workflows. This type of integration requires a certification to our processing platform followed by EMV certifications in each processing region. In addition, you would be coding directly to a payment device to retrieve card/EMV data to send us for transaction processing. To compare full integration with our other types like standalone, semi-, and cloud, see [In-Store Payments - Overview](https://developer.globalpayments.com/docs/payments/in-store/overview.md). ## Full-integration considerations This section covers some considerations and resources to keep in mind when choosing a full integration: * [Code directly to our API or use an SDK](#code-directly-to-our-api-or-use-an-sdk) (required) * [Single versus multiple TIDs](#single-versus-multiple-tids) * [Testing and certification](#testing-and-certification) ### Code directly to our API or use an SDK For full integrations, you need to code directly to our API or use one of our SDKs (see [SDK & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md)). Alternatively, you can bypass our SDKs and incorporate our code directly into your terminal application. Coding directly to our API for card-present transactions requires a basic understanding of how our API works, from authentication to transaction processing. For more information, see [API Explorer](https://developer.globalpayments.com/api/overview.md) or [API Definitions](https://developer.globalpayments.com/api/overview.md). We provide the following resources to help: * Our source code is publicly available on [GitHub](https://github.com/globalpayments). You also can find this GitHub link in the footer of our portal pages under Connect. * We provide use cases and sample API requests and responses on Postman. For more information, see [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md). ### Single versus multiple TIDs Terminal ID number (TID) management should also be considered as it could impact how your software functions when processing secondary transactions. Consult with your account manager to ensure that there are no regional nuances with this approach. Our devices can be configured to have a single TID per location as long as the lane is identified in the transaction (for example, Front Desk, Bar, and so on). Cloud servers or local “fat” software installed on a computer can act as a controller for all lanes, sending transactions, receiving responses, and routing them to the originating device or lane. The advantage is that secondary transactions are no longer tied to the device or lane that processed the original transaction. Secondary transactions can be performed at any lane, thereby improving the customer and server experience. Consult with your account manager to ensure that there are no regional nuances with this approach. ### Testing and certification Fully integrated solutions must be certified to our platform. A certification analyst will collect details — such as your terminal application; EMV kernel, PCI PTS, and PA-DSS approvals; supported industries and transaction types, and so forth — and configure a certification script tailored to your solution. The typical approach is to certify mag-stripe transactions first. Once that is successfully completed, we begin the EMV certification. EMV certification requires you to purchase the UL BTT software, which simulates the various issuers’ EMV chip card profiles for contact and contactless EMV test cases, as well as digital wallets. ## Available terminals Any compliant terminal (With the above requirements for EMV kernel, PCI PTS, and PA-DSS approvals) that supports custom applications can be used to code an integration to our API. That said, if a terminal is required, we are able to provide a variety of terminal models for your use as well. For available models, please contact your account manager. ## Transaction overview Payment devices need to have keys injected into the device to properly function. End-to-end encryption (E2EE) takes clear PAN data found on track 1 and track 2 of the mag stripe or in the chip data and encrypts it using cryptographic keys, which are securely injected into the card reader/terminal. The keys are used to transform the clear track data into a unique data string before it’s transmitted. This is usually done within a secure hardware module on a PCI PTS certified terminal, ensuring it can’t be read and decoded during transmission. The string of data is then transmitted to us, where we securely decrypt it and send to the card issuer for processing. To avoid sending full PAN or PIN data over the internet, a form of end-to-end encryption called TDES DUKPT is standard. For a transaction on a successfully injected terminal to include this, the key serial number (KSN) must be included on the transaction request, as shown in the code sample below. > Our API identifies the physical device using only the _account_name_ parameter, rather than by using a serial number, TID, or other fields common in other environments. ### Sample request In this example, we use a swipe entry mode and end-to-end encryption. ```JSON data { "account_name": "{{acc_name}}", "channel": "CP", "type": "SALE", "capture_mode": "AUTO", "amount": "10000", "currency": "CAD", "reference": "{{reference}}", "country": "CA", "payment_method": { "first_name": "Jane", "last_name": "Doe", "entry_mode": "SWIPE", "encryption": { "method": "KSN", "version": "05", "info": "//89P4IADOAD4A==" }, "card": { "track_number": "2", "track": "iaQbFN0EqXK3x8YHgh2ogmylKCG5J11v9BcOaOyCSVQ=" } } } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->country = 'CA'; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $debitCard = new DebitTrackData(); $debitCard->value = 'iaQbFN0EqXK3x8YHgh2ogmylKCG5J11v9BcOaOyCSVQ='; $debitCard->entryMethod = EntryMethod::SWIPE; $encryptionData = new EncryptionData(); $encryptionData->version = '05'; $encryptionData->ksn = '//89P4IADOAD4A=='; $debitCard->encryptionData = $encryptionData; try { $response = $debitCard->charge(100) ->withCurrency("CAD") ->withClientTransactionId("26851101") ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" ``` ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/api/access-token.md) ## Step 1: Process a transaction The first step is to create an authorization. This creates the transaction, assigns it a transaction ID, and processes the authorization. A sale transaction can be flagged for automatic capture using the `capture_mode` flag or flagged as requiring a separate capture action later. By default, it will automatically attempt capture. Partial authorizations are possible by setting the `authorization_mode` to `partial`. This allows your application to be notified if only part of the transaction was approved and a second form of payment will be required to complete the balance (for example, on a $100 sale, only $85 was approved, leaving a remaining balance of $15 that requires a secondary form of payment to complete). If the `authorization_mode` flag is not set, transactions will instead decline. In a card-present environment, many types of transactions are possible, including chip insert (dipped), tapped (contactless), swiped, or keyed (depending upon your region). The below example is of a chip-insert debit transaction. The type of transaction is indicated by the `entry_mode` flag on the request. ### Sample request ```json { "account_name": "Transaction_Processing", "type": "SALE", "channel": "CP", "capture_mode": "AUTO", "amount": "1999", "currency": "USD", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "US", "ip_address": "123.123.123.123", "site_reference": "Site-1324", "payment_method": { "name": "James Mason", "entry_mode": "CHIP", "card": { "track": "%B4012002000060016^VI TEST CREDIT^251210118039000000000396?;4012002000060016=25121011803939600000?", "tag": "9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001", "funding": "DEBIT", "chip_condition": "", "pin_block": "", "brand_reference": "" } } } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $debitCard = new DebitTrackData(); $debitCard->setTrackData('%B4012002000060016^VI TEST CREDIT^251210118039000000000396?;4012002000060016=25121011803939600000?'); $tagData = '9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001'; try { $response = $debitCard->charge(19.99) ->withCurrency("USD") ->withCustomerIpAddress("123.123.123.123") ->withTagData($tagData) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; // API raw response key "payment_method->card->tag_response" $tagResponse = $response->cardDetails->tagResponse; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->avs_result" $cardIssuerAvsResult = $response->cardIssuerResponse->avsResult; ``` ### Sample response ```JSON { "id": "TRN_ewFfZZmrdQ6jGaObwu2FbyRonAerwG", "time_created": "2024-02-28T21:35:06.077Z", "type": "SALE", "status": "CAPTURED", "channel": "CP", "capture_mode": "AUTO", "amount": "1999", "currency": "USD", "country": "US", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "payment_method": { "result": "00", "message": "APPROVED 000APPROVED O00999", "entry_mode": "CHIP", "card": { "funding": "DEBIT", "brand": "INTERAC", "masked_number_last4": "XXXXXXXXXXXX0016", "authcode": "", "brand_reference": "", "brand_time_created": "2024-02-28T16:35:07.000Z", "tag_response": "910A11111111111111111111", "provider": { "result": "00" } } }, "batch_id": "BAT_943493-494", "action": { "id": "ACT_ewFfZZmrdQ6jGaObwu2FbyRonAerwG", "type": "AUTHORIZE", "time_created": "2024-02-28T21:35:06.077Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } } ``` ## Step 2: Capture a transaction If the `capture_mode` flag is not set to `AUTO`, the transaction must be captured at a later date. This is frequently done in scenarios where you want to finalize the purchase price later. This is also known as a _pre-authorization_ and is frequently used in hospitality and lodging scenarios. To capture a transaction, you must use the original ID returned in the authorization response in the query URL. You can capture a transaction for any amount up to 115% of the original value. If you don't include an amount in your request, by default the full amount will be captured. ### Sample request ```json https://apis.sandbox.globalpay.com/ucp/transactions/TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d/capture { "amount": "11099", "gratuity_amount": "1999", "capture_sequence": "FIRST", "total_capture_count": "integer", "lodging": { "booking_reference": "797ebe05bf34dd4b6a8ec4fa", "duration_days": "4", "room_tax_amount": "10555", "date_checked_in": "2022-07-04", "date_checked_out": "2022-07-08", "daily_rate_amount": "35050", "charge_items": "array" }, "payment_method": { "card": { "tag": "string" } } } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $trn = Transaction::fromId('TRN_PlrobvEXlPsA9JIJDwXaIYc1K0TihU'); $tagData = '9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001'; $lodgingInfo = new LodgingData(); $lodgingInfo->bookingReference = '797ebe05bf34dd4b6a8ec4fa'; $lodgingInfo->durationDays = 4; $lodgingInfo->checkedInDate = date('Y-m-d H:i:s'); $lodgingInfo->checkedOutDate = date('Y-m-d H:i:s', strtotime("+7 days")); $lodgingInfo->dailyRateAmount = '350.5'; $item1 = new LodgingItems(); $item1->types = [LodgingItemType::NO_SHOW]; $item1->reference = 'item1'; $item1->totalAmount = '350.5'; $item1->paymentMethodProgramCodes = [PaymentMethodProgram::ASSURED_RESERVATION]; $lodgingInfo->items = [$item1]; try { $response = $trn->capture(110.99) ->withGratuity(19.99) ->withTagData($tagData) ->withMultiCapture(RecurringSequence::FIRST, 2) ->withLodgingData($lodgingInfo) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ``` ### Sample response ```JSON { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2021-05-03T21:23:39.718Z", "type": "SALE", "status": "INITIATED", "amount": "11099", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "00", "message": "Successful", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "string", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "demo_app" } } ``` ## Step 3: Additional transaction functionality Our API supports many other card-present functions you may want to implement. This includes voids, returns, refunds, and adjustments, among others. The most common of these is an adjustment, also known as a _tip_ or _gratuity_. Tips are a common way for customers to reward staff for good service in North America and other markets, and are an additional amount added to a transaction either during the sale (prompted on the physical device) or after the sale (signed on a receipt and later adjusted by staff). ##### Related articles: ### [Adjust](https://developer.globalpayments.com/docs/payments/manage-payments/adjust-guide.md) Add tips using our Adjust capability. ### [Increment](https://developer.globalpayments.com/docs/payments/manage-payments/increment-guide.md) Add supplemental charges using our Increment capability. ## Step 4: Batch / settlement / end-of-day procedures > Before implementing batches, check with your account manager for any specific market or platform requirements. Card-present transactions are managed in batches. Typically, a batch of transactions is an entire business day for a merchant. A batch must be closed for transactions to be settled and funded. Depending upon your region, our platform may automatically batch your daily transactions for you. In some regions, you may be required to batch your transactions yourself on your application. ##### Related articles: ### [Batches](https://developer.globalpayments.com/docs/payments/manage-payments/batches-guide.md) Settle and fund transactions via our Batches capability. ### [Captures](https://developer.globalpayments.com/docs/payments/manage-payments/capture-guide.md) Capture pre-authorized transactions and open checks using our Capture capability. ## Recurring Payments Source: https://developer.globalpayments.com/docs/payments/recurring/overview.md # Recurring Payments - Overview We offer an easily implemented Recurring Payments solution. Our platform is equipped to handle credential-on-file transactions that are compliant with modern standards to enable seamless integration. ## Use cases In this section, we present some “real world” examples that can be enabled through Recurring Payments. Keep in mind that this section doesn’t cover all use cases. ##### Use case #1: One-click checkout An online retailer wants to allow customers to save card information for later purchases. When a customer returns to their website to purchase more items, they can use the saved card details to check out faster. A correctly integrated shopping cart software then sends the details to our API for running the subsequent transaction. ##### Use case #2: Subscriptions A meal delivery service wants to implement subscription plans to ensure customers are able to easily register and pay for their meals. While the service’s systems manage subscriptions, customers, and triggering the payments, our Recurring Payments solution is ready to accept the initial transaction, create a payment token, and wait for any recurring payments to be sent. ##### Use case #3: Account top-up A restaurant using ecommerce software to manage their gift cards wants to allow their customers to refill their card under a certain threshold. Using our Recurring Payments solution, the owner can send a transaction request from their software to our servers authorizing and capturing the payments as they occur. ## Product information ##### Related products * 3D Secure * Tokenization ##### Integration options * SDK or API ##### Regions where you can use this solution * Europe * North America * Asia-Pacific ## Next steps To get familiar with how Recurring Payments work, see our below guides. ### [Recurring Payments - Guide](https://developer.globalpayments.com/docs/payments/recurring/recurring-payments-guide.md) Learn how to perform a recurring transaction. ### [Recurring Payments - Credential on File](https://developer.globalpayments.com/docs/payments/recurring/credentials-on-file.md) Properly flag COF transactions to adhere to card brands mandates. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) Tokenize card details to charge customers later. You also may want to read about [Tokenization](https://developer.globalpayments.com/docs/payments/tokenization/overview.md) or [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/recurring/recurring-payments-guide.md # Recurring Payments Guide This guide focuses on the full scope of running a recurring payment and provides steps from start to finish. This includes tokenizing the card, authorizing a transaction, converting your card token to multi-use, and performing a recurring payment when needed.  For information on the various use cases for recurring payments, see our [Overview](https://developer.globalpayments.com/docs/payments/recurring/overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1:  Generate a single-permission access token A single-permission access token must first be generated in order to create a single-use payment token in the next step. An [access token](https://developer.globalpayments.com/api/definitions/access-tokens.md) is a unique, single-use key used to access our API.  #### Sample request ```json curl --location POST 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "app_id": "{{app_id}}", "secret": "{{secret}}", "grant_type": "client_credentials", "nonce": "{{nonce}}", "interval_to_expire": "10_MINUTES", "permissions": [ "PMT_POST_Create_Single" ] } ``` #### Sample response ```json { "token": "4eQo0UX29btysKqJhDbjr688z7re", "type": "Bearer", "scope": { "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "accounts": [ { "id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8", "name": "tokenization", "permissions": [ "PMT_POST_Create_Single" ] } ] }, "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test", "time_created": "2025-03-20T11:20:20.603Z", "seconds_to_expire": 599, "interval_to_expire": "10_MINUTES", "email": "jordan.forde@globalpay.com" } ``` ## Step 2: Tokenize the card Once you’ve created the single-permission access token, you can use it to tokenize the card.  [Tokenization](https://developer.globalpayments.com/docs/payments/tokenization/overview.md) replaces sensitive data with unique identification symbols, or tokens, that retain all the essential information about the data without compromising its security. This gives you the ability to securely store and manage payment methods on our API in any region. Next, we will create a second access token with all the permissions for any transactions. #### Sample request ```json curl --location POST 'https://apis.sandbox.globalpay.com/ucp/payment-methods' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 4eQo0UX29btysKqJhDbjr688z7re' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "usage_mode":"SINGLE", "account_name": "{{token_acc_name}}", "reference": "{{reference}}", "card": { "number": "4242424242424242", "expiry_month": "{{expiry_month}}", "expiry_year": "{{expiry_year}}", "cvv":"{{cvv}}" } }' ``` #### Sample response ```json { "id": "PMT_4d1c481a-a275-42b2-a795-85aef97b5db8", "time_created": "2025-03-20T11:20:22.775Z", "status": "ACTIVE", "usage_mode": "SINGLE", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8", "account_name": "tokenization", "reference": "96068801", "card": { "masked_number_last4": "XXXXXXXXXXXX4242", "brand": "VISA", "expiry_month": "12", "expiry_year": "30" }, "action": { "id": "ACT_xn2IAZsZfkMy309zl12q0Jrb9FF3wA", "type": "PAYMENT_METHOD_CREATE", "time_created": "2025-03-20T11:20:22.775Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Step 3: Generate an access token with all the permissions Now, we will create a second access token with all the permissions to use for authorizing transactions. #### Sample request ```json curl --location POST 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "app_id": "{{app_id}}", "secret": "{{secret}}", "grant_type": "client_credentials", "nonce": "{{nonce}}" }' ``` #### Sample response ```json {   "token": "3W4y5tOoIOBxiBQPvqlrEyN1JkVd",   "type": "Bearer",   "scope": {     "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c",     "merchant_name": "Sandbox_Merchant_4",     "accounts": [       {         "id": "TRA_27c901760029495f813afbb0dab197ef",         "name": "transaction_processing",         "permissions": [           "TRN_POST_Authorize",           "TRN_POST_Force",           "TRN_POST_Refund",           "TRN_POST_Capture",           "TRN_POST_Reverse",           "TRN_POST_Adjust",           "TRN_POST_Initiate",           "BAT_POST_Close",           "TRN_POST_Refund_Standalone",           "VER_POST_Verify",           "TRN_POST_Reauthorize",           "INS_POST_Query",           "TRN_GET_Single",           "TRN_POST_Confirm",           "DEV_POST_Sync",           "ACT_GET_Single",           "ACT_GET_List",           "TRN_GET_List",           "TRN_POST_Capture_Multiple",           "ACT_POST_Multiple",           "APP_GET_Single",           "AUT_POST_Initiate",           "CCS_POST_DCC",           "ACC_GET_Single_Platform",           "ACC_GET_Single",           "APP_POST_Search_PFCValidate",           "ACT_POST_Auto_Action",           "PFC_GET_List",           "PFC_GET_Single",           "TRN_POST_Incremental",           "AUT_POST_Results",           "BAT_GET_Single",           "ACC_GET_List",           "GET_Single",           "AUT_POST_Check_Availability",           "APP_GET_List",           "TRN_POST_Split",           "AUT_GET_Single",           "AUT_GET_List",           "TRN_POST_Hold",           "TRN_POST_Release"         ]       },       {         "id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8",         "name": "tokenization",         "permissions": [           "PMT_POST_Create",           "PMT_PATCH_Edit",           "PMT_Delete",           "PMT_GET_List",           "PMT_GET_Single",           "PMT_POST_Search",           "ACT_POST_Multiple",           "PMT_POST_Create_Single",           "ACC_GET_Single",           "GET_Single",           "ACT_POST_Auto_Action",           "APP_POST_Search_PFCValidate",           "ACC_GET_List",           "ACT_GET_List",           "ACT_GET_Single",           "PYR_GET_Single",           "PYR_POST_Edit",           "PYR_GET_List",           "PYR_POST_Create"         ]       }     ]   },   "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r",   "app_name": "Postman_Collection_Test",   "time_created": "2025-03-20T11:20:24.635Z",   "seconds_to_expire": 86399,   "email": "jordan.forde@globalpay.com" } ``` ## Step 4: Validate the Card Simply storing a tokenized card for use in recurring payments will not validate the card. This is why it’s important to perform a [verification](https://developer.globalpay.com/docs/payments/manage-payments/verify-guide) to ensure the information on the card is accurate and  the cardholder has sufficient funds for the transaction. Both are necessary to authorize the transaction. In this example, we send a request for a standard transaction using the single-use payment token in the request body to verify the card and authorize the initial transaction. Note that the brand reference generated in this step will be used in the recurring transaction request. #### Sample request ```json curl --location POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 3W4y5tOoIOBxiBQPvqlrEyN1JkVd' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "account_name": "{{acc_name}}", "channel": "CNP", "capture_mode":"AUTO", "type": "SALE", "amount": "100", "currency": "USD", "reference": "{{reference}}", "country": "US", "payment_method": { "name": "Jane", "entry_mode": "ECOM", "id": "PMT_4d1c481a-a275-42b2-a795-85aef97b5db8" } } ``` #### Sample response ```json { "id": "TRN_Wa3UZsF0PnM4NDARGmLwjuhvRarHlV_10984351", "time_created": "2025-03-20T11:20:28.538Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "USD", "country": "US", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "TRA_27c901760029495f813afbb0dab197ef", "account_name": "transaction_processing", "reference": "10984351", "payment_method": { "result": "00", "message": "(00)[ test system ] Authorised", "entry_mode": "ECOM", "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX4242", "authcode": "123456", "brand_reference": "mH21POhUcoogvgt6", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "risk_assessment": [ { "mode": "ACTIVE", "result": "ACCEPTED", "rules": [ { "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd", "description": "Cardholder Name Rule", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3", "description": "CardNumber block", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e", "description": "Amount test", "mode": "ACTIVE", "result": "ACCEPTED" } ] } ], "batch_id": "BAT_1510378", "action": { "id": "ACT_Wa3UZsF0PnM4NDARGmLwjuhvRarHlV", "type": "AUTHORIZE", "time_created": "2025-03-20T11:20:28.538Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Step 5: Convert the single-use payment token to a multi-use payment token Once the card is verified, the card can now be stored by converting the single use payment token to a multi use payment token using a PATCH call as shown in the below example. #### Sample request ```json curl --location PATCH 'https://apis.sandbox.globalpay.com/ucp/payment-methods/PMT_4d1c481a-a275-42b2-a795-85aef97b5db8' --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 3W4y5tOoIOBxiBQPvqlrEyN1JkVd' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ ``` #### Sample response ```json { "id": "PMT_4d1c481a-a275-42b2-a795-85aef97b5db8", "status": "ACTIVE", "usage_mode": "MULTIPLE", "card": { "expiry_month": "", "expiry_year": "" }, "action": { "id": "ACT_6qwDoGM9pqBkqoLPHEflxQFQKqguDk", "type": "PAYMENT_METHOD_EDIT", "time_created": "2025-03-20T11:20:50.538Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Step 6: Perform a recurring payment The recurring payment process is not automated in our API. The request for payment must be sent at the time the recurring payment is due.  This is typically handled by your software, which will require the payment token identifier and a brand reference fetched in the initial authorization (Step 4) when making its recurring requests for payment. > Because the next transaction might occur days or weeks after the initial authorization, a new full access token might be required to complete subsequent authorizations. #### Sample request ```json curl --location POST 'https://apis.sandbox.globalpay.com/ucp/transactions --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 3W4y5tOoIOBxiBQPvqlrEyN1JkVd' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{     "account_name": "{{acc_name}}",     "channel": "CNP",     "capture_mode": "AUTO",     "type": "SALE",     "amount": "100",     "currency": "USD",     "reference": "{{reference}}",     "country": "US",     "initiator": "MERCHANT",     "stored_credential": {         "model": "RECURRING",         "reason": "INCREMENTAL",         "sequence": "SUBSEQUENT"     },     "payment_method": {        "name": "Jane",         "entry_mode": "ECOM",         "id": "{{pmt_id}}",         "card": {             "brand_reference": "{{brand_ref}}"         }     } } ``` #### Sample response ```json {     "id": "TRN_fT7SsRTYZkBBzNO5Jtkky3Br54veOp_78442951",     "time_created": "2025-03-20T11:21:00.538Z",     "type": "SALE",     "status": "CAPTURED",     "channel": "CNP",     "capture_mode": "AUTO",     "amount": "100",     "currency": "USD",     "country": "US",     "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c",     "merchant_name": "Sandbox_Merchant_4",     "account_id": "TRA_27c901760029495f813afbb0dab197ef",     "account_name": "transaction_processing",     "reference": "78442951",     "payment_method": {         "result": "00",         "message": "(00)[ test system ] Authorised",         "entry_mode": "ECOM",         "card": {             "brand": "VISA",             "masked_number_last4": "XXXXXXXXXXXX4242",             "authcode": "123456",             "brand_reference": "CildSOKDR0xyrWGK",             "brand_time_created": "",             "provider": {                 "result": "00",                 "cvv_result": "M",                 "avs_address_result": "M",                 "avs_postal_code_result": "M"             }         }     },     "risk_assessment": [         {             "mode": "ACTIVE",             "result": "ACCEPTED",             "rules": [                 {                     "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd",                     "description": "Cardholder Name Rule",                     "mode": "ACTIVE",                     "result": "ACCEPTED"                 },                 {                     "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3",                     "description": "CardNumber block",                     "mode": "ACTIVE",                     "result": "ACCEPTED"                 },                 {                     "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e",                     "description": "Amount test",                     "mode": "ACTIVE",                     "result": "ACCEPTED"                 }             ]         }     ],     "batch_id": "BAT_1530138",     "action": {         "id": "ACT_fT7SsRTYZkBBzNO5Jtkky3Br54veOp",         "type": "AUTHORIZE",         "time_created": "2025-03-20T11:21:00.538Z",         "result_code": "SUCCESS",         "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r",         "app_name": "Postman_Collection_Test"     } } ``` ## Integration references For a deeper understanding of this function, use the integration references we provide for our API and SDK integrations. You can see the full detailed API specification in our [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including recurring payments. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing You can test our Recurring Payments solution in our free Sandbox environment. All it takes is a registered user in our developer portal. Get started with the resources below. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Credentials on File Source: https://developer.globalpayments.com/docs/payments/recurring/credentials-on-file.md # Recurring Payments - Credential on File In this guide, you’ll learn how to correctly pass Credential on File (COF) data for the following use cases: * One-Click Checkout – Unscheduled payments triggered by the cardholder. * Recurring & Installments – A subscription/variable amount billing agreement or regular payments for a fixed term triggered by the merchant. * Account Auto Top-Up – Unscheduled payments triggered by the merchant. Each use case involves an initial CIT where the customer transacts with the merchant and agrees to store their card (customer signup). Depending on the use case, the customer might also consent to an installment/subscription or agree that their card can be charged without their direct involvement. So, first we’ll cover that initial step and then go into each specific use case. The following table summarizes the required data for each use case. | Data | First Transaction / Customer Signup | Subsequent Transaction: One-Click Checkout | Subsequent Transaction: Recurring or Installment | Subsequent Transaction: Auto Account Top-Up | | --- | --- | --- | --- | --- | | Model | UNSCHEDULED | UNSCHEDULED | RECURRING or INSTALLMENT | UNSCHEDULED | | Initiator | PAYER | PAYER | MERCHANT | MERCHANT | | Sequence | FIRST | SUBSEQUENT | SUBSEQUENT | SUBSEQUENT | | Brand Reference| N/A | N/A | Required | Required | ## What is COF? COF is a way of identifying stored card transactions. The location of the stored card details doesn't matter — the details could be held in our Card Storage solution or stored securely by the merchant or by a third party for merchant use. The purpose of the COF mandate from the card schemes, such as Visa or Mastercard, is to help reduce fraud by requiring merchants to include certain fields in the authorization message when using a customer’s stored credentials for payments. These COF fields indicate to issuers and acquirers that the merchant has a prior arrangement with the customer to store their card details and potentially to make subsequent payments on their behalf. This benefits the merchant and cardholder by identifying a more trusted transaction, which can enable scenarios like one-click checkout or [recurring transactions](https://developer.globalpayments.com/docs/payments/recurring/overview.md). Transactions using stored card details are either customer-initiated (payer) (CIT) or merchant-initiated (MIT). ## COF data and fields The following table describes the relevant COF data and fields. | Field Name / Data | Description | | --- | --- | | Initiator | The initiator of the transaction. Allowed values: **PAYER** - Indicates a transaction that is customer-initiated (CIT). **MERCHANT** - Indicates a transaction that is merchant-initiated (MIT). | | Model | The relationship type the customer agreed to with the merchant and the category of transaction being processed. Allowed values: **RECURRING** - Payment with no fixed duration that continues until the customer cancels. **INSTALLMENT** - Payment of an agreed amount on the same day each month until the fixed duration ends. **UNSCHEDULED** - Oneoff payment with no fixed duration. | | Sequence | Indicates the stage of card storage. Allowed values: **FIRST** **SUBSEQUENT** | | Brand Reference | Also referred to as Scheme Reference Data (SRD). A unique identifier provided by a card scheme, such as Visa or Mastercard, that links to the payment history between the customer and merchant. Also referred to as Transaction ID or Trace ID, depending on the card scheme. This will appear in the response message of an initial transaction. | ## First transaction - Customer signup The first transaction is a CIT. For example, the customer is making a payment on the merchant’s website for the first time or choosing a subscription or installment product. With this in mind, the model needs to match the agreement that the customer is signing up for. In our example, it’s Unscheduled, but it could be Installment or Recurring. For this transaction, initiator and sequence will always be Payer and First, respectively. If future transactions using this stored card are merchant-initiated (MITs), the first transaction must include 3D Secure 2 payment authentication with the Challenge Mandated flag passed to the Issuer. You must also store the brand references for future transactions. For more information, see our [Merchant-Initiated Transactions](https://developer.globalpayments.com/ecommerce/risk-management/3ds/MIT) article. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 2orSiiEoQc82EMBUNDyX1DS7guO3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_6716058969854a48b33347043ff8225f", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "14406011", "country": "IE", "initiator": "PAYER", "stored_credential": { "model": "UNSCHEDULED", "sequence": "FIRST" }, "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22", "cvv": "123" }, "authentication": { "three_ds": { "server_trans_ref": "vJ9NXpFueXsAqeb4iAbJJbe+66s=", "value": "AAACBUGDZYYYIgGFGYNlAAAAAAA=", "eci": "05", "message_version": "2.1.0" } } } }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setCountry("IE"); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCvn("123"); card.setCardHolderName("James Mason"); ThreeDSecure threeDSecure = new ThreeDSecure(); threeDSecure.setProviderServerTransRef("vJ9NXpFueXsAqeb4iAbJJbe+66s="); threeDSecure.setAuthenticationValue("AAACBUGDZYYYIgGFGYNlAAAAAAA="); threeDSecure.setEci("05"); threeDSecure.setMessageVersion("2.1.0"); card.setThreeDSecure(threeDSecure); StoredCredential storedCredential = new StoredCredential(); storedCredential.setInitiator(StoredCredentialInitiator.CardHolder); storedCredential.setType(StoredCredentialType.Unscheduled); storedCredential.setSequence(StoredCredentialSequence.First); try { Transaction response = card.charge(new BigDecimal("1.00")) .withCurrency("EUR") .withClientTransactionId("14406011") .withStoredCredential(storedCredential) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchId = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "payment_method->card->brand_reference" String cardBrandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->cvv_result" String cvnResponseMessage = response.getCvnResponseMessage(); // API raw response key "payment_method->card->brand"(); String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); // API raw response key "payment_method->card->provider->cvv_result" String cardIssuerCvv = response.getCardIssuerResponse().getCvvResult(); // API raw response key "payment_method->card->provider->avs_address_result" String cardIssuerAvsAddressResult = response.getCardIssuerResponse().getAvsAddressResult(); // API raw response key "payment_method->card->provider->avs_postal_code_result" String cardIssuerAvsPostalCodeResult = response.getCardIssuerResponse().getAvsPostalCodeResult(); // API raw response key "risk_assessment->mode" String fraudResponseMode = response.getFraudFilterResponse().getFraudResponseMode(); // API raw response key "risk_assessment->result" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // API raw response key "risk_assessment->rules" List fraudResponseRules = response.getFraudFilterResponse().getFraudResponseRules(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST, Country = "IE" }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Number = "4263970000005262", ExpMonth = DateTime.Now.Month, ExpYear = DateTime.Now.Year + 1, Cvn = "123", CardHolderName = "James Mason", ThreeDSecure = new ThreeDSecure { ProviderServerTransRef = "vJ9NXpFueXsAqeb4iAbJJbe+66s=", AuthenticationValue = "AAACBUGDZYYYIgGFGYNlAAAAAAA=", Eci = "05", MessageVersion = "2.1.0" } }; StoredCredential storeCredentials = new StoredCredential { Initiator = StoredCredentialInitiator.CardHolder, Type = StoredCredentialType.Unscheduled, Sequence = StoredCredentialSequence.First }; try { Transaction response = card.Charge(1m) .WithCurrency("EUR") .WithClientTransactionId("14406011") .WithStoredCredential(storeCredentials) .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.AuthorizedAmount; //API raw response key "batch_id" var batchId = response.BatchSummary.BatchReference; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "action->result_code" var responseCode = response.ResponseCode; //API raw response key "payment_method->card->brand_reference" var cardBrandReference = response.CardBrandTransactionId; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; //API raw response key "payment_method->card->provider->cvv_result" var cardIssuerCvv = response.CardIssuerResponse.CvvResult; //API raw response key "payment_method->card->provider->avs_address_result" var cardIssuerAvsAddressResult = response.CardIssuerResponse.AvsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" var cardIssuerAvsPostalCodeResult = response.CardIssuerResponse.AvsPostalCodeResult; //API raw response key "risk_assessment->mode" var fraudResponseMode = response.FraudFilterResponse.FraudResponseMode; //API raw response key "risk_assessment->result" var fraudResponseResult = response.FraudFilterResponse.FraudResponseResult; //API raw response key "risk_assessment->rules" var fraudResponseRules = response.FraudFilterResponse.FraudResponseRules; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = '4263970000005262'; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = '123'; $card->cardHolderName = 'James Mason'; $card->threeDSecure = new \GlobalPayments\Api\Entities\ThreeDSecure(); $card->threeDSecure->providerServerTransRef = 'vJ9NXpFueXsAqeb4iAbJJbe+66s='; $card->threeDSecure->authenticationValue = 'AAACBUGDZYYYIgGFGYNlAAAAAAA='; $card->threeDSecure->eci = '05'; $card->threeDSecure->messageVersion = '2.1.0'; $storeCredentials = new StoredCredential(); $storeCredentials->initiator = StoredCredentialInitiator::PAYER; $storeCredentials->type = StoredCredentialType::UNSCHEDULED; $storeCredentials->sequence = StoredCredentialSequence::FIRST; try { $response = $card->charge(1) ->withCurrency("EUR") ->withClientTransactionId("14406011") ->withStoredCredential($storeCredentials) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; ``` #### Sample response ```json { "id": "TRN_wyU5fw3aUJZZXZ9OzdxHhLYete9tYk_14406011", "time_created": "2022-05-20T14:18:05.428Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "14406011", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "ef5FXsbbtJfXKhh0", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1092561", "action": { "id": "ACT_wyU5fw3aUJZZXZ9OzdxHhLYete9tYk", "type": "AUTHORIZE", "time_created": "2022-05-20T14:18:05.428Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app" } } ```JSON ## Subsequent transaction examples In our code samples, we use a stored card / payment method (also known as a token), but a merchant might store the card data themselves or use a third party. ### One-click checkout This use case is a CIT. For example, the customer returns to the merchant’s website and is presented with their previously stored card. It is recommended to also capture the security code (CVV) and, depending on the region, perform 3D Secure 2 authentication. > Brand reference is not required for subsequent CITs. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 2orSiiEoQc82EMBUNDyX1DS7guO3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_6716058969854a48b33347043ff8225f", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "53509251", "country": "IE", "initiator": "PAYER", "stored_credential": { "model": "UNSCHEDULED", "sequence": "SUBSEQUENT" }, "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_850924e2-d2bd-4724-bb59-12ae1cec392d", "card": { "cvv": "123" }, "authentication": { "three_ds": { "server_trans_ref": "vJ9NXpFueXsAqeb4iAbJJbe+66s=", "value": "AAACBUGDZYYYIgGFGYNlAAAAAAA=", "eci": "05", "message_version": "2.1.0" } } } }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setCountry("IE"); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setToken("PMT_7554986a-1e77-4c75-a80f-5889d0621c13"); card.setCvn("123"); card.setCardHolderName("James Mason"); ThreeDSecure threeDSecure = new ThreeDSecure(); threeDSecure.setProviderServerTransRef("vJ9NXpFueXsAqeb4iAbJJbe+66s="); threeDSecure.setAuthenticationValue("AAACBUGDZYYYIgGFGYNlAAAAAAA="); threeDSecure.setEci("05"); threeDSecure.setMessageVersion("2.1.0"); card.setThreeDSecure(threeDSecure); StoredCredential storedCredential = new StoredCredential(); storedCredential.setInitiator(StoredCredentialInitiator.CardHolder); storedCredential.setType(StoredCredentialType.Unscheduled); storedCredential.setSequence(StoredCredentialSequence.Subsequent); try { Transaction response = card.charge(new BigDecimal("1.00")) .withCurrency("EUR") .withClientTransactionId("53509251") .withStoredCredential(storedCredential) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchId = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "payment_method->card->brand_reference" String cardBrandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->avs_postal_code_result" String avsResponseCode = response.getAvsResponseCode(); // API raw response key "payment_method->card->->avs_address_result" String avsAddressResponse = response.getAvsAddressResponse(); // API raw response key "payment_method->card->cvv_result" String cvnResponseMessage = response.getCvnResponseMessage(); // API raw response key "payment_method->card->brand"(); String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); // API raw response key "payment_method->card->provider->cvv_result" String cardIssuerCvv = response.getCardIssuerResponse().getCvvResult(); // API raw response key "payment_method->card->provider->avs_address_result" String cardIssuerAvsAddressResult = response.getCardIssuerResponse().getAvsAddressResult(); // API raw response key "payment_method->card->provider->avs_postal_code_result" String cardIssuerAvsPostalCodeResult = response.getCardIssuerResponse().getAvsPostalCodeResult(); // API raw response key "risk_assessment->mode" String fraudResponseMode = response.getFraudFilterResponse().getFraudResponseMode(); // API raw response key "risk_assessment->result" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // API raw response key "risk_assessment->rules" List fraudResponseRules = response.getFraudFilterResponse().getFraudResponseRules(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST, Country = "IE" }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Token = "PMT_7554986a-1e77-4c75-a80f-5889d0621c13", Cvn = "123", CardHolderName = "James Mason", ThreeDSecure = new ThreeDSecure { ProviderServerTransRef = "vJ9NXpFueXsAqeb4iAbJJbe+66s=", AuthenticationValue = "AAACBUGDZYYYIgGFGYNlAAAAAAA=", Eci = "05", MessageVersion = "2.1.0" } }; StoredCredential storeCredentials = new StoredCredential { Initiator = StoredCredentialInitiator.CardHolder, Type = StoredCredentialType.Unscheduled, Sequence = StoredCredentialSequence.Subsequent }; try { Transaction response = card.Charge(1m) .WithCurrency("EUR") .WithClientTransactionId("53509251") .WithStoredCredential(storeCredentials) .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.AuthorizedAmount; //API raw response key "batch_id" var batchId = response.BatchSummary.BatchReference; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "action->result_code" var responseCode = response.ResponseCode; //API raw response key "payment_method->card->brand_reference" var cardBrandReference = response.CardBrandTransactionId; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; //API raw response key "payment_method->card->provider->cvv_result" var cardIssuerCvv = response.CardIssuerResponse.CvvResult; //API raw response key "payment_method->card->provider->avs_address_result" var cardIssuerAvsAddressResult = response.CardIssuerResponse.AvsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" var cardIssuerAvsPostalCodeResult = response.CardIssuerResponse.AvsPostalCodeResult; //API raw response key "risk_assessment->mode" var fraudResponseMode = response.FraudFilterResponse.FraudResponseMode; //API raw response key "risk_assessment->result" var fraudResponseResult = response.FraudFilterResponse.FraudResponseResult; //API raw response key "risk_assessment->rules" var fraudResponseRules = response.FraudFilterResponse.FraudResponseRules; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->token = 'PMT_7554986a-1e77-4c75-a80f-5889d0621c13'; $card->cvn = '123'; $card->cardHolderName = 'James Mason'; $card->threeDSecure = new \GlobalPayments\Api\Entities\ThreeDSecure(); $card->threeDSecure->providerServerTransRef = 'vJ9NXpFueXsAqeb4iAbJJbe+66s='; $card->threeDSecure->authenticationValue = 'AAACBUGDZYYYIgGFGYNlAAAAAAA='; $card->threeDSecure->eci = '05'; $card->threeDSecure->messageVersion = '2.1.0'; $storeCredentials = new StoredCredential(); $storeCredentials->initiator = StoredCredentialInitiator::PAYER; $storeCredentials->type = StoredCredentialType::UNSCHEDULED; $storeCredentials->sequence = StoredCredentialSequence::SUBSEQUENT; try { $response = $card->charge(1) ->withCurrency("EUR") ->withClientTransactionId("53509251") ->withStoredCredential($storeCredentials) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->avs_postal_code_result" $avsResponseCode = $response->avsResponseCode; //API raw response key "payment_method->card->->avs_address_result" $avsAddressResponse = $response->avsAddressResponse; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; ``` #### Sample response ```json { "id": "TRN_G8Kj4BTiKOS67ywj9V3nbn5hLpet6f_53509251", "time_created": "2022-05-20T16:43:27.568Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "53509251", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "66CX0osxtpW7hPOG", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1092561", "action": { "id": "ACT_G8Kj4BTiKOS67ywj9V3nbn5hLpet6f", "type": "AUTHORIZE", "time_created": "2022-05-20T16:43:27.568Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app" } } ```JSON ### Recurring & Installments This use case is an MIT. For example, the merchant charges the customer’s card based on an agreed subscription or installment plan. You must supply the brand reference from the original authorization or verification when the card was first stored. When flagged correctly, MITs are deemed as out of scope for the European requirements for Strong Customer Authentication (SCA). For more information, see our [Merchant-Initiated Transactions](https://developer.globalpayments.com/ecommerce/risk-management/3ds/MIT) article. In this example, we set the model to be Recurring, but we could also choose Installment. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 2orSiiEoQc82EMBUNDyX1DS7guO3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_6716058969854a48b33347043ff8225f", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "75652561", "country": "IE", "initiator": "MERCHANT", "stored_credential": { "model": "RECURRING", "sequence": "SUBSEQUENT" }, "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_850924e2-d2bd-4724-bb59-12ae1cec392d", "card": { "brand_reference": "wqIV3urYYTj5LkCT" } } }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setCountry("IE"); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setToken("PMT_7554986a-1e77-4c75-a80f-5889d0621c13"); card.setCardHolderName("James Mason"); StoredCredential storedCredential = new StoredCredential(); storedCredential.setInitiator(StoredCredentialInitiator.Merchant); storedCredential.setType(StoredCredentialType.Recurring); storedCredential.setSequence(StoredCredentialSequence.Subsequent); String chargeCardBrandReference = "t9XevTa8Oia31WVL"; try { Transaction response = card.charge(new BigDecimal("1.00")) .withCurrency("EUR") .withClientTransactionId("75652561") .withStoredCredential(storedCredential) .withCardBrandStorage(StoredCredentialInitiator.Merchant, chargeCardBrandReference) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchId = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "payment_method->card->brand_reference" String cardBrandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->avs_postal_code_result" String avsResponseCode = response.getAvsResponseCode(); // API raw response key "payment_method->card->->avs_address_result" String avsAddressResponse = response.getAvsAddressResponse(); // API raw response key "payment_method->card->cvv_result" String cvnResponseMessage = response.getCvnResponseMessage(); // API raw response key "payment_method->card->brand"(); String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); // API raw response key "payment_method->card->provider->cvv_result" String cardIssuerCvv = response.getCardIssuerResponse().getCvvResult(); // API raw response key "payment_method->card->provider->avs_address_result" String cardIssuerAvsAddressResult = response.getCardIssuerResponse().getAvsAddressResult(); // API raw response key "payment_method->card->provider->avs_postal_code_result" String cardIssuerAvsPostalCodeResult = response.getCardIssuerResponse().getAvsPostalCodeResult(); // API raw response key "risk_assessment->mode" String fraudResponseMode = response.getFraudFilterResponse().getFraudResponseMode(); // API raw response key "risk_assessment->result" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // API raw response key "risk_assessment->rules" List fraudResponseRules = response.getFraudFilterResponse().getFraudResponseRules(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST, Country = "IE" }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Token = "PMT_7554986a-1e77-4c75-a80f-5889d0621c13", CardHolderName = "James Mason", ThreeDSecure = new ThreeDSecure { ProviderServerTransRef = "vJ9NXpFueXsAqeb4iAbJJbe+66s=", AuthenticationValue = "AAACBUGDZYYYIgGFGYNlAAAAAAA=", Eci = "05", MessageVersion = "2.1.0" } }; StoredCredential storeCredentials = new StoredCredential { Initiator = StoredCredentialInitiator.Merchant, Type = StoredCredentialType.Recurring, Sequence = StoredCredentialSequence.Subsequent }; var cardBrandRef = "t9XevTa8Oia31WVL"; try { Transaction response = card.Charge(1m) .WithCurrency("EUR") .WithClientTransactionId("75652561") .WithStoredCredential(storeCredentials) .WithCardBrandStorage(StoredCredentialInitiator.Merchant, cardBrandRef) .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.AuthorizedAmount; //API raw response key "batch_id" var batchId = response.BatchSummary.BatchReference; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "action->result_code" var responseCode = response.ResponseCode; //API raw response key "payment_method->card->brand_reference" var cardBrandReference = response.CardBrandTransactionId; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; //API raw response key "payment_method->card->provider->cvv_result" var cardIssuerCvv = response.CardIssuerResponse.CvvResult; //API raw response key "payment_method->card->provider->avs_address_result" var cardIssuerAvsAddressResult = response.CardIssuerResponse.AvsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" var cardIssuerAvsPostalCodeResult = response.CardIssuerResponse.AvsPostalCodeResult; //API raw response key "risk_assessment->mode" var fraudResponseMode = response.FraudFilterResponse.FraudResponseMode; //API raw response key "risk_assessment->result" var fraudResponseResult = response.FraudFilterResponse.FraudResponseResult; //API raw response key "risk_assessment->rules" var fraudResponseRules = response.FraudFilterResponse.FraudResponseRules; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->token = 'PMT_7554986a-1e77-4c75-a80f-5889d0621c13'; $card->cardHolderName = 'James Mason'; $storeCredentials = new StoredCredential(); $storeCredentials->initiator = StoredCredentialInitiator::MERCHANT; $storeCredentials->type = StoredCredentialType::RECURRING; $storeCredentials->sequence = StoredCredentialSequence::SUBSEQUENT; $cardBrandReference = 't9XevTa8Oia31WVL'; try { $response = $card->charge(1) ->withCurrency("EUR") ->withClientTransactionId("75652561") ->withStoredCredential($storeCredentials) ->withCardBrandStorage(StoredCredentialInitiator::MERCHANT, $cardBrandReference) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->avs_postal_code_result" $avsResponseCode = $response->avsResponseCode; //API raw response key "payment_method->card->->avs_address_result" $avsAddressResponse = $response->avsAddressResponse; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; ``` #### Sample response ```json { "id": "TRN_xOPLdeWShj4YYqydi2Sn7HkQ3Gf3ZK_40424451", "time_created": "2022-05-20T17:38:17.637Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "40424451", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "FB7P70xHebhcC7Rr", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1092561", "action": { "id": "ACT_xOPLdeWShj4YYqydi2Sn7HkQ3Gf3ZK", "type": "AUTHORIZE", "time_created": "2022-05-20T17:38:17.637Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app" } } ```JSON ### Auto account top-up This use case is an MIT. For example, the merchant charges the customer’s card based on their account balance dropping below a certain threshold. In this case, we set the model to be Unscheduled. You must also supply the brand reference from the original authorization or verification when the card was first stored. When flagged correctly, MITs are deemed as out of scope for the European requirements for SCA. For more information, see our [Merchant-Initiated Transactions](https://developer.globalpayments.com/ecommerce/risk-management/3ds/MIT) article. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 2orSiiEoQc82EMBUNDyX1DS7guO3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_6716058969854a48b33347043ff8225f", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "01577731", "country": "IE", "initiator": "MERCHANT", "stored_credential": { "model": "UNSCHEDULED", "sequence": "SUBSEQUENT" }, "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_850924e2-d2bd-4724-bb59-12ae1cec392d", "card": { "brand_reference": "wqIV3urYYTj5LkCT" } } }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setCountry("IE"); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setToken("PMT_7554986a-1e77-4c75-a80f-5889d0621c13"); card.setCardHolderName("James Mason"); StoredCredential storedCredential = new StoredCredential(); storedCredential.setInitiator(StoredCredentialInitiator.Merchant); storedCredential.setType(StoredCredentialType.Unscheduled); storedCredential.setSequence(StoredCredentialSequence.Subsequent); String chargeCardBrandReference = "t9XevTa8Oia31WVL"; try { Transaction response = card.charge(new BigDecimal("1.00")) .withCurrency("EUR") .withClientTransactionId("01577731") .withStoredCredential(storedCredential) .withCardBrandStorage(StoredCredentialInitiator.Merchant, chargeCardBrandReference) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchId = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "payment_method->card->brand_reference" String cardBrandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->avs_postal_code_result" String avsResponseCode = response.getAvsResponseCode(); // API raw response key "payment_method->card->->avs_address_result" String avsAddressResponse = response.getAvsAddressResponse(); // API raw response key "payment_method->card->cvv_result" String cvnResponseMessage = response.getCvnResponseMessage(); // API raw response key "payment_method->card->brand"(); String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); // API raw response key "payment_method->card->provider->cvv_result" String cardIssuerCvv = response.getCardIssuerResponse().getCvvResult(); // API raw response key "payment_method->card->provider->avs_address_result" String cardIssuerAvsAddressResult = response.getCardIssuerResponse().getAvsAddressResult(); // API raw response key "payment_method->card->provider->avs_postal_code_result" String cardIssuerAvsPostalCodeResult = response.getCardIssuerResponse().getAvsPostalCodeResult(); // API raw response key "risk_assessment->mode" String fraudResponseMode = response.getFraudFilterResponse().getFraudResponseMode(); // API raw response key "risk_assessment->result" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // API raw response key "risk_assessment->rules" List fraudResponseRules = response.getFraudFilterResponse().getFraudResponseRules(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST, Country = "IE" }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Token = "PMT_7554986a-1e77-4c75-a80f-5889d0621c13", CardHolderName = "James Mason", ThreeDSecure = new ThreeDSecure { ProviderServerTransRef = "vJ9NXpFueXsAqeb4iAbJJbe+66s=", AuthenticationValue = "AAACBUGDZYYYIgGFGYNlAAAAAAA=", Eci = "05", MessageVersion = "2.1.0" } }; StoredCredential storeCredentials = new StoredCredential { Initiator = StoredCredentialInitiator.Merchant, Type = StoredCredentialType.Unscheduled, Sequence = StoredCredentialSequence.Subsequent }; var cardBrandRef = "t9XevTa8Oia31WVL"; try { Transaction response = card.Charge(1m) .WithCurrency("EUR") .WithClientTransactionId("01577731") .WithStoredCredential(storeCredentials) .WithCardBrandStorage(StoredCredentialInitiator.Merchant, cardBrandRef) .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.AuthorizedAmount; //API raw response key "batch_id" var batchId = response.BatchSummary.BatchReference; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "action->result_code" var responseCode = response.ResponseCode; //API raw response key "payment_method->card->brand_reference" var cardBrandReference = response.CardBrandTransactionId; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; //API raw response key "payment_method->card->provider->cvv_result" var cardIssuerCvv = response.CardIssuerResponse.CvvResult; //API raw response key "payment_method->card->provider->avs_address_result" var cardIssuerAvsAddressResult = response.CardIssuerResponse.AvsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" var cardIssuerAvsPostalCodeResult = response.CardIssuerResponse.AvsPostalCodeResult; //API raw response key "risk_assessment->mode" var fraudResponseMode = response.FraudFilterResponse.FraudResponseMode; //API raw response key "risk_assessment->result" var fraudResponseResult = response.FraudFilterResponse.FraudResponseResult; //API raw response key "risk_assessment->rules" var fraudResponseRules = response.FraudFilterResponse.FraudResponseRules; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->token = 'PMT_7554986a-1e77-4c75-a80f-5889d0621c13'; $card->cardHolderName = 'James Mason'; $storeCredentials = new StoredCredential(); $storeCredentials->initiator = StoredCredentialInitiator::MERCHANT; $storeCredentials->type = StoredCredentialType::UNSCHEDULED; $storeCredentials->sequence = StoredCredentialSequence::SUBSEQUENT; $cardBrandReference = 't9XevTa8Oia31WVL'; try { $response = $card->charge(1) ->withCurrency("EUR") ->withClientTransactionId("01577731") ->withStoredCredential($storeCredentials) ->withCardBrandStorage(StoredCredentialInitiator::MERCHANT, $cardBrandReference) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; $referenceNumber = $response->referenceNumber; // API raw response key "reference" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" $responseCode = $response->responseCode; // API raw response key "action->result_code" //API raw response key "payment_method->card->brand_reference" $cardBrandReference = $response->cardBrandTransactionId; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->avs_postal_code_result" $avsResponseCode = $response->avsResponseCode; //API raw response key "payment_method->card->->avs_address_result" $avsAddressResponse = $response->avsAddressResponse; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; ``` #### Sample response ```json { "id": "TRN_J69gReLKy8dP1p5WgdVLLnX7xADx8y_01577731", "time_created": "2022-05-20T17:43:28.196Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "01577731", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "0sJ211EAr8pEp7dy", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1092561", "action": { "id": "ACT_J69gReLKy8dP1p5WgdVLLnX7xADx8y", "type": "AUTHORIZE", "time_created": "2022-05-20T17:43:28.196Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app" } } ```JSON ## Tokenization Source: https://developer.globalpayments.com/docs/payments/tokenization/overview.md # Tokenization - Overview Tokenization is the capability to securely store and manage payment methods on our API in any region and across both online (card not present) and in-store (card present) environments. It involves replacing sensitive data with unique identification symbols, or _tokens_, that retain all the essential information about the data without compromising its security. These tokens can be used in place of the actual data to perform operations, such as processing payments, without exposing the sensitive information itself. The PCI DSS sets stringent requirements for handling and storing card information. Tokenization helps businesses comply with these regulations by minimizing the amount of sensitive data they handle and store. ## Payment token types Payment tokens are different from the access tokens required to authorize and use our API. For more information on access tokens, see our [guide](https://developer.globalpayments.com/api/definitions/access-tokens.md). There are two types of payment tokens: * Single-Use Payment Token – Valid for only a certain amount of time and for a single use, thus eliminating the risk of reuse in fraudulent activities. A single use token is automatically deleted after a few minutes, unless it is explicitly converted to a multi-use token to store the card information. * Multi-Use Payment Token – Can be used for multiple transactions. These tokens are typically linked to a specific payment method and can be reused for various transactions until they are explicitly invalidated. They provide a balance between security and convenience, making them suitable for scenarios where recurring transactions are needed. ## Next steps Now that you have an understanding of the tokenization types, the next step is to look at the tokenization capabilities our API can provide you. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) Tokenize card details to charge customers later. ### [Payers](https://developer.globalpayments.com/docs/payments/tokenization/payers-overview.md) Store customer details for future transactions. ### [Recurring Payments](https://developer.globalpayments.com/docs/payments/recurring/overview.md) Make subsequent payments easier for your customers. ## Guide Source: https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md # Card Storage - Guide #### API With our API, you can securely store card data with us and receive a token representation of the card. This token can be stored with no increased PCI DSS compliance requirements. Tokens can be used for recurring billing or to enable one-click checkout. You can add, delete, and update stored cards. This guide focuses on how to store cards (tokenization) and charge them. We also show you how to enable our Payment Method Alias solution in the request. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Store a card We highly recommend processing an authorization or verification against a card before storing it. This allows you to check that the card data provided is valid. For more information, see [Transactions](https://developer.globalpayments.com/api/transactions.md#/Create%20a%20Sale%20or%20Refund/createSaleOrRefundTransaction) and [Verifications](https://developer.globalpayments.com/api/verifications.md#/Verify/post_verifications) in the API Explorer. In this example, we send a request to store a card. For more information, see [Payment Methods - Tokenization](https://developer.globalpayments.com/api/payment-methods-tokenization.md#/Create/post-payment-method) in the API Explorer. #### Sample request ```JSON curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/payment-methods' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 19MKWmKalkNz241ECHPH2VTpx9Uc' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "reference": "99388961", "card": { "number": "4012001037141112", "expiry_month": "12", "expiry_year": "25" } }' ``` #### Sample response The `id` value returned in the response is the token to use to reference the stored card when processing payments. It begins with the three letters `PMT_`. ```JSON { "id": "PMT_815adaf8-4f8b-43bd-934d-d9fd086897f2", "time_created": "2021-01-18T12:06:17.227Z", "status": "ACTIVE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TKA_eba30a1b5c4a468d90ceeef2ffff7f5e", "account_name": "Tokenization", "reference": "99388961", "card": { "masked_number_last4": "XXXXXXXXXXXX1112", "brand": "VISA", "expiry_month": "12", "expiry_year": "25" }, "action": { "id": "ACT_KfF9omT2vg3bl8s8uqFsimo2416yv5", "type": "PAYMENT_METHOD_CREATE", "time_created": "2021-01-18T12:06:17.227Z", "result_code": "SUCCESS", "app_id": "jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name": "cathal_sandbox" } } ``` ## Step 2: Create a transaction Creating a transaction from a stored card works the same as a standard authorization, except instead of collecting card data you simply send the `id` in the `payment_method` object in the request. We obtain the securely stored card data and build the authorization message. Under PCI DSS compliance rules, the security code (CVN, CVV) cannot be stored. However, if in your application you let the customer use a card they previously saved, you can prompt them for their security code again. Then include the code in the request. #### Sample request ```JSON curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 19MKWmKalkNz241ECHPH2VTpx9Uc' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "Transaction_Processing", "channel": "CNP", "type": "SALE", "amount": "4500", "currency": "USD", "reference": "56938151", "country": "US", "payment_method": { "id": "PMT_815adaf8-4f8b-43bd-934d-d9fd086897f2", "entry_mode": "ECOM" } }' ``` ## [Optional] Payment Method Alias With Payment Method Alias, you can link customer data among various payment-processing channels. We provide a unique reference that helps you recognize a customer’s payment interactions no matter where they occur, without exposing sensitive information. To enable this solution, add the following field to the `payment_method` object in the sample request for [Step 2](#step-2-create-a-transaction). For more information, see [Payment Method Alias](https://developer.globalpayments.com/docs/payments/tokenization/payment-method-alias-guide.md). ```JSON curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 19MKWmKalkNz241ECHPH2VTpx9Uc' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "Transaction_Processing", "channel": "CNP", "type": "SALE", "amount": "4500", "currency": "USD", "reference": "56938151", "country": "US", "payment_method": { "id": "PMT_815adaf8-4f8b-43bd-934d-d9fd086897f2", "entry_mode": "ECOM", "fingerprint_mode": "ALWAYS" } }' ``` #### HPP Our Card Storage solution is designed to enhance your customers’ experience while alleviating your PCI DSS compliance requirements. We store all of the sensitive cardholder data, whereas your application or website can simply store the customer references. You can then call on the Hosted Payment Page (HPP) to allow your customer to pay with one of their saved cards. They can also update and delete their cards. It’s also possible to raise payments against stored cards using our API. This guide builds on our main [HPP Guide](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-guide.md) and focuses on how to create a payer and store a card using the Create HPP Link request. We also show you how to display stored cards to the customer in future transactions. You'll also find field definitions for additional request fields related to this process. > Card Storage is a chargeable service. If you want to add it, contact your account manager. Card Storage uses a dual-token system. Each customer is assigned a unique token reference called a *payer*. Each card saved is assigned a Payment Method reference. These references are automatically generated by us. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Create a payer and store a card To enable Card Storage on the HPP, we simply add three fields in the Create HPP Link request. We can also choose to provide the option to the customer to save their card or save it automatically. * `payer.status` = ACTIVE * `payer.id` = ID created from the Payers resource * `order.payment_method_configuration.storage_mode` = PROMPT To learn how to create a payer, see the [Payers - Guide](https://developer.globalpayments.com/docs/payments/tokenization/payers-guide.md). #### Sample request ```JSON curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7V5XtjLBHLN1h' \ --data-raw '{ "account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-549d-4967-aeea-51b3f320046a", "payer": { "status": "ACTIVE", "id": "PYR_a488356f29ac4e4c9a89977652a3215e", "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "44", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Halifax", "postal_code": "44", "country": "GB" } }, "order": { "amount": "1000", "currency": "EUR", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "GB", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD" ] }, "payment_method_configuration": { "authentication": { "preference": "CHALLENGE_PREFERRED" }, "storage_mode": "PROMPT" } }, "notifications": { "return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url" } }' ``` #### Example – Store a new card ![](/gh-assets/card-storage_store card.png) **Store New Card Example** ## Display stored cards to the customer With our payer created and a card stored, we can now use this Payer ID in future transactions to present all of the stored cards to the customer. To do this, we pass the same fields and value as before in [Create a payer and store a card](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md#create-a-payer-and-store-a-card): * `payer.status` = ACTIVE * `payer.id` = the ID of our payer * `order.payment_method_configuration.storage_mode` = PROMPT #### Sample request ```JSON curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7V5XtjLBHLN1h' \ --data-raw '{ "account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-549d-4967-aeea-51b3f320046a", "payer": { "status": "ACTIVE", "id": "PYR_a488356f29ac4e4c9a89977652a3215e", "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "44", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Halifax", "postal_code": "44", "country": "GB" } }, "order": { "amount": "1000", "currency": "EUR", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "GB", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD" ] }, "payment_method_configuration": { "authentication": { "preference": "CHALLENGE_PREFERRED" }, "storage_mode": "PROMPT" } }, "notifications": { "return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url" } }' ``` #### Example – Display cards ![](/gh-assets/card-storage_display card.png) **Display Stored Card(s) Example** ## Additional request fields | Element/Field | Category | Format | Type | Length | Description | | -------- | ------- | ------- | ------- | ------- | ------- | | payer.status | string | enum | O | | Indicates whether the payer is new or existing (active). **ACTIVE** - Payer was created and any payment methods stored with this payer are displayed on the HPP. | | payer.id | string | alphanumeric | O | 1-50 | Unique ID generated by us to reference a payer in our system. To learn how to create a payer, see the [Payers - Guide](https://developer.globalpayments.com/docs/payments/tokenization/payers-guide.md). | | order.payment_ method_configuration. storage_mode | string | enum | O | | Indicates whether to store the card as part of a transaction. Allowed values: **ALWAYS** - Card information is always stored irrespective of whether the payment method authorization was successful. **PROMPT** - Displays a checkbox on the HPP to confirm with the payer to store their card. | ## Enhance your integration Below are value-added services you can enable for the HPP. ### [Recurring Payments](https://developer.globalpayments.com/docs/payments/recurring/overview.md) Make subsequent payments easier for your customers. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md#hpp) Integrate with alternative and local payment methods. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md) Let international customers pay in their home currency. ## Payment Method Alias Source: https://developer.globalpayments.com/docs/payments/tokenization/payment-method-alias-guide.md # Payment Method Alias Merchants need more than just the ability to process both card-present and card-not-present payments. To deliver a seamless experience, the payment channels must be unified and present a full picture of the customer and their purchase data. ## What is it? Our Payment Method Alias solution enables your business to seamlessly identify customers using their method of payment across any channel by creating a link between payment-processing channels. Combined with tokenization, this enables merchants to track and store the customer’s payment details on file to connect a customer’s behavior with their payment interactions, whether they occur in-store, in-app, or online — without exposing sensitive information. Using our Payment Method Alias solution, merchants can: * Identify a customer by their card only. * Match transactions through a card to a known customer. * Link the data to existing customer profiles on the merchant’s Customer Relationship Management (CRM) system. * Provide an endless range of new commerce opportunities, including simplified refunds, loyalty incentives, verifications, and much more. ## How does it work? With our API, each time a card number (PAN) passes through for tokenization or processing, we create and store a unique non-sensitive reference for this card that is separate from the payment token. Using this alias, you can uniquely identify a card in your system, even across different processing channels (for example, in-store, online, mobile, or MOTO). This alias is used for reporting purposes only and is not required for any API requests. When the `fingerprint_mode` flag is set to either `ALWAYS` or `ON_SUCCESS` in a transaction request, the alias that is returned in the response enables additional use cases that merchants can implement (for examples, see the Payment Method Alias section in our [Card Storage Guide](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md). ## Use cases Here, we present some “real world” examples that can be enabled through our Payment Method Alias tokenization solution. Keep in mind that this section doesn’t cover all of the use cases and assumes that the merchant neither has nor wants direct access to the PAN used in the transaction. ##### Use case #1: Using card as ID (buy online, pick up in-store) A merchant who offers the ability to buy online and pick up in-store will usually require that the customer authenticate or identify themselves at the register. Using our Payment Method Alias solution, merchants can leverage a secure and robust mechanism to authenticate the purchaser by using the PAN read from the card’s (EMV) chip and matching it against the stored token from the online transaction. With a semi-integrated terminal that supports payment aliases, a merchant can request that a customer insert their card to perform an account-verification transaction (or instruct them to use a tokenization-specific function of the terminal). The alias returned in the result can then be compared with the alias stored from the online transaction to see if there’s a match. ##### Use case #2: Refund without a receipt, using card as customer lookup When a customer wants to return merchandise (whether purchased online or in-store) but doesn’t have the receipt, the merchant can look up their purchase using the customer’s card. As in the previous use case, a merchant can request that a customer insert their card into a semi-integrated terminal that supports a payment alias to perform an account-verification transaction (or instruct them to use a tokenization-specific function of the terminal). The alias returned in the result can then be compared with other aliases stored in the merchant’s database. If an alias match is found, the search then focuses on matching transaction details to find the particular merchandise. Once the item is found, the merchant can authorize a refund directly to that card without requiring the card to be reinserted if a token of the card was also stored with the transaction. ##### Use case #3: Recognize existing customers for loyalty rewards or CRM tracking When processing a transaction from a returning customer, a merchant can offer loyalty rewards or other items related to customer tracking without requiring that the customer identify themselves through other means, such as entering a phone number or scanning a barcode. When a transaction is processed, the merchant uses the alias in the result to see if the customer already has an account. If so, the merchant can add loyalty points, email a receipt, or take some other CRM-related action. If the alias doesn’t match anything in the database, the merchant can ask for additional identifying information, such as a phone number, to determine whether the card represents an existing customer using a new card or whether the customer is new. If the additional information produces a match, the merchant can add the new card alias to the existing customer’s profile; if not, they can set up a new account. ## Next steps Take a look at our [Card Storage Guide](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md), which takes you through the tokenization of a card and how to enable Payment Method Alias. ## Overview Source: https://developer.globalpayments.com/docs/payments/tokenization/network-tokenization-overview.md # Network Tokenization - Overview A network token is similar to an acquirer token in that it reduces PCI DSS scope and improves security by swapping sensitive card data (PAN) for non-sensitive data. However, network tokens are generated by the card brands such as Visa and Mastercard. Each brand maintains its own secure repository of network tokens that serve as payment credentials. So, if a customer loses their card or it’s stolen, the brand updates their token automatically without any disruption in service. With network tokens, merchants can: * Reduce declined charges due to outdated credentials * Avoid additional fees incurred using traditional tokens or PANs * Minimize involuntary drop-offs due to outdated customer card data * Employ multi-processor redundancy since network tokens are fully portable We work with the card brands to provide a Card Storage service to merchants who want to initiate transactions using network tokens. This also includes generating cryptograms, which are required for transactions that are customer initiated. ## Use cases In this section, we present some “real world” examples that can be enabled through our Network Tokens - Card Storage service. Keep in mind that this section doesn’t cover all of the use cases. ##### Use case #1: Easy migration to our payment gateway A merchant who was previously with another payment gateway provider wants to migrate all repeat payments, such as subscriptions, to our gateway. The merchant can just provide the Funding Primary Account Numbers (FPANs). We then convert the FPANs to network tokens on the merchant's behalf. Using network tokens results in higher acceptance rates and reduced involuntary drop-offs from continued repeat payments. ##### Use case #2: Automatic card management A merchant using an account updater to keep their customers’ cards up to date wants to reduce this burden as well as improve customer service. Since network tokens are managed by the card brands (like Visa or Mastercard), token updating is done automatically by them on behalf of the merchant. This results in higher acceptance rates because it reduces declined charges due to outdated credentials. Also, if a customer loses their card or it gets stolen, the card network updates the token directly so it continues to work without any service interruption, improving customer satisfaction. ##### Use case #3: Multi-provider merchant A merchant wants to use multiple gateways for fallback or redundancy purposes. This way, if one of the gateways is slow or has an outage, another provider can be used so that there’s no interruption of payment processing. Since network tokens are fully portable (unlike acquirer tokens), the merchant can use them to switch between multiple providers as needed. This can also result in greater protection of customer PCI data. ##### Use case #4: Fewer fees (US/Canada only) A merchant wants to reduce the fees they have to pay for payment processing. To help with this, the merchant decides to use network tokens because they are cheaper to operate at volume with lower interchange fees compared to standard FPANs or tokens. ## How does it work? This section provides a high-level understanding of how the network tokenization process works for both customer-initiated transactions (CITs) and merchant-initiated transactions (MITs). ### CITs The following diagrams show the typical flow for requesting a cryptogram with an existing network token for a CIT. **Generate a cryptogram with existing network token** ![Flow between the merchant, our API, and the Card Network to generate a cryptogram with an existing network token to make a CIT payment.](https://developer.globalpayments.com/gh-assets/network-token_cit-cryptogram.png) **Make a payment with a network token** ![Flow between the merchant, our API, Card Network, and the Issuer to make a CIT payment with a network token.](https://developer.globalpayments.com/gh-assets/network-token_cit-payment.png) ### MITs The following diagrams show the typical flow for generating a network token for an MIT. **Create a network token** ![Flow between the merchant, our API, the Card Network, and the issuer to create a network token for an MIT](https://developer.globalpayments.com/gh-assets/network-token_mit-create.png) **Make a payment with a network token** ![Flow between the merchant, our API, the Card Network, and the Issuer to make a CIT payment with a network token.](https://developer.globalpayments.com/gh-assets/network-token_mit-payment.png) ## Ready to get started? To get started with network tokens, see our [guide](https://developer.globalpayments.com/docs/payments/tokenization/network-tokenization-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/tokenization/network-tokenization-guide.md # Network Tokenization - Guide > Before coding this feature, please contact us to confirm it will be available to you when you go live. In this guide, you’ll learn how to create and process network tokens so that payment credentials for Visa and Mastercard customers can be kept up to date by the card brands instead. For more information on network tokens, see our [Overview](https://developer.globalpayments.com/docs/payments/tokenization/network-tokenization-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md#get-registered) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) ## Step 1: Create a Network Token The first step is to create the network token using the [Payment Methods - Tokenization](https://developer.globalpayments.com/api/payment-methods-tokenization.md#/Create/post-payment-method) resource. The field that determines whether a network token is created when creating the token is the `usage_mode` field. This needs to be set to `USE_NETWORK_TOKEN` for a network token to be created and associated with the token (`PMT_ID`). #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/payment-methods' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer LE1wnLSzvmbptrDWeEbjmw4t6Vsc' \ --header 'Content-Type: application/json' \ --data '{ "account_id": "TKA_236d5785e12a4ba380521ddfd9d4a70a", "reference": "TRANS-20221030203649423Z421b8221fc", "first_name": "James", "last_name": "Mason", "usage_mode": "USE_NETWORK_TOKEN", "fingerprint_mode": "", "card": { "number": "4622943123052970", "expiry_month": "12", "expiry_year": "25" } }' ``` #### Sample response The ID field returned in the response is the payer token to use to reference the stored card when processing payments. It begins with the three letters `PMT_`. The network token is returned in the card `network_token` field. If a network token can’t be created for a card, the following fields will **not** be returned in the response: * `network_token` * `masked_network_token_last4` * `network_token_expiry_month` * `network_token_expiry_year fields` The network token value looks the same as a card number but can only be used by you to process transactions. In this case, you can see that the actual card number in the request was _4622943123052970_ and that the corresponding network token to be used for transactions against this card is _4895370019221065_, as shown in the response. ```json { "id": "PMT_c8b43395-fb61-4698-8b59-5e16a348ceef", "time_created": "2025-02-21T11:46:09.929Z", "status": "ACTIVE", "usage_mode": "USE_NETWORK_TOKEN", "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "merchant_name": "Network Token_merchant", "account_id": "TKA_236d5785e12a4ba380521ddfd9d4a70a", "account_name": "ECOM_TKA", "reference": "TRANS-20221030203649423Z421b8221fc", "card": { "masked_number_last4": "XXXXXXXXXXXX2970", "brand": "VISA", "expiry_month": "12", "expiry_year": "25", "network_token": "4895370019221065", "masked_network_token_last4": "XXXXXXXXXXXX1065", "network_token_expiry_month": "12", "network_token_expiry_year": "30" }, "action": { "id": "ACT_YhZydEPsa3UMWj4mYB3rpSDLrUXAOh", "type": "PAYMENT_METHOD_CREATE", "time_created": "2025-02-21T11:46:09.929Z", "result_code": "SUCCESS", "app_id": "wIlGuatIHcO5xk7SHuTiMGbanC0dnzwy", "app_name": "NetworkToken_cert" } } ``` ## Step 2: Create a transaction There are three ways in which network tokens can be processed: * Merchant-initiated transaction (MIT) * Customer-initiated transaction (CIT) * Standalone one-off transaction Select the tab below to see the applicable steps. #### MIT In an MIT transaction, there are three ways to create a transaction using a network token. * [Method 1](#method-1) – Create a network token as in Step 1 and process it by sending the actual network token to us. * [Method 2](#method-2) – Create a network token as in Step 1 and process it by sending the `PMT_ID` that was returned to us, and set the `usage_mode` to `USE_NETWORK_TOKEN:` * `"usage_mode": "USE_NETWORK_TOKEN"` * [Method 3](#method-3) – Process a transaction as normal by sending the original card number but by setting the `payment_method.usage_mode` field to `USE_NETWORK_TOKEN` * For `ON_SUCCESS` storage mode ### Method 1 In this method, you create a network token as in Step 1 and process it by sending the actual network token to us. #### Sample request Note that the network token _4895370016970953_ is sent in the request. ```json { "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "account_id": "TRA_2d8a445280104ed5bfffcbf6d1292499", "type": "SALE", "channel": "CNP", "amount": "500", "currency": "GBP", "country": "US", "initiator": "MERCHANT", "stored_credential": { "model": "UNSCHEDULED", "reason": "INCREMENTAL", "sequence": "FIRST" }, "reference": "TRANS-20231012130751186Z838bc5328f", "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "MOTO", "storage_mode": "always", "card": { "network_token": "4895370016970953", "network_token_expiry_month": "12", "network_token_expiry_year": "30" } } } ``` #### Sample response ```json { "id": "TRN_2aDrTOiCUNsCwB56cF3IkOtJeMnZfU_6Z838bc5328f", "time_created": "2025-02-21T11:36:49.609Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "500", "currency": "GBP", "country": "US", "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "merchant_name": "Network Token_merchant", "account_id": "TRA_2d8a445280104ed5bfffcbf6d1292499", "account_name": "ECOM_NT", "reference": "TRANS-20231012130751186Z838bc5328f", "payment_method": { "result": "00", "message": "[ test system ] Authorised", "entry_mode": "MOTO", "card": { "masked_network_token_last4": "XXXXXXXXXXXX0953", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "nzwk4W4c8IltAD3U", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1500176", "action": { "id": "ACT_2aDrTOiCUNsCwB56cF3IkOtJeMnZfU", "type": "AUTHORIZE", "time_created": "2025-02-21T11:36:49.609Z", "result_code": "SUCCESS", "app_id": "wIlGuatIHcO5xk7SHuTiMGbanC0dnzwy", "app_name": "NetworkToken_cert" } } ``` ### Method 2 In this method, you create a network token as in Step 1, and process it by sending the `PMT_ID` that was returned to us, setting the `usage_mode` to `USE_NETWORK_TOKEN`. #### Sample request Note that the `PMT_ID` is sent in the request as opposed to the network token. ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Cookie: TS01759047=01e235508837c30bbf6a1caa7a559418e60b45d2f1e4e8c770db066961d0535ff43ae43f3206097755fe0b0bb4b6993cb3e35de3fc' \ --header 'a: m' \ --header 'Authorization: Bearer LE1wnLSzvmbptrDWeEbjmw4t6Vsc' \ --data '{ "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "account_id": "TRA_2d8a445280104ed5bfffcbf6d1292499", "type": "SALE", "channel": "CNP", "amount": "500", "currency": "GBP", "country": "US", "initiator": "MERCHANT", "stored_credential": { "model": "UNSCHEDULED", "reason": "INCREMENTAL", "sequence": "FIRST" }, "reference": "TRANS-20231012130751186Z838bc5328f", "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "MOTO", "usage_mode": "USE_NETWORK_TOKEN", "id": "PMT_8a69a8ba-cd69-4137-8aa3-f5354914bd34" } }' ``` #### Sample response Note that the transaction was processed with a network token as the `masked_network_token_last4` field was returned in the response as opposed to the `masked_number_last4` field that would be returned if the actual card number was used. ```json { "id": "TRN_aNcpI8o8Cg9NVIVy3Jx6WlBpdmyHDf_6Z838bc5328f", "time_created": "2025-02-21T11:58:39.857Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "500", "currency": "GBP", "country": "US", "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "merchant_name": "Network Token_merchant", "account_id": "TRA_2d8a445280104ed5bfffcbf6d1292499", "account_name": "ECOM_NT", "reference": "TRANS-20231012130751186Z838bc5328f", "payment_method": { "result": "00", "message": "[ test system ] ", "entry_mode": "MOTO", "card": { "masked_network_token_last4": "XXXXXXXXXXXX1065", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "XSPCEnJK54uEAF5x", "brand_time_created": "", "tag_response": "", "cvv_result": "NOT_CHECKED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1500176", "action": { "id": "ACT_aNcpI8o8Cg9NVIVy3Jx6WlBpdmyHDf", "type": "AUTHORIZE", "time_created": "2025-02-21T11:58:39.857Z", "result_code": "SUCCESS", "app_id": "wIlGuatIHcO5xk7SHuTiMGbanC0dnzwy", "app_name": "NetworkToken_cert" } } ``` ### Method 3 In this method, you process a transaction as normal by sending the original card number but by setting the `payment_method.usage_mode` field to `USE_NETWORK_TOKEN` (for `ON_SUCCESS` storage mode). #### Sample request In this example, you send a card number to us, and we process the transaction as a network token. ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Cookie: TS01759047=01e235508837c30bbf6a1caa7a559418e60b45d2f1e4e8c770db066961d0535ff43ae43f3206097755fe0b0bb4b6993cb3e35de3fc' \ --header 'a: m' \ --header 'Authorization: Bearer LE1wnLSzvmbptrDWeEbjmw4t6Vsc' \ --data-raw '{ "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "account_id": "TRA_2d8a445280104ed5bfffcbf6d1292499", "type": "SALE", "channel": "CNP", "amount": "500", "currency": "GBP", "gratuity_amount": "50", "tax_amount": "50", "user_reference": "TA1215", "country": "US", "initiator": "MERCHANT", "stored_credential": { "model": "UNSCHEDULED", "reason": "INCREMENTAL", "sequence": "FIRST" }, "capture_mode": "AUTO", "reference": "TRANS-20231012130751186Z838bc5328f", "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "MOTO", "usage_mode": "USE_NETWORK_TOKEN", "card": { "cvv": "999", "brand": "VISA", "number": "4622943123052970", "expiry_month": "12", "expiry_year": "25" } }, "order": { "reference": "-.,+@", "shipping_address": { "first_name": "", "last_name": "" }, "items": [ { "reference": "Bag1", "label": "aa", "description": "aa", "quantity": "1", "unit_amount": "3000", "unit_currency": "EUR", "tax_amount": "750" }, { "label": "ab", "description": "ab", "quantity": "1", "unit_amount": "6000", "unit_currency": "EUR", "tax_amount": "750" } ] }, "description": "description" }' ``` #### Sample response ```json { "id": "TRN_ujjnZCfiaVzXiUQkopx1NnhYgoJvF5_6Z838bc5328f", "time_created": "2025-02-27T09:48:52.655Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "500", "currency": "GBP", "country": "US", "merchant_id": "MER_5f596365bf7646efafc3f86e299ad25d", "merchant_name": "Network Token_merchant", "account_id": "TRA_2d8a445280104ed5bfffcbf6d1292499", "account_name": "ECOM_NT", "reference": "TRANS-20231012130751186Z838bc5328f", "payment_method": { "result": "00", "message": "[ test system ] ", "entry_mode": "MOTO", "card": {F "masked_network_token_last4": "XXXXXXXXXXXX1065", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "QKi3wnEXQicOdXyR", "brand_time_created": "", "cvv_result": "NOT_CHECKED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1502599", "action": { "id": "ACT_ujjnZCfiaVzXiUQkopx1NnhYgoJvF5", "type": "AUTHORIZE", "time_created": "2025-02-27T09:48:52.655Z", "result_code": "SUCCESS", "app_id": "wIlGuatIHcO5xk7SHuTiMGbanC0dnzwy", "app_name": "NetworkToken_cert" } } ``` #### CIT There are 3 ways in which you can create a Customer Initiated Transaction (CIT) using Network Tokens * [Method 1](#cit-method-1) \- Create a network token and then create a cryptogram and process it by sending the actual network token and cryptogram to Global Payments and the initiator as “PAYER” * [Method 2](#cit-method-2) \- Create a Network Token and process it by sending the `PMT_ID` that was returned along with the usage mode being set to `USE_NETWORK_TOKEN` * `"usage_mode": "USE_NETWORK_TOKEN ` * `"initiator": "PAYER"` * [Method 3](#cit-method-3) \- Process a transaction by sending the original card number but by setting the payment_method.usage_mode field to `USE_NETWORK_TOKEN` and `"initiator": "PAYER"`, * `"usage_mode": "USE_NETWORK_TOKEN` * `"initiator": "PAYER"` ### CIT Method 1 In this method, you will create a Network Token, then create a cryptogram and process it by sending us the actual Network Token and Cryptogram with the initiator set as ": "PAYER", You can either create a Network Token as outlined above or you can use an existing Network Token that you have on file. Next, create a cryptogram to send alongside the Network Token in the transaction. This can be done in two ways: 1. Create a Cryptogram using the Network Token obtained in the initial step The key fields in the request here are the amount that the transaction will ultimately be processed for and the Network Token. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/payment-methods/cryptogram' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --header 'Authorization: ••••••' \ --data '{ "transaction": { "amount": "1000" }, "card": { "network_token": "4895370019221065" } }' ``` #### Sample response The cryptogram and cryptogram expiry date along with the eci will be returned in the response. These values can be sent in the authorization request. ```json { "time_created": "2025-05-26T09:50:11.329Z", "merchant_id": "MER_e997bf482fb84e5aac2eee2cd33fdfe9", "merchant_name": "CERTEservice_Standalone", "account_id": "TKA_a9e31752c52f47b395b943cf6558fb34", "account_name": "Eservice_TKA_01", "transaction": { "amount": "1000" }, "card": { "cryptogram": "AwAAAAAAeSQRtbsAAABMgpIAAAA=", "cryptogram_expiry_month": "12", "cryptogram_expiry_year": "30", "eci": "07", "masked_network_token_last4": "XXXXXXXXXXXX1065" }, "action": { "id": "ACT_QLCoKoiESyw1yC4FaUYHEuInx1tREW", "type": "CRYPTOGRAM_CREATE", "time_created": "2025-05-26T09:50:11.329Z", "result_code": "SUCCESS", "app_id": "LyFIeClnIpPwgn4SRuFNHiXVOTdyQkir", "app_name": "CERTEservice_Standalone" } } ``` 2. Create a cryptogram using the `PMT_ID` generated while creating the Network Token. Here the key field required will be the transaction amount. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/payment-methods/PMT_8a69a8ba-cd69-4137-8aa3-f5354914bd34/cryptogram' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --header 'Authorization: ••••••' \ --data '{ "transaction": { "amount": "1000" } }' ``` #### Sample response The cryptogram and cryptogram expiry date along with the eci will be returned in the response. These values can be sent in the authorization request. ```json { "time_created": "2025-05-26T09:50:11.329Z", "merchant_id": "MER_e997bf482fb84e5aac2eee2cd33fdfe9", "merchant_name": "CERTEservice_Standalone", "account_id": "TKA_a9e31752c52f47b395b943cf6558fb34", "account_name": "Eservice_TKA_01", "transaction": { "amount": "1000" }, "card": { "cryptogram": "AwAAAAAAeSQRtbsAAABMgpIAAAA=", "cryptogram_expiry_month": "12", "cryptogram_expiry_year": "30", "eci": "07", "masked_network_token_last4": "XXXXXXXXXXXX1065" }, "action": { "id": "ACT_QLCoKoiESyw1yC4FaUYHEuInx1tREW", "type": "CRYPTOGRAM_CREATE", "time_created": "2025-05-26T09:50:11.329Z", "result_code": "SUCCESS", "app_id": "LyFIeClnIpPwgn4SRuFNHiXVOTdyQkir", "app_name": "CERTEservice_Standalone" } } ``` Next, send the Network Token and Cryptogram in the authorization request and set the Initiator as PAYER. **Note** : You can also just send the Network Token and set the initiator to PAYER. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Authorization: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-type: application/json' \ --header 'Accept: application/json' \ --data '{ "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "amount": "1999", "currency": "EUR", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "DE", "initiator": "PAYER", "stored_credential": { "model": "RECURRING", "reason": "INCREMENTAL", "sequence": "SUBSEQUENT" }, "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "authentication": { "id": "AUT_d455464a-115c-46b7-9622-6829e0326e23" }, "card": { "cryptogram": "AwAAAAABpS+FG8EAAABMgz0AAAA=", "eci": "07", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "network_token": "4895370019013736", "avs_address": "Flat 123", "avs_postal_code": "50001" } } }' ``` #### Sample response ```json { "id": "TRN_ped48TsfETw13y9iMyCBTalm2B2cfi_ca0584bb55bf", "time_created": "2025-11-13T21:09:42.548Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "DE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "payment_method": { "result": "00", "message": "(00)[ test system ] ", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "masked_network_token_last4": "XXXXXXXXXXXX3736", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "gSvbfdFUe04KZRPh", "brand_time_created": "", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1605993", "action": { "id": "ACT_ped48TsfETw13y9iMyCBTalm2B2cfi", "type": "AUTHORIZE", "time_created": "2025-11-13T21:09:42.548Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } ``` ### CIT Method 2 Create a Network Token as in Method 1 and process it by sending the PMT_ID that was returned along with the usage mode being set to `USE_NETWORK_TOKEN` (`"usage_mode": "USE_NETWORK_TOKEN"`,) and `"initiator": "PAYER"`. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Authorization: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-type: application/json' \ --header 'Accept: application/json' \ --data '{ "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "amount": "1999", "currency": "EUR", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "DE", "initiator": "PAYER", "stored_credential": { "model": "RECURRING", "reason": "INCREMENTAL", "sequence": "SUBSEQUENT" }, "payment_method": { "id":"PMT_563277b7-277a-4795-955a-20a4af885026", "usage_mode": "USE_NETWORK_TOKEN", "name": "James Mason", "entry_mode": "ECOM", "authentication": { "id": "AUT_d455464a-115c-46b7-9622-6829e0326e23" } } }' ``` #### Sample response ```json { "id": "TRN_WIZXVVTxGFWH8XciwiUVXh7Nv2PM1M_ca0584bb55bf", "time_created": "2025-11-13T21:15:08.645Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "DE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "payment_method": { "result": "00", "message": "(00)[ test system ] ", "entry_mode": "ECOM", "id": "PMT_563277b7-277a-4795-955a-20a4af885026", "authentication": { "cavv_result": "" }, "card": { "masked_network_token_last4": "XXXXXXXXXXXX3736", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "rSge6JWMgABayMRd", "brand_time_created": "", "tag_response": "", "cvv_result": "NOT_CHECKED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1605993", "action": { "id": "ACT_WIZXVVTxGFWH8XciwiUVXh7Nv2PM1M", "type": "AUTHORIZE", "time_created": "2025-11-13T21:15:08.645Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } } ``` ### CIT Method 3 Process a transaction by sending the original card number but by setting the `payment_method.usage_mode` field to `USE_NETWORK_TOKEN` and `"initiator": "PAYER"`, #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Authorization: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-type: application/json' \ --header 'Accept: application/json' \ --data '{ "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "amount": "1999", "currency": "EUR", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "DE", "initiator":"PAYER", "stored_credential": { "model": "RECURRING", "reason": "INCREMENTAL", "sequence": "SUBSEQUENT" }, "payment_method": { "usage_mode": "USE_NETWORK_TOKEN", "storage_mode": "ON_SUCCESS", "name": "James Mason", "entry_mode": "ECOM", "authentication": { "id": "AUT_d455464a-115c-46b7-9622-6829e0326e23" }, "card": { "number": "4622943123052970", "expiry_month": "12", "expiry_year": "30", "cvv": "852", "cvv_indicator": "PRESENT", "avs_address": "Flat 123", "avs_postal_code": "50001" } } }' ``` #### Sample response ```json { "id": "TRN_2nKXXuU0oMHAU4B2spA59Yp0GTTYNd_ca0584bb55bf", "time_created": "2025-11-13T21:28:29.185Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "DE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "payment_method": { "result": "00", "message": "(00)[ test system ] ", "entry_mode": "ECOM", "id": "PMT_317adb77-421b-4325-aaee-b381f0774b6f", "authentication": { "cavv_result": "" }, "card": { "masked_network_token_last4": "XXXXXXXXXXXX3736", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "C3I8SsJDDTXkxIFa", "brand_time_created": "", "cvv_result": "NOT_CHECKED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1605993", "action": { "id": "ACT_2nKXXuU0oMHAU4B2spA59Yp0GTTYNd", "type": "AUTHORIZE", "time_created": "2025-11-13T21:28:29.185Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } } ``` #### Standalone Network Tokens can also be used in on-off or standalone transactions. This can be done by using any of the various methods highlighted above to generate the network token and authorize the transaction. The main difference here is that the initiator and stored credentials block is not sent in the request, thereby indicating a standalone transaction. Below is one of the methods of sending a network token in a standalone transaction. #### Sample request ```json curl \--location 'https://apis.sandbox.globalpay.com/ucp/transactions' \\ \--header 'Authorization: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb' \\ \--header 'X-GP-Version: 2021-03-22' \\ \--header 'Content-type: application/json' \\ \--header 'Accept: application/json' \\ \--data '{ "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": { "network_token": "4895370019013736", "network_token_expiry_month": "12", "network_token_expiry_year": "30" } } }' ``` ### Sample response ```json { "id": "TRN_2nKXXuU0oMHAU4B2spA59Yp0GTTYNd_ca0584bb55bf", "time_created": "2025-11-13T21:28:29.185Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "DE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "payment_method": { "result": "00", "message": "(00)[ test system ] ", "entry_mode": "ECOM", "id": "PMT_317adb77-421b-4325-aaee-b381f0774b6f", "authentication": { "cavv_result": "" }, "card": { "masked_network_token_last4": "XXXXXXXXXXXX3736", "network_token_expiry_month": "12", "network_token_expiry_year": "30", "brand": "VISA", "masked_number_last4": "", "authcode": "123456", "brand_reference": "C3I8SsJDDTXkxIFa", "brand_time_created": "", "cvv_result": "NOT_CHECKED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "BAT_1605993", "action": { "id": "ACT_2nKXXuU0oMHAU4B2spA59Yp0GTTYNd", "type": "AUTHORIZE", "time_created": "2025-11-13T21:28:29.185Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } } ``` ## Integration references To get a deeper understanding of this product, we’ve provided some references for both API and SDK integrations. ### [API /payment-methods](https://developer.globalpayments.com/api/payment-methods-tokenization.md#/Create/post-payment-method) Create a payment method. ### [SDKs](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Integrate via our Java, PHP, or .NET SDKs. ## Testing Our Network Tokenization solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards - Network Tokens](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#network-tokens---css) Test different transaction outcomes with our test cards for this solution. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Below are value-added services you can enable for your integration. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md#api) Tokenize card details to charge customers later. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md#hpp) Integrate with alternative and local payment methods. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md#hpp) Let international customers pay in their home currency. ## Overview Source: https://developer.globalpayments.com/docs/payments/tokenization/payers-overview.md # Payers - Overview With our Payers solution, you can store customer details such as name, billing address, shipping address, and payment methods. This information can then be used for subsequent actions like transaction processing. We handle the storage of all personal identifiable information (PII) on our system, so you don’t need to worry about keeping payer data secure. With Payers, you can: * Store multiple payment tokens for a single payer. * Charge a payer for one-time and recurring transactions. * Specify which stored card the customer wants to use as the default. ## Use cases In this section, we present some “real world” examples that can be enabled through our Payers solution. Keep in mind that this section doesn’t cover all use cases. ##### Use case #1: Penalties and late fees A merchant who lends products to their customers wants to charge them a penalty if the products aren’t returned. The merchant can initially create a payer to store the customer’s details and make a charge to that payer if they miss the deadline to return the products. ##### Use case #2: Multiple payment options An online marketplace allows their customers to create a profile where they can add multiple payment cards and select a default for their purchases. Payers can be used here to store multiple cards for each payer and define which payment card to be used as a default for subsequent transactions. ##### Use case #3: Subscriptions A video streaming platform that offers a subscription service and has recurring charges against their customers can use the Payers feature to store their customers details and initiate recurring payments against the payer. ## How does it work? Once you’re set up to use our Payers solution, you can start creating your payers. To store cards for a payer, you can use our [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) capability to tokenize payment cards. Tokenized cards can then be stored alongside a payer and used for subsequent transactions. At a high level, creating a payer works like this: ![Diagram flow showing interaction between the customer, merchant, and our API to create a payer.}.](https://developer.globalpayments.com/gh-assets/payers_flow.png) **Payers Typical Flow** ## Next steps To get familiar with how Payers work, see our below guide. ### [Payers Guide](https://developer.globalpayments.com/docs/payments/tokenization/payers-guide.md) Learn how to store customer details for future use. ## Guide Source: https://developer.globalpayments.com/docs/payments/tokenization/payers-guide.md # Payers - Guide In this guide, you’ll learn how to create and edit a payer, as well as make a charge to a payer. For more information on our Payers solution, see our [Overview](https://developer.globalpayments.com/docs/payments/tokenization/payers-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Create a payer We provide two ways to create a payer. * **Create a token first** – Use if you’ve already tokenized a customer’s payment methods and you just need to establish them as a payer on our system and associate their payment tokens. * **Create a payer first** – Use if you haven’t already tokenized a customer’s payment methods. Steps include creating a payer on our system, tokenizing a customer’s payment method, and then associating the payment token to the payer. #### Create a token first ### Create a token first This step assumes that you’ve already tokenized your customer’s payment methods and you just need to create a payer and associate those payment tokens with the other payer information. For information on tokenizing payment cards, see [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md). To create a payer on our system, you need to send a request. This will establish the relevant payer information and return a unique payer identifier (`PYR_ID`) in the response. While creating a payer, you can specify which payment card should be used as the default. #### Sample request ```JSON { "first_name": "John", "last_name": "James", "reference": "payer-123", "payment_methods": [ { "id": "PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "default": "YES" } ] } ``` #### Sample response ```JSON { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "time_created": "2021-05-03T21:23:39.718Z", "time_last_updated": "2021-05-03T21:23:39.718Z", "merchant_id": "MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "merchant_name": "merchant_1", "account_id": "TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "account_name": "Tokenization", "first_name": "John", "last_name": "James", "reference": "payer-123", "payment_methods": [ { "id": "PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "default": "YES" } ], "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "PAYER_CREATE", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ``` #### Create a payer first ### Create a payer first These steps assume that you haven’t already tokenized your customer’s payment methods and need to do so, but you want to create a payer first. ### Create a payer First, we create a payer on our system. #### Sample request ```JSON { "first_name": "John", "last_name": "James", "reference": "payer-123" } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Token = "PMT_7554986a-1e77-4c75-a80f-5889d0621c13" }; Customer newCustomer = new Customer { Key = "payer-123", FirstName = "John", LastName = "James" }; try { newCustomer.AddPaymentMethod(card.Token, card); Customer payer = newCustomer.Create(); // API raw response "id" var payerId = payer.Id; // API raw response "reference" var payerRef = payer.Key; //API raw response "first_name" var payerFirstName = payer.FirstName; //API raw response "last_name" var payerLastName = payer.LastName; //API raw response "payment_methods" var paymentMethods = payer.PaymentMethods; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```PHP $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->token = "PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW"; $newCustomer = new Customer(); $newCustomer->key = 'payer-123'; $newCustomer->firstName = "John"; $newCustomer->lastName = "James"; try { $newCustomer->addPaymentMethod($tokenizeResponse->token, $card); /** @var \GlobalPayments\Api\Entities\Customer $payer */ $payer = $newCustomer->create(); } catch (GatewayException $ex){ // TODO: Add your exception handling here } $payerId = $payer->id; // API raw response "id" $payerRef = $payer->key; // API raw response "reference" $payerFirstName = $payer->firstName; //API raw response "first_name" $payerLastName = $payer->lastName; //API raw response "last_name" $paymentMethods = $payer->paymentMethods; //API raw response "payment_methods" ``` #### Sample response ```JSON { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "time_created": "2021-05-03T21:23:39.718Z", "time_last_updated": "2021-05-03T21:23:39.718Z", "merchant_id": "MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "merchant_name": "merchant_1", "account_id": "TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "account_name": "Tokenization", "first_name": "John", "last_name": "James", "reference": "string", "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "PAYER_CREATE", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ``` ### Create a token and assign it to a payer Next, we tokenize the customer’s payment method and then associate the payment token to the payer. #### Sample request ```JSON { "account_name": "Tokenization", "reference": "CustABC_Card_1", "usage_mode": "SINGLE", "fingerprint_mode": "ALWAYS", "name": "John's payment method", "payer": { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW" }, "card": { "number": "4263970000005262", "expiry_month": "05", "expiry_year": "25", "cvv": "852" } } ``` #### Sample response ```JSON { "id": "PMT_31087d9c-e68c-4389-9f13-39378e166ea5", "time_created": "2021-05-03T21:23:39.718Z", "status": "ACTIVE", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_86920f927028745yt34d077d88beb29b", "account_name": "Tokenization", "fingerprint_presence_indicator": "NEW", "fingerprint": "string", "reference": "CustABC_Card_1", "usage_mode": "SINGLE", "name": "John's payment method", "payer": { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW" }, "card": { "masked_number_last4": "string", "expiry_month": "05", "expiry_year": "25", "brand": "VISA", "network_token": "string", "masked_network_token_last4": "string", "network_token_expiry_month": "05", "network_token_expiry_year": "25" }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "PAYMENT_METHOD_CREATE", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ``` > Whether you decide to create a token first or create a payer first in Step 1, Step 2, testing and enhancements below are the same for the Payer capability. ## Step 2: Edit a payer You can edit a payer, which allows you to update their details and add or remove stored cards. For more information, see [Payers](https://developer.globalpayments.com/api/payers.md) in the API Explorer. #### Sample request ```JSON { "payment_methods": [ { "id": "PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "default": "NO" }, { "id": "PMT_CHnAH6BClraQWS3Qy07dh7tZAN3X2nW", "default": "YES" } ] } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST }; ServicesContainer.ConfigureService(config); Customer newCustomer = new Customer { Key = "payer-123", Id = "PYR_f29f4f6981114f4ab4a96bd813615e79" }; try { newCustomer.AddPaymentMethod("PMT_7554986a-1e77-4c75-a80f-5889d0621c13", new CreditCardData { Token = "PMT_7554986a-1e77-4c75-a80f-5889d0621c13" }); newCustomer.AddPaymentMethod("PMT_60aac707-e04d-4998-a1c8-1f5b759be389", new CreditCardData { Token = "PMT_60aac707-e04d-4998-a1c8-1f5b759be389" }); Customer payer = newCustomer.SaveChanges(); // API raw response "id" var payerId = payer.Id; // API raw response "reference" var payerRef = payer.Key; //API raw response "first_name" var payerFirstName = payer.FirstName; //API raw response "last_name" var payerLastName = payer.LastName; //API raw response "payment_methods" var paymentMethods = payer.PaymentMethods; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $newCustomer = new Customer(); $newCustomer->id = "PYR_f29f4f6981114f4ab4a96bd813615e79"; $newCustomer->key = "payer-123"; $card1 = new CreditCardData(); $card1->token = "PMT_60aac707-e04d-4998-a1c8-1f5b759be389"; $newCustomer->addPaymentMethod($card1->token, $card1); $card2 = new CreditCardData(); $card2->token = 'PMT_7554986a-1e77-4c75-a80f-5889d0621c13'; $newCustomer->addPaymentMethod($card1->token, $card2); try { $newCustomer->addPaymentMethod($card1->token, $card1); $newCustomer->addPaymentMethod($card2->token, $card2); /** @var Customer $payer */ $payer = $newCustomer->saveChanges(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "id" $payerId = $payer->id; // API raw response "reference" $payerRef = $payer->key; //API raw response "first_name" $payerFirstName = $payer->firstName; //API raw response "last_name" $payerLastName = $payer->lastName; //API raw response "payment_methods" $paymentMethods = $payer->paymentMethods; ``` ### Sample response ```JSON { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "time_created": "2021-05-03T21:23:39.718Z", "time_last_updated": "2021-05-03T21:23:39.718Z", "merchant_id": "MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "merchant_name": "merchant_1", "account_id": "TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "account_name": "Tokenization", "first_name": "John", "last_name": "James", "reference": "payer-123", "payment_methods": [ { "id": "PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW", "default": "NO" }, { "id": "PMT_CHnAH6BClraQWS3Qy07dh7tZAN3X2nW", "default": "YES" } ], "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "PAYER_EDIT", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } ``` ## Step 3: Charge a payer Once you’ve created a payer, you can use the returned unique identifier (`PYR_ID`) to charge the payer. This request uses the default payment method stored for a payer to authorize the transaction. Or, you can use a new payment method. #### Sample request ```JSON { "account_name": "transaction_processing", "type": "SALE", "channel": "CNP", "country": "US", "capture_mode": "AUTO", "amount": "100", "currency": "USD", "payer": { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW" }, "payment_method": { "entry_mode": "ECOM" } } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST }; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); try { Transaction response = card.Charge(1m) .WithCurrency("USD") .WithCustomerId("PYR_f29f4f6981114f4ab4a96bd813615e79") .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; //API raw response key "batch_id" var batchId = response.BatchSummary.BatchReference; //API raw response key "payment_method->card->avs_postal_code_result" var avsResponseCode = response.AvsResponseCode; //API raw response key "payment_method->card->avs_address_result" var avsAddressResponse = response.AvsAddressResponse; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseCode; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; // capture_mode === 'MULTIPLE' var multiCapture = response.MultiCapture; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "risk_assessment->mode" var fraudResponseMode = response.FraudFilterResponse.FraudResponseMode; //API raw response key "risk_assessment->result" var fraudResponseResult = response.FraudFilterResponse.FraudResponseResult; //API raw response key "risk_assessment->rules" var fraudResponseRules = response.FraudFilterResponse.FraudResponseRules; //API raw response key "payment_method->card->brand_reference" var brandReference = response.CardBrandTransactionId; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; //API raw response key "payment_method->card->provider->cvv_result" var cardIssuerCvv = response.CardIssuerResponse.CvvResult; //API raw response key "payment_method->card->provider->avs_address_result" var cardIssuerAvsAddressResult = response.CardIssuerResponse.AvsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" var cardIssuerAvsPostalCodeResult = response.CardIssuerResponse.AvsPostalCodeResult; //API raw response key "payer->id" var payerId = response.PayerDetails.Id; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); try { $response = $card->charge(1) ->withCurrency("USD") ->withCustomerId('PYR_f29f4f6981114f4ab4a96bd813615e79') ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response key "id" $transactionId = $response->transactionId; // API raw response key "amount" $amount = $response->authorizedAmount; //API raw response key "batch_id" $batchId = $response->batchSummary->batchReference; //API raw response key "type" $transactionType = $response->originalTransactionType; //API raw response key "payment_method->card->avs_postal_code_result" $avsResponseCode = $response->avsResponseCode; //API raw response key "payment_method->card->->avs_address_result" $avsAddressResponse = $response->avsAddressResponse; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; // capture_mode === 'MULTIPLE' $multiCapture = $response->multiCapture; // API raw response key "reference" $referenceNumber = $response->referenceNumber; // API raw response key "action->result_code" $responseCode = $response->responseCode; // API raw response key "status" $transactionStatus = $response->responseMessage; // API raw response key "time_created" $timeCreated = $response->timestamp; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; //API raw response key "payer->id" $payerId = $response->payerDetails->id; ``` ### Sample response ```JSON { "id": "TRN_7WxrYwWH0xCFZOh2BiK8UG3NDKeDot_67708081", "time_created": "2024-03-19T01:52:30.848Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "USD", "country": "US", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "67708081", "payer": { "id": "PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW" }, "payment_method": { "result": "00", "message": "(00)[ test system ] Authorised", "entry_mode": "ECOM", "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX4242", "authcode": "123456", "brand_reference": "EgS4QRX08g1QT0sF", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "risk_assessment": [ { "mode": "ACTIVE", "result": "ACCEPTED", "rules": [ { "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd", "description": "Cardholder Name Rule", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3", "description": "CardNumber block", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e", "description": "Amount test", "mode": "ACTIVE", "result": "ACCEPTED" } ] } ], "batch_id": "BAT_1369395", "action": { "id": "ACT_7WxrYwWH0xCFZOh2BiK8UG3NDKeDot", "type": "AUTHORIZE", "time_created": "2024-03-19T01:52:30.848Z", "result_code": "SUCCESS", "app_id": "rAprmx5lKNheCe5T1LKYjdNiCPLOi0bG", "app_name": "payers_test" } } ``` ## Testing Payers Our Payers solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Payment Methods Source: https://developer.globalpayments.com/docs/payments/payment-methods/overview.md # Payment Methods - Overview ### [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) Store customer information in an app or browser for quick payments anywhere. ### [Buy Now Pay Later](https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-overview.md) Allow customers to repay the cost of their purchase over time instead of all at once. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) Accept transactions from a number of worldwide local and alternative payment methods. ### [QR Code Payments](https://developer.globalpayments.com/docs/payments/payment-methods/qr-codes-overview.md) Let customers use Alipay and WeChat Pay for payments. ### [Open Banking](https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-overview.md) Allow customers to pay for goods and services directly from their bank account. ### [Bank Payments](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/cz-overview.md) Allow customers to pay for goods and services directly from their bank account. ### [PayPal](https://developer.globalpayments.com/docs/payments/payment-methods/paypal-overview.md) Let customers use PayPal for quick payments in-person, online, or on a mobile device. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md) Offer international travelers the option to pay in their own currency. ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md # Digital Wallets - Overview We offer merchants several ways to integrate digital wallets into their application or website to make the checkout experience secure, fast, and convenient. ## What is it? Digital wallets can store a customer’s payment and personal information on an app or browser for quick payments in-person, online, or on a mobile device. Customers pay securely with just a scan, tap, or click. The benefits of having digital wallets in your ecommerce store include: * _A seamless customer experience with minimal friction_ – Digital wallets are easy to use and access from any device. And they make paying fast. * _Enhanced security_ – Digital wallets use tokenization, which protects sensitive card data by replacing it with secure substitute data called a _token_. * _Better authorization rates_ – Replacing sensitive card data reduces the risk associated with ecommerce transactions and can increase authorization rates as a result. * _Faster online checkouts_ – When customers pay with their digital wallets, they pay directly in a couple of clicks, with no need to re-enter their credit card information online. For information on alternative or local digital wallets, see our [Supported Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/supported-payment-methods) page and filter by _Digital Wallets_. ## Next steps Our guides below provide steps for integrating using our REST API directly or by using one of the ready-made payment forms we offer such as Drop-In UI (used with Hosted Fields) or Hosted Payment Page. ### [Apple Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md) Provide an instant payment experience for users to securely store their card details on a Secure Element built into their Apple product. ### [Google Pay](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/google-pay.md) Allow customers to use the details they store on other Google apps such as Play Store, YouTube, and Chrome web browser. ### [Decrypted Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/decrypted-wallets.md) Gain more control over which stored cards customers use by viewing card details before submitting the transaction. ## Apple Pay Source: https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/apple-pay.md # Apple Pay Integration Guide ## **Introduction to Apple Pay** Apple Pay is a digital wallet service that allows cardholders to store payment cards securely on their Apple devices and make transactions. Apple Pay leverages the device’s secure hardware and tokenization standards defined by the card schemes to replace the actual Primary Account Number (PAN) with a device-specific token. From a payments perspective, Apple Pay enables: * **Card Provisioning** – Issuers and acquirers work with the schemes to provision cards into the wallet through a certified process. * **Transaction Security** – Each payment uses a dynamic cryptogram and device-specific credentials, ensuring sensitive data is never exposed to merchants. * **Merchant Acceptance** – For merchants, Apple Wallet transactions are processed like any other card-present or card-not-present transaction, with no change to settlement flows. Apple Pay supports both **in-store** transactions (via NFC contactless) and **in-app/web** transactions (via Apple Pay APIs). For acquirers, gateways, and merchants, integration ensures compliance with scheme and Apple requirements while delivering a frictionless checkout experience to cardholders. #### API ## Learn how to integrate with Apple Pay This document covers the **end-to-end Apple Pay integration process** for merchants using the **Global Payments API**. It explains what the required certificates are, why they're needed, and what to do with them at each step. ## Overview of the integration flow | Phase | Purpose | | ----- | ----- | | 1. Create merchant ID | Apple Developer Portal setup | | 2. Provision certificates | Merchant identity & payment processing certifications | | 3. Host verification file | Domain verification required by Apple | | 4. Backend session validation | Authenticate with Apple via your certificate & key | | 5. Token handling | Global Payments decrypts the Apple Pay token | ## Recommended structure for merchant IDs and certificates To ensure safe, isolated testing and production operation, merchants should adopt the following structure: * **Use distinct merchant IDs (MIDs)**: Use one MID for the Sandbox (testing environment) and another for production (live transactions). * **Assign separate payment processing certificates for each MID**: This ensures that a certificate used in the sandbox cannot accidentally impact production. * **Create additional MIDs for testing variants (optional)**: For example, create one MID for 3DS testing, one for wallets only, and so forth. This is recommended for testing under different configurations without affecting baseline flows. ## Step 1. Apple Pay merchant ID setup A) Log into your [Apple Developer account](https://urldefense.proofpoint.com/v2/url?u=https-3A__developer.apple.com_account_resources_identifiers_list_merchant&d=DwMFaQ&c=zQ6tLaF7dShu6emFdFLQLeh4ApIjUVDHmN_RmdGFa9g&r=dIAaiHDPGVYJ-RItKqCqRmU_u0JUhwHPq7blqeZINjE&m=RotlfAVCB3Py5J7IYikOCgSlAM-G0DkUTaLbp0xBmWS__PC1pPo5PIcWN0Z90mf2&s=TQ2x-zjJvsZnHCVZPMppGCDeU13MgfX_sOrtE874vtc&e=) and click on the **Identifiers** tab on the top-right corner. B) Click the plus icon "**+**" to add a new Apple Pay merchant ID. C) Use the following format: `merchant.com.yourbrand`. D) **Save this ID**. It will be referenced in certificates and needed for session validation. ## Step 2. Provision the required certificates ### 2.1. Merchant identity certificate (for session validation) The merchant identity certificate is necessary to validate Apple Pay sessions in Safari/iOS. A) Provision the Merchant Identity Certificate: ```shell openssl genrsa -out merchant_id.key 2048 openssl req -new -key merchant_id.key -out merchant_id.csr \ -subj "/CN=Apple Pay Merchant ID: merchant.com.yourbrand" ``` B) Log into your Apple Developer account, click on **Certificates** and then **Merchant Identity Certificate** to upload the Certificate Signing Request (CSR) C) Download the resulting `merchant_id.cer`. D) Use the OpenSSL code below to convert the merchant ID certificate to **.pem** file format. This is necessary because Apple Pay’s default **.cer** file format cannot typically be read by other systems and can create issues. ```javascript openssl x509 -in merchant_id.cer -inform DER -out merchant_id.pem -outform PEM ``` Below, there are two additional, optional steps that you can use if needed. Once you complete Step 1 and 2.1, you’ll have the keys necessary for your backend Apple Pay session validations. > Keep these secure. They are used only for backend Apple Pay session validation. #### Create a combined file (Optional) While merchant setup is outside of the scope of Global Payments' API, if your backend requires a combined file, you can use the following step to create it. ```shell cat merchant_id.pem merchant_id.key > merchant_combined.pem ``` #### Check your **.key** and **.pem** combination (Optional) This is an optional step that allows you to ensure you’re using the right **.key** and **.pem** combination. They should match: * `openssl rsa -noout -modulus -in merchant_id.key | openssl md5` * `openssl x509 -noout -modulus -in merchant_id.pem | openssl md5` Both returned values should be identical. ### 2.2. Payment processing certificate (for token encryption) Apple Pay requires a payment processing certificate to encrypt the payment token. The certificate owner then uses the same certificate to decrypt the payment token and process the transaction. There are two options for handling decryption. #### Option 1. Global Payments is handling decryption and generates CSR (preferred) With this option, Global Payments generates the CSR and stores the related private key. A) Log in to Realcontrol in [Sandbox](https://realcontrol.sandbox.realexpayments.com/) or [Production](https://realcontrol.realexpayments.com/). B) On the **Client Settings** tab, navigate to the **Apple Pay** section. Click the **Obtain CSR** button to generate and download a new certificate. Note that generating one CSR per client is recommended. C) Log into your [Apple Developer Account](https://urldefense.proofpoint.com/v2/url?u=https-3A__developer.apple.com_account_resources_identifiers_list_merchant&d=DwMFaQ&c=zQ6tLaF7dShu6emFdFLQLeh4ApIjUVDHmN_RmdGFa9g&r=dIAaiHDPGVYJ-RItKqCqRmU_u0JUhwHPq7blqeZINjE&m=RotlfAVCB3Py5J7IYikOCgSlAM-G0DkUTaLbp0xBmWS__PC1pPo5PIcWN0Z90mf2&s=TQ2x-zjJvsZnHCVZPMppGCDeU13MgfX_sOrtE874vtc&e=) and click on the **Identifiers** tab on the top-right corner. D) Select **Merchant IDs** → your **Merchant ID** → **Apple Pay Payment Processing Certificate** and upload the CSR you downloaded in Step 2 with this option. E) Download the **.cer** file. F) Return to your Global Payments Portal and upload the **.cer** file to the **Apple Pay** section. #### Option 2. Merchant is handling decryption and generates the CSR manually With this option, the whole wallet process occurs outside the Global Payments environment, and we will only receive an `Auth` request. A) Use the code below to decrypt the token and generate the CSR. ```shell openssl ecparam -name prime256v1 -genkey -noout -out payment.key openssl req -new -key payment.key -out payment.csr \ -subj "/CN=Apple Pay Merchant ID: merchant.com.yourbrand" ``` B) Log into your Apple Developer account, select **Certificates**, then **Payment Processing Certificate** to upload the CSR. C) Download the payment **.cer** file. D) Apple frequently serves **.cer** files as **.der** files. So it's best to convert to **.pem** format if you're going to combine. ```shell openssl x509 -in payment.cer -inform DER -out payment.pem -outform PEM ``` ## Step 3. Verify the domain Apple requires domain verification. A) Add your domain to the **Domain Verification** section in your Apple Developer account. Do not use `https://`. The domain name (e.g., `test.com`) is all that is expected. B) Log into your Apple Developer account, select your **Merchant ID**, then click **Add Domain**, to access and download the domain verification file. C) Host the file at the domain location as shown: [`https://yourdomain.com/.well-known/apple-developer-merchantid-domain-association`](https://yourdomain.com/.well-known/apple-developer-merchantid-domain-association). D) Be aware that the file: * Must be a plain text file (**.txt**) * Must be served over HTTPS * Cannot have any redirects E) Once you've checked to make sure your file meets the above requirements, click **Verify** in your Apple Developer Account. ## Step 4. Backend Apple Pay session validation This step is required for Safari/iOS to activate the Apple Pay session securely. The following call returns a valid `applePaySession` that your frontend uses for validation: ```py requests.post(validation_url, cert=('merchant_id.pem', 'merchant_id.key'), json={ "merchantIdentifier": "merchant.com.yourbrand", "displayName": "Your Store", "initiative": "web", "initiativeContext": "yourdomain.com" }) ``` #### Node.js example ```rust const https = require('https'); const agent = new https.Agent({ cert: fs.readFileSync('merchant_combined.pem'), key: fs.readFileSync('merchant_combined.pem') }); ``` ## Step 5. Payment token handling (Global Payments) After the Apple Pay JS returns the token, you send the **entire token payload** to Global Payments: ```shell { "source": { "type": "applepay", "token": { "version": "EC_v1", "data": "...", "signature": "...", "header": { ... } } }, "amount": 1000, "currency": "EUR", "reference": "ORDER-1234" } ``` Global Payments uses the previously provided **payment processing cert** generated in Step 2.2 to decrypt the token and process the payment. ## File summary | File | Needed For | Share with Global Payments? | ----- | ----- | ----- | | merchant_id.key | Apple session validation | No - Keep secure | | merchant_id.pem | Apple session validation | No - Keep secure | | merchant_combined.pem | Optional for certain SDKs | No - Keep secure | | payment.cer | Public certificate from Apple | Yes - Required | | apple-developer-merchantid-domain-association | Domain verification | No - Keep secure | ## Troubleshooting ### Apple Pay setup verification commands This guide contains OpenSSL and curl commands to verify: * Merchant Identity Certificate * Payment Processing Certificate * Certificate Signing Request (CSR) * Apple Pay Domain Association Change the names, bolded in the commands below, to match your files. #### 1. Verify merchant identity certificate To verify the merchant identity certificate, change `merchant_id.pem` to match your file. Make sure each certificate is used with the correct AMID: You can verify this using OpenSSL as shown below. ```shell openssl x509 -in ./certs/merchant_id.pem -noout -subject -issuer -serial -fingerprint -enddate ``` Expected output includes: * `subject=UID=merchant.newdocs.gp, CN=merchant.newdocs.gp` * `issuer=Apple Inc.` * Valid `serial`, `fingerprint`, and `notAfter` date #### 2. Verify payment processing certificate ```shell openssl x509 -in apple_pay.cer -inform DER -out apple_pay.pem -outform PEM openssl x509 -in ./apple_pay.pem -noout -subject -issuer -serial -fingerprint -enddate ``` Expected output includes: * `subject=UID=merchant.newdocs.gp, CN=Apple Pay Payment Processing:merchant.newdocs.gp` * `issuer=Apple Inc.` * Valid `serial`, `fingerprint`, and `notAfter` date #### 3. Verify CSR (optional) If using a `.csr` generated by RealControl or another system: ```shell openssl req -in ./Realex.certSigningRequest -noout -text ``` Expected output includes: * `Subject: CN=realex payments user` * `Public Key Algorithm: id-ecPublicKey` * `ASN1 OID: prime256v1` #### 4. Check Apple Pay domain association file ```shell curl -s -o - https://test.org/.well-known/apple-developer-merchantid-domain-association ``` Expected output: `["merchant.newdocs.gp"]` To check for HTTP 200: ```shell curl -s -o /dev/null -w "%{http_code}" https://test.org/.well-known/apple-developer-merchantid-domain-association ``` ## Final merchant checklist If all of these are true, you should be ready to go: * You have created an Apple Pay Merchant ID in my Apple Developer account. * You have generated the Merchant Identity Certificate and uploaded it to Apple. * You have converted the `.cer` file to `.pem` and integrated it into my backend. * You have provisioned the Payment Processing Certificate via Global Payments or OpenSSL. * You have hosted the Apple domain verification file and verified ownership. * You have implemented backend Apple Pay session validation using the correct cert and key. * You have tested the `startSession` response from Apple and verified it loads in the frontend. * You have received a live token from Apple Pay and successfully passed it to Global Payments. * You have verified that Global Payments processed the token without errors. #### HPP Apple Pay can be used on the Hosted Payment Page (HPP) to provide payment for real-world goods and services. This guide focuses on implementing Apple Pay on the HPP via full-page redirect or iFrame and Lightbox, with steps for both SDK and non-SDK integrators. We also provide information on disabling Apple Pay for certain transactions, how to test your integration, and a preview of what Apple Pay looks like once successfully implemented (rollout). ## Prerequisites To use Apple Pay on the HPP: * You must be using one of these certified acquirers: * Global Payments, Amex, or Barclays * Your device must be either an: * iPhone, iPad, or Macbook * Your web browser must be: * Safari, Chrome, or Mozilla ## Implement Apple Pay There are several ways to implement Apple Pay on the HPP: full-page redirect or iFrame and Lightbox. ### Full-page redirect To add Apple Pay as a payment option using full-page redirect (checkout starts and finishes on our domain), you simply need to contact customer support to enable the feature. The implementation process typically includes the following steps: * Contact customer support – Reach out to customer support or your account manager to initiate the request to enable Apple Pay for your account. Be sure to provide the client IDs and the sub accounts you want to enable, along with your website for registration. * Enable Apple Pay feature – Upon receiving the request, customer support will proceed to enable Apple Pay support for your account. This involves backend configurations and activations to ensure that your payment processing system is compatible with Apple Pay transactions. ### iFrame and Lightbox To integrate Apple Pay with a checkout using an iFrame or Lightbox, there are extra steps to take to ensure that your domain is registered with Apple. For SDK integrators: * Ensure that you are using the most up-to-date version of our [SDK](https://developer.globalpay.com/ecommerce/payments/sdk/overview). * Create a .txt file and name it: `_apple-developer-merchantid-domain-association_` * Add the certification contents of [this file](https://pay.realexpayments.com/.well-known/apple-developer-merchantid-domain-association) to the file, and then upload to the *.well-known* folder in any/every root domain that hosts the HPP’s iFrame. The URL should look like this: `https://YOURWEBSITE.COM/.well-known/apple-developer-merchantid-domain-association` Where `YOURWEBSITE.COM` is the root URL of your website. * Once this is complete, contact customer support with your URL so we can add it to our list of accepted domains for Apple Pay. In most cases, we can do this instantly, but if not, we'll contact you when it’s complete. It’s possible to add multiple URLs to your account as long as each root url contains a /.well-known file that follows the processes above. ### For non-SDK integrators: Payment processing with Apple Pay within a cross-origin iFrame requires a Permissions Policy and requires the payment page to allow third-party payments. If this is not done, the button won’t show in the iFrame. For this reason, it’s important to ensure that your checkout iFrame is structured like so: ``` ``` Where checkout\_URL is the URL dynamically generated by us. Sandbox example: ``` ``` Production example: ``` ``` The *src* attribute values dynamically change on each checkout. Once this is complete, you can follow the steps above [for SDK integrators](https://developer.globalpay.com/ecommerce/expand-your-integration/applepay#for-sdk-integrators) to register your domain. For information on cross-origin resource sharing (CORS), see the [**definition**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) on Mozilla’s MDN website. ## Disable for some transactions In certain circumstances, merchants enabled for Apple Pay may not want to offer this option at all times. To achieve this, you can hide the Apple Pay option displayed on the HPP for a particular request by sending `HPP_ENABLE_APPLEPAY = False` in the HPP POST request. | Field | Description | | :---- | :---- | | HPP\_ENABLE\_APPLEPAY | Determines whether the Apple Pay button displays on the HPP. Works only when Apple Pay is enabled. Allowed value: False \- Hides the Apple Pay button on the HPP. | ## Testing and integration Apple Pay is available for testing in our Sandbox environment. For the full list of Apple Pay test values, see our [Test Cards](https://developer.globalpay.com/ecommerce/resources/test-card-numbers#card-apple-pay) article. To complete testing in Apple’s sandbox and access their test cards, you first need to set up an Apple account. More information can be found on [**Apple's website**](https://developer.apple.com/apple-pay/sandbox-testing/). The amount specified in the request will map the tokenized data in the transaction to one of Apple's test values. For example, an amount of 10.00 will map to the successful Visa test card. Once Apple Pay support is enabled, you should conduct testing in our Sandbox to ensure that your integration is seamless and functional. This may involve testing transactions using Apple devices at the point of sale on the HPP. ## Rollout After successful testing, you can proceed with the rollout of Apple Pay as a payment option for customers. ![Rollout image](https://developer.globalpayments.com/gh-assets/rollout.png) HPP \- Apple Pay Option ![HPP Apple Pay image](https://developer.globalpayments.com/gh-assets/HPP-Apple.png) HPP \- Apple Pay Option Selected ## Enhance your solution Explore more functionality to enrich your application or website. For the detailed HPP specification and a full list of features, see the [HPP Reference](https://developer.globalpay.com/ecommerce/hpp-reference/overview) section. #### [Alternative Payment Methods](https://developer.globalpay.com/ecommerce/expand-your-integration/payment-methods) [Integrate with alternative and local payment methods.](https://developer.globalpay.com/ecommerce/expand-your-integration/payment-methods) #### [3D Secure and SCA](https://developer.globalpay.com/ecommerce/risk-management/3ds/overview) [Add strong customer authentication to your online payment flow.](https://developer.globalpay.com/ecommerce/risk-management/3ds/overview) #### [Fraud Management](https://developer.globalpay.com/ecommerce/risk-management/fraud/overview) [Better identify customers and reduce fraud.](https://developer.globalpay.com/ecommerce/risk-management/fraud/overview) ## Google Pay Source: https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/google-pay.md # Google Pay > Google Pay is not supported by all acquirers and not enabled by default on your account. For more information, contact a member of our support team. Google Pay enables customers to use the cards they have stored with Google to make quick, easy purchases on merchant websites or in-app. Customers can use the details they store on other Google applications such as Play Store, YouTube, and Chrome web browser. #### API This guide focuses on integrating Google Pay directly using our [REST API](https://developer.globalpayments.com/docs/integration-options/api.md). You'll learn how to obtain the Google Pay token, including complying with 3D Secure authentication standards, as well as how to process an authorization. ## Obtain the Google Pay token To offer Google Pay from your website or in-app, refer to the Google Pay API website for the integration steps. To integrate with our platform, specific parameters must be passed in the `PaymentData` request to Google. When you submit a `PaymentData` request to the Google API, be sure to include the following parameters: * `'gateway': 'globalpayments'` * `'gatewayMerchantId': ''` ## SCA and 3DS compliance Google Pay on the web may expose the Funding PAN (FPAN) depending on the parameters passed from the Google Pay API. Google provides two options through the `allowedAuthMethods` object: * `PAN_ONLY` – This authentication method is associated with payment cards stored on file with the user's Google account. Returned payment data includes the FPAN with the expiration month and the expiration year. * `CRYPTOGRAM_3DS` – This authentication method is associated with cards stored as Android device tokens. Returned payment data includes a 3D Secure (3DS) cryptogram generated on the device. `PAN_ONLY` can expose the FPAN, which requires an additional Strong Customer Authentication (SCA) step up to a 3DS check. Currently, we don't support the Google Pay SCA challenge with an FPAN. For the best acceptance, we recommend that you provide only the `CRYPTOGRAM_3DS` option. #### Website example ```markup { 'type': 'CARD', 'parameters': { 'allowedAuthMethods': ['PAN_ONLY', 'CRYPTOGRAM_3DS'], 'allowedCardNetworks': ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA'] }, 'tokenizationSpecification': { 'type': 'PAYMENT_GATEWAY', 'parameters': { 'gateway': 'globalpayments', 'gatewayMerchantId': '' } } } ``` #### Extract the payload (JavaScript) ```markup function onGooglePaymentButtonClicked() { const paymentDataRequest = getGooglePaymentDataRequest(); paymentDataRequest.transactionInfo = getGoogleTransactionInfo(); const paymentsClient = getGooglePaymentsClient(); paymentsClient.loadPaymentData(paymentDataRequest) .then(function(paymentData) { // handle the response processPayment(paymentData); }) .catch(function(err) { // show error in developer console for debugging console.error(err); }); } function processPayment(paymentData) { // show returned data in developer console for debugging console.log(paymentData); ``` #### In-app example ```java private PaymentDataRequest createPaymentDataRequest() { PaymentDataRequest.Builder request = PaymentDataRequest.newBuilder() .setTransactionInfo( TransactionInfo.newBuilder() .setTotalPriceStatus(WalletConstants.TOTAL_PRICE_STATUS_FINAL) .setTotalPrice("10.00") .setCurrencyCode("USD") .build()) .addAllowedPaymentMethod(WalletConstants.PAYMENT_METHOD_CARD) .addAllowedPaymentMethod(WalletConstants.PAYMENT_METHOD_TOKENIZED_CARD) .setCardRequirements( CardRequirements.newBuilder() .addAllowedCardNetworks( Arrays.asList( WalletConstants.CARD_NETWORK_VISA, WalletConstants.CARD_NETWORK_MASTERCARD)) .build()); PaymentMethodTokenizationParameters params = PaymentMethodTokenizationParameters.newBuilder() .setPaymentMethodTokenizationType( WalletConstants.PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY) .addParameter("gateway", "globalpayments") .addParameter("", "") .build(); request.setPaymentMethodTokenizationParameters(params); return request.build(); } ``` #### Extract the payload (Java) ```java public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case LOAD_PAYMENT_DATA_REQUEST_CODE: switch (resultCode) { case Activity.RESULT_OK: PaymentData paymentData = PaymentData.getFromIntent(data); String token = paymentData.getPaymentMethodToken().getToken(); JSONObject obj = new JSONObject(token); // Data below goes into the JSON message string signature = obj.getString("signature"); string protocolVersion = obj.getString("protocolVersion"); string signedMessage = obj.getString("signedMessage"); ``` Google will respond with the `PaymentData` response, which includes the encrypted payload (token). They provide two environments: `ENVIRONMENT_TEST` and `ENVIRONMENT_PRODUCTION`. You can process either token type on our platform. You must contact Google before being able to process Production tokens. For more information, see the [Google Pay website](https://developers.google.com/payments/test-and-deploy). ## Process a Google Pay authorization When creating a transaction, use the `digital_wallet` object to include the payment token instead of the standard card details. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer QeG7aqwDXxyAkqAbOBoDDX5szeC1' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2020-12-22' \ --data-raw '{ "account_name": "Transaction_Processing", "channel": "CNP", "type": "SALE", "amount": "5", "currency": "EUR", "reference": "64970211", "country": "US", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "digital_wallet": { "provider": "PAY_BY_GOOGLE", "payment_token": { { "signature": "MRUCICT82ONC1THeYgGpgj5ruDKZT2o4YaHV2HXPh4RzPZ7UAiEAkp1E8KQxzCN40PPRhvV5gZFacTOuNxm5GWu0oM9x+Kk=", "protocolVersion": "ECv1", "signedMessage": "{\"encryptedMessage\":\"2e/wvcUDfyIYzf6vyc7bVBJwQTWlW6eKkyylR1+Fvs/2zIqOy+7NlSKkbSaUb926VO6bi1yHfnTDoKqo5LLSqKqo3k6kVsqlyCzLjmMO7ns3YlggKeqI39h16cXRB+qzLbKcrIHJEL/A+pBoAEElSoUYN7nVCdDE6bQbhiUg6zqYOMhXQS/6Kfe1HaYYO8q3nycpieW8mN68iAyQwplwp4LuFOaIWOT8IxBl1y1rAikaPEMptVXVAax2kIesiYhfmcaHBpOdq8fdOIl5VkHtRgSKwvsB1RJQtn3W6/Ovldt1h543Ly1ZYWsJwRyw1wBjhBzniRoJMMNA5BDnwXXb6qQ0Kt2DfJx33zerpOH4bd78EpTRXkQUN+Y2NZ+xYRKwc4xoanA6sOJUJMXQeRZ8PNFCcI7djj/iNlvNYCgMUG/P3ylAPdOc/e9dAUwyR9joJM0C\",\"ephemeralPublicKey\":\"BDVZdkLkavmd3kkBKgNgMW5KF7a6GKXATboPoHUzVJXD3bHz/hAWIBY3dvoM6bWN9W2R1QrdjsGRgSYblDg+cyA\\u003d\",\"tag\":\"G3AOG9uYEeFpd6+lsLA+FTYek+8Pi8ELkSqzLo4XKP8\\u003d\"}" } ``` ## Testing Google Pay You can test Google Pay in our Sandbox environment. The amount specified in the request will map the tokenized data in the transaction to one of our test cards. For example, an amount of 10.00 will map to the successful Visa test card. For further details, see our test cards for [Google Pay](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#google-pay). ### [SDK Quickstart](https://github.com/globalpayments-samples/starter-template) Starter kit for payment integrations. ### [Google Pay SDK Sample](https://github.com/globalpayments-samples/google-pay-payments) Guide for Google Pay integration. ## Brand guidelines For Google Pay branding guidelines and to download assets, see [Brand Guidelines](https://developers.google.com/payments/brand-guidelines) on their website. ## Enhance your solution For the detailed API specification and a full list of features, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [Create a Transaction](https://developer.globalpayments.com/api/transactions.md#/Create%20a%20Sale%20or%20Refund/createSaleOrRefundTransaction) Use our API Explorer code playground to try it out. ### [Decrypted Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/decrypted-wallets.md) Set up payload decryption to preview card data. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) Integrate with alternative and local payment methods. #### HPP This guide focuses on integrating Google Pay with our [Hosted Payment Page](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md) (HPP), which is our low-code PCI DSS–compliant payment form. We provide information on the implementation process and the different ways the Google Pay button can be displayed. > Google Pay is only available in-app for merchants using our HPP integration and is not currently available on browsers in the Production environment. ## Implementation process To add Google Pay as a payment option, you first need to contact us to enable it. Also, you need to ensure that your acquirer is certified to support Google Pay. Your account manager with us can check this for you and then enable Google Pay on your account. ## Google Pay button The following images show the different ways the Google Pay button can be displayed: Full Redirect, iFrame, and Lightbox. ![HPP payment form using full redirect.](https://developer.globalpayments.com/gh-assets/ecommerce/google-pay_hpp-redirect.png) **Full Redirect Example** ![HPP payment form using an iFrame.](https://developer.globalpayments.com/gh-assets/ecommerce/google-pay_hpp-iframe.png) **iFrame Example** ![HPP payment form using Lightbox.](https://developer.globalpayments.com/gh-assets/ecommerce/google-pay_hpp-lightbox.png) **Lightbox Example** ## Google wallet After a customer clicks the Google Pay button, they can then select a saved card from their Google wallet to use for payment, as shown below. ![Example of Google Pay Wallet with a choice of Visa credit card.](https://developer.globalpayments.com/gh-assets/ecommerce/google-pay_hpp-wallet.png) **Google Pay Wallet Example** ## Testing Google Pay Google Pay will appear in browsers in our Sandbox environment. For testing, you can check out using a normal Google account using live cards. Your cards will not be charged. ## Enhance your solution Explore more functionality to enrich your application or website. For more information on the HPP, see our [Overview](https://developer.globalpayments.com/docs/payments/online/hosted-payment-page-overview.md). ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) Integrate with alternative and local payment methods. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) Securely store card data with no increased PCI DSS requirements. ### [Fraud Management](https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md) Better identify customers and reduce fraud. #### Drop-In UI This guide focuses on integrating Google Pay with our Drop-In User Interface (UI), which is a ready-made payment form using our [Hosted Fields solution](https://developer.globalpayments.com/docs/payments/online/hosted-fields-overview.md). You’ll learn how to add Google Pay to your payment form using our JavaScript Library and then charge it within your app or as a standalone payment method. To learn how to use the Hosted Fields components on their own with your existing payment form, see our [Hosted Fields guide](https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md). ## Step 1: Create an access token > Our API endpoints: > > > Sandbox: https://apis.sandbox.globalpay.com > > Production: https://apis.globalpay.com Before testing or implementing Google Pay via the Drop-In UI, you first need to create an access token, which is required to execute any API requests. The token contains the actions that are permitted for your application. For added security and integrity, we recommend that you create one access token for each user session, and set the "time to expire" to 10 minutes. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Accept: application/json' \ --header 'Accept-Encoding: gzip' \ --header 'Content-Type: application/json' \ --data-raw '{ "app_id": "appId", "nonce": "2022-04-21T15:12:44.390Z", "secret": "999585dc140865524c4d95f3fa0ce0eb5e2b565b95c67dd43425c4e16d0671cafe89e6e730992911cdf047c7f2f6ac8cc6486311a73dfcc81c763ccb24d0ed4c", "grant_type": "client_credentials". "permissions": [ "PMT_POST_Create_Single" ], "interval_to_expire": "10_MINUTES" }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent.getValue()); config.setPermissions(new String[] { "PMT_POST_Create_Single" }); config.setIntervalToExpire(IntervalToExpire.TEN_MINUTES); AccessTokenInfo info = GpApiService.generateTransactionKey(config); config.setAccessTokenInfo(info); ServicesContainer.configureService(config); ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Permissions = new string[] { "PMT_POST_Create_Single" }; config.IntervalToExpire = IntervalToExpire.TEN_MINUTES; var info = GpApiService.GenerateTransactionKey(config); config.AccessTokenInfo = info; ServicesContainer.ConfigureService(config); ``` ```php appId = "APP_ID"; $config->appKey = "APP_KEY"; $config->channel = Channel::CardNotPresent; $config->permissions = ["PMT_POST_Create_Single"]; $config->intervalToExpire = IntervalToExpire::TEN_MINUTES; $accessTokenInfo = GpApiService::generateTransactionKey($config); $accessToken = $accessTokenInfo->accessToken; ``` ## SCA and 3DS compliance Google Pay on the web may expose the Funding PAN (FPAN), depending on the parameters passed from the Google Pay API. Google provides two options through the `allowedAuthMethods` object: * `PAN_ONLY` – This authentication method is associated with payment cards stored on file with the user's Google account. Returned payment data includes the FPAN with the expiration month and year. * `CRYPTOGRAM_3DS` – This authentication method is associated with cards stored as Android device tokens. Returned payment data includes a 3D Secure (3DS) cryptogram generated on the device. `PAN_ONLY` can expose the FPAN, which requires an additional Strong Customer Authentication (SCA) step-up to a 3DS check. Currently, we don’t support the Google Pay SCA challenge with an FPAN. For the best acceptance, we recommend that you provide only the `CRYPTOGRAM_3DS` option. ## Step 2: Configure JavaScript Once you’ve created the access token, you can now configure the JavaScript Library to enable Google Pay in your payment form. Add a `
` tag to render the Drop-In UI payment form to the customer. ```markup
``` Next, we configure our JavaScript Library with the transaction details required for Google Pay. ```markup ``` ### JavaScript configuration (Google Pay specific parameters) _Type_ indicates whether the element is Mandatory (M), Optional (O), or Conditional (C)—dependent on another field or regional requirement. | Name | Format | Type | Description | | --- | --- | --- | --- | | currencyCode | string | M | Currency of the amount in ISO-4217 (alpha-3) format. | | countryCode | string | M | The country in ISO-3166-1(alpha-2 code) format. | | merchantName | string | M | Merchant name that appears on the Google Payment sheet. | | merchantID | string | M | Merchant ID issued by Google. | | allowedAuthMethods | string | M | Fields supported to authenticate a card transaction. Allowed values: **PAN\_ONLY CRYPTOGRAM\_3DS** | | allowedCardNetworks | string | M | Indicates the card brands the merchant accepts for Google Pay. | | buttonType | string | O | Button option type for Google Pay. Allowed values: **book**: The "Book with Google Pay" payment button. **buy**: The "Buy with Google Pay" payment button (default). **checkout**: The "Checkout with Google Pay" payment button. **donate**: The "Donate with Google Pay" payment button. **order**: The "Order with Google Pay" payment button. **pay**: The "Pay with Google Pay" payment button. **plain**: The Google Pay payment button without the added text. **subscribe**: The "Subscribe with Google Pay" payment button. | | buttonColor | string | O | Button color option for Google Pay. Allowed values: **black white** | | globalPaymentsClientID | string | M | Your Client ID assigned by us. | ### Google Pay added to payment form In this example, Google Pay is included as an option above the section to manually enter the card details. ![Google Pay added to payment form built by Drop-In UI](https://developer.globalpayments.com/gh-assets/google-pay_drop-in-ui.png) **Google Pay Added to Payment Form** ### Google Pay additional fields and data When a successful Google Pay authorization is completed, the Javascript Library exposes the Google Pay token and any additional information that can be used to complete the transaction. The following table describes the fields and data available from Google Pay. | Name | Description | | --- | --- | | details.apmProvider | The payment method used to execute the transaction. | | details.billingAddress.addressLine | The address line of the payer’s billing address. | | details.billingAddress.city | The city of the payer’s billing address. | | details.billingAddress.country | The country of the payer’s billing address. | | details.billingAddress.postalCode | The postal code of the payer's billing address. | | details.billingAddress.phone | The payer’s billing phone number. | | payerEmail | The payer’s email address. | | payerPhone | The payer’s phone number. | | paymentReference | A token that represents, or is the payment method, stored with the digital wallet. | | shippingAddress.addressLine | The address line of the payer’s shipping address. | | shippingAddress.city | The city of the payer’s shipping address. | | shippingAddress.country | The country of the payer’s shipping address. | | shippingAddress.phone | The postal code of the payer's shipping address. | | shippingAddress.postalCode | The payer’s shipping address phone number. | ## Step 3: Charge the payment method To charge the payment method from Google Pay, you need to send a Create Transaction request to our REST API. This request is the standard payment request or sale processed by us. Instead of submitting the customer’s card information in the request, you simply pass the unique identifier for the Google Pay payment method. The transaction now proceeds to authorization as normal and may be successful or declined based on standard criteria such as sufficient funds available and so on. For more information on creating a Sale transaction with REST API, see the API Explorer for [Transactions](https://developer.globalpayments.com/api/transactions.md#/Create%20a%20Sale%20or%20Refund/createSaleOrRefundTransaction). #### Sample request ```json { "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "digital_wallet": { "provider": "PAY_BY_GOOGLE", "payment_token": {"googlepaytoken"} } } } ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent.getValue()); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setCardHolderName("googlepaytoken"); card.setMobileType(MobilePaymentMethodType.GOOGLEPAY); try { Transaction transaction = card .charge(new BigDecimal("10")) .withCurrency("EUR") .withModifier(TransactionModifier.EncryptedMobile) .execute(); } catch (GatewayException ex) { throw ex; } ``` ```dotnet var config = new GpApiConfig(); config.AppId = AppId; config.AppKey = AppKey; config.Channel = Channel.CardNotPresent; ServicesContainer.ConfigureService(config); var card = new CreditCardData(); card.CardHolderName = "googlepaytoken"; card.MobileType = EncyptedMobileType.GOOGLE_PAY; try { var transaction = card.Charge(10m) .WithCurrency("EUR") .WithModifier(TransactionModifier.EncryptedMobile) .Execute(); } catch (GatewayException ex) { throw ex; } ``` ```php $config = new GpApiConfig(); $config->appId = "APP_ID; $config->appKey = APP_KEY; $config->channel = Channel::CardNotPresent; $config->country = "IE"; ServicesContainer::configureService($config); $card = new CreditCardData(); // this is the Google Pay token received from the JS library at step 2 $card->token = 'googlepaytoken'; $card->mobileType = EncyptedMobileType::GOOGLE_PAY; $card->cardHolderName = "James Mason"; try { $transaction = $card->charge(10) ->withCurrency("EUR") ->withModifier(TransactionModifier::ENCRYPTED_MOBILE) ->execute(); } catch (GatewayException $e) { //@TODO handle exception } $responseCode = $transaction->responseCode; // SUCCESS $transactionStatus = $transaction->responseMessage; //CAPTURED $transactionId = $transaction->transactionId; ``` ## Google Pay standalone In addition to enabling Google Pay on the payment form, you can also enable Google Pay as a standalone payment method. This allows you to initialize Google Pay at any stage of the checkout journey — for example, adding Google Pay on the product page for a quick checkout. To set up a standalone instance of Google Pay, we initialize the Alternative Payment Method (APM) form instead of the Card form as shown in the code sample below. Once initialized, Google Pay will render within your specified `
` tag. ```markup // creating an instance of standalone Google Pay var apmForm = GlobalPayments.apm.form('#google-pay', { amount: "19.99", style: "gp-default", apms: ["google-pay"] }); ``` ## Testing Google Pay You can test Google Pay in our Sandbox environment. The amount specified in the request will map the tokenized data in the transaction to one of our test cards. For example, an amount of 10.00 will map to the successful Visa test card. For further details, see our test cards for [Google Pay](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#google-pay). ## Brand guidelines For Google Pay branding guidelines and to download assets, see [Brand Guidelines](https://developers.google.com/payments/brand-guidelines) on their website. ## Enhance your solution For the detailed API specification and a full list of features, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [Create a Transaction](https://developer.globalpayments.com/api/transactions.md#/Create%20a%20Sale%20or%20Refund/createSaleOrRefundTransaction) Use our API Explorer code playground to try it out. ### [Decrypted Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/decrypted-wallets.md) Set up payload decryption to preview card data. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) Integrate with alternative and local payment methods. ## Decrypted Digital Wallets Source: https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/decrypted-wallets.md # Decrypted Digital Wallets Decrypted digital wallets allow you to view the card data before submitting the transaction. This option gives full control of your payment journey. For example, you can block specific cards or make informed decisions for subsequent payment actions. > **PCI Compliance Notice**: Decrypted wallet data — including the Device Primary Account Number (DPAN), expiration date, and cryptogram — must be treated as sensitive cardholder data under PCI DSS. Ensure your system is compliant before handling decrypted values. > > For official requirements, see: > * [PCI DSS v4.0 Documentation](https://www.pcisecuritystandards.org/document_library) > * [PCI DSS Tokenization Guidelines](https://www.pcisecuritystandards.org/documents/Tokenization_Guidelines_Info_Supplement.pdf) ## Key definitions * **FPAN (Funding Primary Account Number):** The actual card number printed on a physical card. * **DPAN (Device Primary Account Number):** A tokenized card number issued by a wallet provider, representing the FPAN and used in transactions. ## Supported tokens Use the `TOKENIZED_CARD` source type when processing decrypted tokens from Apple Pay or Google Pay. Set the `provider` field to `apple-pay` or `pay-with-google`, and provide the DPAN, expiration, and cryptographic values. ## Decryption requirements Each wallet provider has distinct setup steps: * **Apple Pay:** Upload a CSR and public key to the Apple Pay developer portal. [Apple Pay Token Format](https://developer.apple.com/documentation/passkit/apple_pay/payment_token_format_reference) * **Google Pay:** Follow Google’s encryption/decryption guide. [Google Pay Cryptography Guide](https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography) ## Step 1: Decrypt and map fields #### Example of a decrypted wallet payload ```json { "applicationPrimaryAccountNumber": "4895370012003478", "applicationExpirationDate": "1226", "currencyCode": "840", "transactionAmount": "1999", "cardholderName": "James Mason", "onlinePaymentCryptogram": "Af9x83xkzKJ3Jidv4xj2AwAAABk=", "eciIndicator": "5" } ``` > **Important: Only DPANs are returned, along with accompanying transaction fields. FPANs are never returned in decrypted wallets.** You’ll typically receive: * `applicationPrimaryAccountNumber` (DPAN) * `applicationExpirationDate` (MMYY) * `onlinePaymentCryptogram` * `eciIndicator` * `currencyCode`, `transactionAmount` * `cardholderName` (*optional, often not included*) ### Required fields: * DPAN * Expiry * Currency * Amount * Cryptogram (*recommended*) * ECI (*recommended*) | Wallet Field | API Field | Notes | | :---- | :---- | :---- | | `applicationPrimaryAccountNumber` | `token` | Use DPAN here. | | `currencyCode` | `currency` | ISO 4217 format | | `applicationExpirationDate` | `expiry` | Format MMYY | | `transactionAmount` | `amount` | | | `cardholderName` | `name` | Optional | | `onlinePaymentCryptogram` | `cryptogram` | | | `eciIndicator` | `eci` | | ## Step 2: Process request Change the `item type` field to the appropriate wallet provider: `apple-pay` or `pay-with-google`. If the response does not include the cryptogram and Electronic Commerce Indicator (ECI), these can be removed and sent without the values. However we strongly advise against that as the two values are typically expected for the best acceptance rates. ### DPAN - Including ECI and cryptogram In this scenario, the customer’s DPAN is used, along with the ECI and cryptogram. #### Sample request ```json { "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "USD", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "US", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "digital_wallet": { "token": "5167300431085507", "token_format": "CARD_TOKEN", "expiry_month": "12", "expiry_year": "20", "cryptogram": "234234234", "provider": "APPLEPAY OR PAY_BY_GOOGLE", "eci": "5" } } } ``` ### FPAN - Google Pay web flows Some Google Pay web flows return `CARD_NUMBER` — the FPAN — instead of a token (DPAN). These transactions: * Are **not decrypted wallet transactions** * Require full PCI DSS compliance * Must use 3D Secure if applicable > **Use this only when the customer selects a saved card that isn’t tokenized.** #### Sample request (for information only) ```json { "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "USD", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "US", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "digital_wallet": { "token": "5167300431085507", "token_format": "CARD_NUMBER", "expiry_month": "12", "expiry_year": "20", "cryptogram": "234234234", "provider": "PAY_BY_GOOGLE", "eci": "5" } } } ``` #### Sample response ```json { "id": "TRN_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "time_created": "2021-03-20T13:44:14.327Z", "type": "SALE", "status": "CAPTURED", "channel": "CP", "capture_mode": "AUTO", "amount": "20045", "currency": "CAD", "merchant_id": "MER_8096479c606f4deb93dfab49e7bfea28", "merchant_name": "SANDBOX_MERCHANT", "account_id": "TRA_0b1fcc7cceea48dea38d044bae4295c2", "account_name": "Termiinal_55", "reference": "03559571", "payment_method": { "result": "00", "message": "APPROVAL", "entry_mode": "MANUAL", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX4242", "authcode": "351404", "brand_reference": "772201652998701", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "0", "avs_postal_code_result": "0", "avs_action": "" } }, "batch_id": "BAT_353445", "action": { "id": "ACT_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "type": "AUTHORIZE", "time_created": "2021-03-20T13:44:14.327Z", "result_code": "SUCCESS", "app_id": "APP_MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "my_sandbox_app" } } ``` ## Repeat MIT payments With a decrypted setup, you can process repeat Merchant-Initiated Transactions (MITs) for both Google Pay and Apple Pay. Repeat MITs include the following payment types: * Recurring * Installment * Unscheduled To process a recurring payment, the first payment must originate from a successful customer-initiated transaction. Only the `brand_reference` from the initial transaction may be stored. Do not retain decrypted fields like DPAN, ECI, or cryptogram. > **Recurring payments for Apple Pay will require use of Merchant Tokens (MPANs). For more information, see their [Apple Merchant Token Guide](https://developer.apple.com/apple-pay/merchant-tokens/)**. > **You’ll need to comply with the stored credential mandate of card brands like Visa or Mastercard. For more information, see our [Recurring Payments - Credential on File](https://developer.globalpayments.com/docs/payments/recurring/credentials-on-file.md) guide.** | Wallet Provider Field | Our API Field | Notes | | :---- | :---- | :---- | | `applicationPrimaryAccountNumber` | `token` | | | `currencyCode` | `currency` | 3 digit ISO 4217 code, i.e., “GBP” | | `applicationExpirationDate` | `expiry_month` & `expiry_year` | | | `transactionAmount` | `amount` | | | `cardholderName` | Not applicable | | | `Model` | `model` | `recurring`: Use for payments with no fixed duration that continues until the customer cancels. `installment`: Use for payments of an agreed amount on the same day each month until the fixed duration ends. `oneoff`: Use for unscheduled payments with no fixed duration. | | `Initiator` | `initiator` | Set to `merchant` for MIT transactions. | | `Sequence` | `sequence` | Set to `subsequent` for MIT transactions. | ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/click-to-pay.md # Click to Pay - Overview ## What Is Click to Pay? Click to Pay (CtP) is a fast, secure checkout experience that allows customers to use stored cards across major card networks (Visa, Mastercard, American Express, etc.) — without manually entering card details at checkout. > **No re-entered card numbers. No passwords. One consistent, fast experience.** Through our partnership with **Netcetera**, Global Payments brings this modern checkout option to merchants **with no code changes required** for existing Hosted Payment Page (HPP) integrations. ## Key Benefits for Your Business | Benefit | What It Means for You | | :---- | :---- | | **No Dev Work Needed** | Your current HPP setup will support Click to Pay. | | **Fast Checkout** | Cards are registered by the issuers so customers can pay with cards in just a few clicks. | | **Reduced Cart Abandonment** | Streamlined flow improves conversion. | | **Secure & Compliant** | Card and identity info never touches your environment. | | **One Setup for All Cards** | Works across Visa, Mastercard, Amex, and more. | ## How It Works (Behind the Scenes) 1. **The customer selects “Click to Pay”** at checkout. 2. **identity check and card selection is handled in the background.** 3. **Global Payments processes the payment using the selected card.** 4. **The customer is returned to your site with a payment confirmation.** You don’t need to implement anything new. The full flow is handled by Netcetera and Global Payments. ## Integration Impact | Area | Action Required | | :---- | :---- | | Hosted Payment Page | No changes | | Payment Flow | Unchanged | | PCI Compliance | Reduced scope | | Testing | Optional (via sandbox) | --- ## Testing Click to Pay (Optional) If you’d like to test Click to Pay before going live: - We can enable **sandbox mode** for your merchant ID. - You'll use scheme-provided test cards and simulate customer flows. - No front-end work required — we handle routing and responses. --- ## How to Enable Click to Pay Just contact your Global Payments representative with the following: - Your **Merchant ID** - **Account Name** - Your **storefront/domain name(s)** - The **card schemes** you want to support (currently restricted to Visa, Mastercard.) We will: 1. Onboard you on an account level. 2. Register your profile with the supported schemes. 3. Enable Click to Pay support in both sandbox and production. Once confirmed, Click to Pay will appear automatically for eligible customers. ## What You’ll See - Your HPP integration remains the same. - Payments made with Click to Pay appear like any other transaction. - Optional: Click to Pay indicators can be included in your reporting. --- ## Questions? Contact your Global Payments onboarding manager or support team to get started. Click to Pay can usually be activated in just a few business days — and your customers will be ready to check out faster and more securely. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/click-to-pay-guide.md # Click to Pay - Guide #### API This integration gives you: - Full control over the frontend experience via Netcetera’s SDK. - Zero responsibility for authorization logic — Global Payments handles that for you. ## Key Architecture Flow 1. Merchant integrates Netcetera SDK 2. Customer uses Click to Pay and selects a stored card 3. Netcetera completes 3DS and generates a signed JWS token 4. Netcetera sends the JWS to Global Payments as a `ctp-request` 5. Global Payments decrypts it and converts it to a standard authorization 6. Global Payments returns the result to the merchant ## Benefits of This Setup | Benefit | Description | | :---- | :---- | | Fast, Frictionless Checkout | Stored cards and scheme-side flows improve UX. | | Netcetera Manages Click to Pay | Identity, card selection, and 3DS handled by their SDK. | | Global Payments Handles Auth | You never build auth logic or touch PAN/token. | | Cleaner Compliance | Less PCI exposure and reduced scope. | ## Integration You, as the merchant are responsible for integrating the Click to Pay frontend and ensuring the transaction flow completes. Below are your integration steps. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ### Step 1: Integrate Netcetera SDK Use the [official SDKs](http://npmjs.com/package/@netceterapx/click-to-pay-sdk?activeTab=readme) provided by Netcetera: These SDKs: - Load the Click to Pay button and scheme-branded UI - Handle customer identity, card selection, and 3D Secure (v2) - Generate a signed JWS token (`ctp-request` payload) **You never handle raw card details.** ### Step 2: Configure SDK with Merchant-Specific Values (TBC) The following values are needed to initialize the Netcetera SDK. Some come from you, the merchant; others are provided during Click to Pay onboarding by Global Payments. | Field | Who Provides It | Purpose | | :---- | :---- | :---- | | `srcInitiatorId` | Global Payments | Identifies Global Payments to schemes. Shared across all GP merchants. | | `acquirerBin` | Global Payments | Used to route the transaction through the scheme. | | `merchantName` | Merchant | Displayed to cardholders during checkout. | | `merchantCountryCode` | Merchant | ISO 3166-1 alpha-2 country code (e.g. `IE`, `DE`). | | `merchantUrl` | Merchant | Used for scheme registration and domain binding. | | `notificationUrl` | Merchant (optional) | For async notifications (if supported). | | `srcDpaId` | Global Payments (via Netcetera) | SDK init token; specific to the merchant and environment (sandbox/production). | --- ## What’s Handled for You These values are provisioned and managed behind the scenes — you do **not** need to configure or request them manually: - **`threeDSRequestorId`**: Used in 3DS flows; embedded by Netcetera. - **DPAID**: A scheme-issued merchant identifier; managed by Global Payments. - **3DS logic**: Fully handled by Netcetera — no manual challenge handling is required. ## In the background: ### 1. Netcetera handles the initial flow After 3DS is completed: - Netcetera generates a signed JWS token (the `ctp-request`) - This token contains the encrypted payload with all transaction data (PAN/token, ECI, CAVV, 3DS ID, etc.) - Netcetera generates a ctp-request and then hands it back to the payment page, the payment page uses that ctp-request to build an auth-ctp. **You do not need to parse, decrypt, or forward this payload.** ### 2. Global payments handles the payment result Global Payments: - Decrypts the `ctp-request` - Builds a traditional authorization message (ISO 8583 or internal API) - Sends to the issuer - Returns the result (approved/declined) to you You’ll receive the final result via: - Your existing API callback - Or as part of your redirect/confirmation page ## What Will Be Returned (TBC) | Field | Description | | :---- | :---- | | `result` | Success or failure | | `orderId` | Your transaction reference | | `authCode` | Issuer-provided authorization code | | `eci`, `cavv` | 3DS authentication values (if requested) | | `status` | Optional – includes CtP-specific success metadata | ## Testing Click to Pay We recommend a full end-to-end test before going live. | Test Area | What You Do | | :---- | :---- | | SDK Setup | Use Netcetera sandbox SDK and test config | | Scheme Testing | Use [test cards](https://developer.globalpay.com/ecommerce/resources/test-card-numbers) provided | | Callback Handling | Ensure you can receive and process final result | ## Go-Live Checklist 1. Integrate SDK into frontend 2. Confirm sandbox payment success 3. Share final domain/merchant info with Global Payments 4. Global Payments onboards you to the CtP service 5. Production keys enabled 6. Go live #### HPP ## HPP Integration For Hosted Payment Page (HPP) merchants, this entire process is **zero-effort and requires no code changes**. CtP enables upgrading seamlessly to a modern checkout flow without any development effort. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## End-to-End Flow 1. Customer selects **Click to Pay** at checkout. 2. Global Payments Hosted Payments Page hands off to the embedded SDK provided by Netcetera Netcetera, which handles: - Consumer identity lookup - Card selection - 3DS authentication 3. A Netcetera SDD creates a JWT token which is created and is returned to the payment page through an event listener and an `auth-ctp` request is then sent to Global Payments. 4. Global Payments decrypts and validates the payload. 5. Global Payments constructs a traditional authorization request using the decrypted data. 6. Authorization is processed and approved/declined by the issuer. 7. Global Payments returns a standard HPP response to the merchant. ## Key Benefits | Benefit | Explanation | | :---- | :---- | | No Merchant Changes | Existing Global Payments HPP integrations remain unchanged. | | Zero Integration Effort | CtP is triggered and handled by Global Payments backend. | | Secure by Design | Card and identity data is securely handled by the card networks. | | Seamless Testing & Production | The onboarding process is consistent across both environments. | | Reduced PCI Scope | Cardholder data never enters the merchant environment. | | Enhanced User Experience | One-click checkout increases conversion and customer satisfaction. | ## Merchant Technical Impact | Area | Change | | :---- | :---- | | Front-End | None | | Backend/API | None | | Reporting | Optional flag for CtP transactions | | PCI Compliance | Reduced scope (no PAN handling by merchant) | ## Onboarding Process | Step | Description | | :---- | :---- | | 1\. Merchant Setup | Merchant info submitted by Global Payments | | 2\. Scheme Configuration | Merchant is registered with the schemes | | 3\. Environment Enablement | Merchant is enabled in sandbox or production | | 4\. Go-Live | `auth-ctp` requests begin flowing to Global Payments once live | **Same onboarding steps apply for both sandbox and production environments**. ## HPP Response to Merchant The HPP response returned by Global Payments remains consistent: ## Merchant Activation To enable Click to Pay: 1. **Merchant contacts Global Payments support** or their account manager. 2. Provide: - Merchant ID - Account name - Supported domains - Required schemes (Visa, Mastercard, etc.) 3. Global Payments handles onboarding on an account level. 4. Once confirmed, **Click to Pay is live for all eligible HPP transactions** on that account — no further action required by the merchant. ## Testing Click to Pay We recommend a full end-to-end test before going live using our [test cards](https://developer.globalpay.com/ecommerce/resources/test-card-numbers) ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-overview.md # Buy Now Pay Later - Overview The Buy Now Pay Later (BNPL) payment method allows customers to repay the cost of their purchase over time instead of all at once. This payment flexibility typically leads to better conversion rates as well as higher cart values. Using our API, you can offer your customers a range of BNPL payment options using a single integration. We support several BNPL providers in multiple markets, such as Klarna, Affirm, Sezzle, and ZIP. With our flexible API, your integration will automatically support any new BNPL providers that we add over time. You just need to pass the new provider name in the request. Our BNPL solution offers: * Choice of multiple BNPLs providers in a number of markets * Single point of integration to process all supported BNPL providers * Ability to offer different BNPL providers to target specific global markets * Consolidated reporting via our API and Reporting tool ## How does it work? With BNPL, you receive your funds directly from the BNPL provider the customer selects. Although the customer pays for their purchase over time, you receive the full funds up front, minus incurred fees. All transaction data, including authorization and settlement data, is available from us using our APIs and Merchant Portal reporting tool. With most BNPL providers, the payment process works like this: 1. Initiate the payment. 2. Redirect the customer to their payment method of choice. 3. Receive the initial response while the customer is redirected back to your app or website. 4. Verify the final status update from the payment method. At a high level, Buy Now Pay Later works like this using our API: ![Diagram flow showing interaction between the merchant website, our API, and the BNPL Provider to pay with Buy Now Pay Later.](https://developer.globalpayments.com/gh-assets/bnpl_flow.png) **Buy Now Pay Later Typical Flow** ## Next steps To get familiar with how BNPL works, see our [guide](https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-guide.md # Buy Now Pay Later - Guide In this guide, you’ll learn how to create a transaction that uses Buy Now Pay Later (BNPL). This includes initiating the payment, redirecting the customer, handling the redirect, checking the status, and capturing the transaction. For an overview of BNPL, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/buy-now-pay-later-overview.md) page. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Initiate the payment In this step, we create a transaction using the Initiate call. This will specify which BNPL provider the customer wants to pay with and includes the various data elements needed by the BNPL provider to validate and authorize the transaction. The Initiate call will also retrieve some necessary information to facilitate the redirect and authentication of the customer. In the request, You must specify the corresponding BNPL provider (for example, KLARNA, AFFIRM, ZIP) in the `payment_method.bnpl.provider` field. #### Sample request ```JSON curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer RyVpwpFYkuHowpkkMI3joCn0AB13' \ --data-raw '{ "account_name": "Transaction_Processing", "channel": "CNP", "capture_mode": "LATER", "type": "SALE", "amount": "55000", "net_amount": "55000", "currency": "USD", "reference": "TRANS-123", "country": "US", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "bnpl": { "provider": "AFFIRM" } }, "order": { "shipping_method": "DELIVERY", "items": [ { "reference": "92ebf294-f3ef-4aba-af30-6ebaf747de8f", "label": "iPhone 13", "description": "iPhone 13", "quantity": "1", "unit_amount": "55000", "total_amount": "55000", "tax_amount": "0", "discount_amount": "0", "tax_percentage": "0", "net_unit_amount": "55000", "gift_card_currency": "USD", "url": "https://www.example.com/iphone.html", "image_url": "https://www.example.com/iphone.png" } ], "shipping_address": { "first_name": "James", "last_name": "Mason", "line_1": "10 Glenlake Pkwy NE", "line_2": "", "city": "Atlanta", "postal_code": "30328", "state": "GA", "country": "US", "address_type": "HOME" }, "shipping_phone": { "country_code": "1", "subscriber_number": "123456789" } }, "payer": { "reference": "d78f06cf-7ad5-4a60-8507-ab8d5fc40787", "email": "james.mason@example.com", "date_of_birth": "1993-08-24", "billing_address": { "line_1": "10 Glenlake Pkwy NE", "line_2": "", "city": "Atlanta", "postal_code": "30328", "state": "GA", "country": "US" }, "contact_phone": { "country_code": "1", "subscriber_number": "123456789" }, "documents": [ { "type": "PASSPORT", "reference": "123456789", "issuer": "US" } ] }, "notifications": { "return_url": "https://www.example.com/returnUrl", "cancel_url": "https://www.example.com/cancelUrl", "status_url": "https://www.example.com/statusUrl" } }' ``` ### Sample Response ```JSON { "id": "TRN_3TSj7R20hI45oaYHoWsaljY8ZhH4tV", "time_created": "2025-11-13T22:22:25.835Z", "type": "SALE", "status": "INITIATED", "channel": "CNP", "capture_mode": "LATER", "amount": "56700", "currency": "GBP", "country": "GB", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "TRA_27c901760029495f813afbb0dab197ef", "account_name": "transaction_processing", "reference": "25966821", "payment_method": { "result": "0", "message": "REQUEST_SUCCESS", "entry_mode": "ECOM", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_3TSj7R20hI45oaYHoWsaljY8ZhH4tV/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl9jNWQzN2VhZjBlMzg0MWUwODNjMjMyYjIzMThhZjU1YyIsImFjY291bnRfaWQiOiJUUkFfMjdjOTAxNzYwMDI5NDk1ZjgxM2FmYmIwZGFiMTk3ZWYiLCJhcHBfaWQiOiJUNm9nMXRiRUNwSEZlTzEwNHFVTTM4M29xNWJPSjEyciIsIlgtR1AtVmVyc2lvbiI6IjIwMjEtMDMtMjIifQ==", "bnpl": { "provider": "KLARNA" } }, "batch_id": "", "action": { "id": "ACT_3TSj7R20hI45oaYHoWsaljY8ZhH4tV", "type": "INITIATE", "time_created": "2025-11-13T22:22:25.835Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Step 2: Redirect the customer Once the transaction is initiated, the customer must be redirected to the BNPL checkout flow using the URL returned in the Initiate response to facilitate authorization and authentication. To do this, use a simple JavaScript redirect or HTTP GET (302 redirect). In our example, we redirect the customer to the URL returned in the field 'payment_method.redirect_url' of the Initiate response using JavaScript. #### Sample redirect code ```xml Sample APM Redirect ``` ## Step 3: Handle the redirect and check the status Once the customer completes the transaction with the BNPL provider, they are redirected back to your app or website based on transaction success/failure using the URLs specified in the Initiate request. The unique transaction identifier is also returned, allowing you to check the status of the payment. When the customer is redirected back to your app or website, you can provide additional messaging depending on the BNPL provider used. Each BNPL provider has relevant marketing assets available that can be added to your app or webpages to enhance the customer experience. #### Sample Return URL parameters ``` X-GP-Signature=88b9d04eaa711f0f1595c9eb78458c1d23efc483aac419d3b86905de62fb97242f67a413c0e444250fd8c58384b86a90d0030f8fba4b111399551da54ac21f38 id=TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ&payer_reference=TRANS-123 action_type=REDIRECT_FROM action_id=ACT_0noTmweklBS8W2KENpxMZNqoRcyP0d ``` #### Sample URL ```JSON https://www.example.com/returnUrl/?X-GP-Signature=88b9d04eaa711f0f1595c9eb78458c1d23efc483aac419d3b86905de62fb97242f67a413c0e444250fd8c58384b86a90d0030f8fba4b111399551da54ac21f38&id=TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ&payer_reference=TRANS-123&action_type=REDIRECT_FROM&action_id=ACT_0noTmweklBS8W2KENpxMZNqoRcyP0d ``` The ID that is passed as a URL parameter is the `TRN_ID` and should be used to check the status of the transaction. A status of PREAUTHORIZED indicates that the amount indicated can now be captured by the merchant (see [Step 4 - Capture the transaction](#step-4-capture-the-transaction)). #### Sample request ```JSON curl --location --request GET 'https://https://apis-sandbox.globalpay.com/ucp/transactions/TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer eDgd0njOaUMAtjzn58ABxglxubyP' \ --data-raw '' ``` #### Sample response ```JSON { "id": "TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ", "time_created": "2022-03-24T18:37:31.109Z", "time_last_updated": "2022-03-24T18:57:35.272Z", "status": "PREAUTHORIZED", "type": "SALE", "merchant_id": "MER_1b64665c7a3e48989e75e6f33af03f7b", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_f623dc47576944129029696bf6be41bc", "account_name": "Transaction_Processing", "channel": "CNP", "amount": "55000", "merchant_amount": "", "partner_amount": "", "currency": "USD", "reference": "TRANS-123", "description": "", "order_reference": "", "time_created_reference": "", "batch_id": "", "initiator": "", "country": "US", "language": "", "ip_address": "37.228.242.98", "site_reference": "", "payment_method": { "result": "0", "message": "REQUEST_SUCCESS", "entry_mode": "ECOM", "fingerprint": "", "fingerprint_presence_indicator": "", "name": "James Mason" }, "action_create_id": "ACT_vxeNsN6B9JKnjiIyz4tvrikc6skGPR", "parent_resource_id": "TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ", "action": { "id": "ACT_ancrTzNwEfEPAztBi2KuIfFxRzweO4", "type": "TRANSACTION_SINGLE", "time_created": "2022-03-24T18:59:28.779Z", "result_code": "SUCCESS", "app_id": "gkXGvDH5FPvgUyDw9egbQSrHgu4GJYT0", "app_name": "demo_app" } } ``` ## Step 4: Capture the transaction Any transaction that is successfully PREAUTHORIZED can be captured. Depending on if the capture mode is LATER or MULTIPLE, the transaction can be captured once or multiple times, respectively. | Capture mode from payment initiation request | Status TRN_ID after capture | | -------- | ------- | | LATER | Original TRN - CAPTURED | | MULTIPLE | Original TRN - PREAUTHORIZED New TRNs created for each capture request - CAPTURED | Once the capture is complete, you can display a success message to the customer and update your app or website accordingly. You can also initiate the dispatch of items to the customer. Once the transaction is captured, you can expect to receive settlement directly from the BNPL provider. Refer to documentation for the individual BNPL provider for settlement timeframes. At any point in the process, you can call the Transactions endpoint for a status on the transaction and use the Settlement endpoint to check the final status. Settlement data is available via our API after the transaction is settled by the BNPL provider. #### Sample request ```JSON curl --location --request GET 'https://https://apis.sandbox.globalpay.com/ucp/transactions/TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ/capture' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer eDgd0njOaUMAtjzn58ABxglxubyP' ``` #### Sample response ```JSON { "id": "TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ", "time_created": "2022-03-24T18:37:31.109Z", "type": "SALE", "status": "CAPTURED", "amount": "55000", "currency": "USD", "country": "US", "reference": "TRANS-123", "payment_method": { "result": "0", "message": "REQUEST_SUCCESS", "bnpl": { "provider": "AFFIRM", "result": "201 CREATED" } }, "batch_id": "", "action": { "id": "ACT_vxeNsN6B9JKnjiIyz4tvrikc6skGPR", "type": "CAPTURE", "time_created": "2022-03-24T18:57:35.272Z", "result_code": "SUCCESS", "app_id": "gkXGvDH5FPvgUyDw9egbQSrHgu4GJYT0", "app_name": "GPAPI_Affirm_App" } } ``` ## Refunds To make a refund, follow the steps in our [Refund guide](https://developer.globalpayments.com/docs/payments/manage-payments/refund-guide.md) or see [Transactions](https://developer.globalpayments.com/api/transactions.md#/Capture%20a%20Sale/captureSaleTransaction) in API Explorer. Remember that for transactions initiated in MULTIPLE capture mode, each capture request generates a new `TRN_ID` that is returned in the request’s response. To make a refund for a particular capture request, the corresponding `TRN_ID` needs to be submitted as the id parameter path of the refund request. That is, `https://apis.sandbox.globalpay.com/ucp/transactions/{id}/refund` replaces `{id}` with the `TRN_ID` of the capture request you want to refund. #### Sample request ```JSON curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_hgokzKko3EFJpkL5BVBKoRfiJh6kEJ/refund' \ --header 'content-type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: eDgd0njOaUMAtjzn58ABxglxubyP' \ --data '{ "amount": "1199" }' ``` | Capture mode from payment initiation request | id parameter path | | -------- | ------- | | LATER | Original _TRN_ID_. | | MULTIPLE | _TRN_ID_ returned in the corresponding capture request. | ## Testing BNPL Our BNPL solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md # Alternative Payment Methods You can accept transactions from a number of worldwide local and alternative payment methods. This not only widens your customer base to more shoppers across the globe, but also provides the added benefit of managing all your payments through our Reporting tool. #### API In this guide, we set up the request, which gives you access to over 20 alternative payment methods (APMs). At a high level, the majority of APMs work like this: ![Diagram flow showing interaction between the customer, our API, and the merchant to use an alternative payment method.](https://developer.globalpayments.com/gh-assets/apm_flow.png) **Typical API Integration for an APM** ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Initiate the payment In an APM transaction, the first request is a Transactions Create. This is used to advise the payment method of the details of a new transaction and to retrieve the necessary information required to facilitate authentication. In this example, we set up a TestPay transaction. #### Sample request ```json curl -L -X POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ -H 'Authorization: Bearer NEKp7fES1nBQr8C9OV1ltsaJ9Fmc' \ -H 'X-GP-Version: 2021-03-22' \ -H 'Accept: application/json' \ -H 'Content-type: application/json' \ -H 'Accept-Encoding: gzip' \ -d '{ "account_name": "Transaction_Processing", "channel": "CNP", "amount": "1999", "type": "SALE", "currency": "EUR", "reference": "APM-20200417", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "apm": { "provider": "testpay" } }, "notifications": { "return_url":"https://www.example.com/returnUrl", "status_url": "https://www.example.com/statusUrl" } }' ``` ```java GpApiConfig config = new GpApiConfig(); config .setAppId(APP_ID) .setAppKey(APP_KEY) .setChannel(Channel.CardNotPresent.getValue()); ServicesContainer.configureService(config); AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod() .setAlternativePaymentMethodType(AlternativePaymentType.TESTPAY) .setReturnUrl("https://example.com/returnUrl") .setStatusUpdateUrl("https://example.com/statusUrl") .setCancelUrl("https://example.com/cancelUrl") .setDescriptor("Test Transaction") .setCountry("GB") .setAccountHolderName("Jane Doe"); try { Transaction transaction = paymentMethod .charge(new BigDecimal("19.99")) .withCurrency("EUR") .execute(); } catch (Exception ex) { // TODO: add your error handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = AppId; config.AppKey = AppKey; config.Channel = Channel.CardNotPresent; ServicesContainer.ConfigureService(config); var paymentMethod = new AlternativePaymentMethod { AlternativePaymentMethodType = AlternativePaymentType.TESTPAY, ReturnUrl = "https://example.com/returnUrl", StatusUpdateUrl = "https://example.com/statusUrl", CancelUrl = "https://example.com/cancelUrl", Country = "GB", AccountHolderName = "Jane Doe" }; try { var transaction = paymentMethod.Charge(19.99m) .WithCurrency("EUR") .Execute(); } catch (Exception ex) { // TODO: add your error handling here } ``` ```php $config = new GpApiConfig(); $config->appId = APP_ID; $config->appKey = APP_KEY; $config->channel = Channel::CardNotPresent; $config->country = 'GB'; ServicesContainer::configureService($config); $paymentMethod = new AlternativePaymentMethod(AlternativePaymentType::TEST_PAY); $paymentMethod->returnUrl = 'https://example.com/returnUrl'; $paymentMethod->statusUpdateUrl = 'https://example.com/statusUrl'; $paymentMethod->cancelUrl = 'https://example.com/cancelUrl'; $paymentMethod->country = 'GB'; $paymentMethod->accountHolderName = 'Jane Doe'; try { $response = $paymentMethod->charge(19.99) ->withCurrency('EUR') ->withClientTransactionId('APM-20200417') ->execute(); } catch (GatewayException $e) { // TODO: add your error handling here } $responseCode = $response->responseCode; // SUCCESS $transactionId = $response->transactionId; $transactionStatus = $response->responseMessage; // TransactionStatus::INITIATED $redirectUrl = $response->alternativePaymentResponse->redirectUrl; ``` ## Step 2: Redirect to the payment method Following a successful initiation of the transaction, the next step is to redirect the customer to the payment scheme to facilitate authentication and authorization. This can be achieved, for example, using a simple JavaScript redirect. You could also use a HTTP GET (302 redirect). In this example, we redirect the customer to the URL returned in the response using JavaScript. ### Sample redirect code ```html Sample APM Redirect ```HTML Once the customer completes their transaction with the payment method, they are redirected to the Return URL of the initial request. The current status of the transaction will also be returned. Your application might put the customer on hold for a few seconds while it checks to see if the Status URL was sent a final update. You can then redirect the customer to a final success or failure page. #### Sample Return URL parameters ```html X-GP-Signature=a86a2c3550c4228263fbd8cf0b4bd7c29ca453881495d1236507fe0bab9ce300dfba6dd12b308cc7b0d9d88cfb956a48c5fcd205579fda47e88b83a80fe9030b& id=TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM& status=PENDING& reference=APM-20200417& payment_method_result=01& payment_method_message=PENDING& provider=testpay& apm_wait_notification=0& apm_optional_redirect=0& apm_fund_status=NOT_EXPECTED& apm_payment_description=2NFQYHC& apm_confirmed_accountholder=Jane Doe& apm_account_number=93722& country=GB& apm_bank_iban=& apm_bank_identifier_code=& apm_bank_name=& apm_bank_code=& action_id=ACT_x0xHTCKj7gLDjJ0Om7r8lJ8lMo7nwy& action_type=RETURN_NOTIFICATION& action_time_created=2020-04-20T13:17:21.914Z ```HTML ## Step 3: Receive the final status The URL specified in the Status URL element in the initial request will receive the final status. Depending on the payment method used, this can happen at the same time as the customer is redirected to your Return URL, moments after — or, potentially, the final status update might come days later. For payment methods in which you expect the final status update to come days later, your Status URL will need to accept the message sent by us, find the correct order in your application, and update the status accordingly. You may want to inform the customer at this point that their payment was finally accepted. You can also initiate the dispatch of items to the customer. #### Sample status update ```json { "id":"TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM", "time_created":"2020-04-20T13:17:21.914Z", "type":"SALE", "status":"CAPTURED", "channel":"CNP", "capture_mode":"AUTO", "amount":"1999", "currency":"EUR", "country":"GB", "merchant_id":"MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name":"Sandbox_merchant_2", "account_id":"TRA_6716058969854a48b33347043ff8225f", "account_name":"Transaction_Processing", "reference":"APM-20200417", "payment_method":{ "result":"00", "message":"SUCCEEDED", "entry_mode":"ECOM", "apm":{ "provider":"testpay", "wait_notification":"", "fund_status":"NOT_EXPECTED", "payment_description":"3K1TRAA", "confirmed_accountholder":"Former Glory", "account_number":"93722", "iban":"DE25700251750322205970", "bank_identifier_code":"HYVEDEMM643", "bank_name":"HypoVereinsbank Penzberg", "bank_address":"", "optional_redirect":"" } }, "batch_id":"", "action":{ "id":"ACT_mkP7xm9u47kLgTwTKhYfQXRvfynwjP", "type":"STATUS_NOTIFICATION", "time_created":"2020-04-20T14:36:58.193Z", "result_code":"SUCCESS", "app_id":"jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name":"sample_app" } } ```JSON ## Supported payment methods Browse the APMs we support or search for a specific one. If additional fields are required, these will be documented along with the countries and currencies that are available with the payment method. ## Enhance your solution Explore more functionality to enrich your application. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) Get the full Transaction endpoint. ### [3D Secure & SCA](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) Add 3D Secure authentication to reduce fraud risk. ### [Manage Payments](https://developer.globalpayments.com/docs/payments/manage-payments/overview.md) Discover additional transaction options. ### [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) Let customers pay with their smartphone. #### HPP Alternative payment methods (APMs) available on your account can be displayed on the Hosted Payment Page (HPP). In this guide, we show you how they appear by default and also how to display only those available in certain countries or ones that you consider most relevant to the customer. ## How they display The HPP displays whatever APMs are available on your account. In addition, it displays only those payment methods that are available in the country submitted in the `order.transaction_configuration.country` field. ![Hosted Payment Page showing alternative payment methods.](https://developer.globalpayments.com/gh-assets/apm_hpp-example.png) **Alternative Payment Method Example (HPP)** ## Pre-select most relevant To present the most relevant payment methods to your customer, you can pre-select one or more in the request. To do this, include the optional `allowed_payment_methods` field. #### Sample request ```JSON ```json curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7V5XtjLBHLN1h' \ --data-raw 'account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-549d-4967-aeea-51b3f320046a", "payer": { "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "44", "subscriber_number": "1801555888, "billing_address": line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Halifax", "postal_code": "44", "country": "GB }, "order": amount": "1000", "currency": "EUR", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "GB", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD", "testpay", "sepapm", "sofort" ] }, "payment_method_configuration": { "authentications": { "preference": "CHALLENGE_PREFERRED } }, "notifications": return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url }' ``` ``` ## Additional request fields | Element/Field | Category | Format | Type | Length | Description | | --- | --- | --- | --- | --- | --- | | order.transaction_ , configuration.allowed_ , payment_methods | string | alphanumeric | O | 1-50 | Indicates which payment method(s) to offer the customer or route customers to a specific one. For example: cards|paypal|sofort | | payer.first_name | string | alphanumeric | O | 1-50 | The first name of the payer. | | payer.last_name | string | alphanumeric | O | 1-50 | The last name of the payer. | | order.transaction_ , configuration.country | string | ISO-3166-1 | O | | Country code in ISO-3166-1 (alpha-2 code) format. **minLength: 2 maxLength: 2** | ## Supported payment methods Browse the APMs we support or search for a specific one. If additional fields are required, these will be documented along with the countries and currencies that are available with the payment method. ## Enhance your integration Below are value-added services you can enable for the HPP. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) Tokenize card details to charge customers later. ### [Dynamic Currency Conversion](https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md) Discover additional transaction options. ### [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) Let customers pay securely with just a scan, tap, or click. ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/qr-codes-overview.md # QR Code Payments for Alipay and WeChat Pay - Overview > This feature is currently only available in the Asia Pacific region. For more information, check with your account manager. Alipay and WeChat Pay are the two most prominent digital wallets in China, both of which have become integral parts of daily life for Chinese customers and are widely used across Asia, with more than 2 billion users combined worldwide. They enable customers to make payments with QR codes through their mobile app. This provides a fast, secure, and convenient checkout experience. Our solution provides various ways to use both Alipay and WeChat Pay in-store and online. For merchants, the benefits of Alipay and WeChat Pay include: * Highly popular payment method trusted by users * Simplified checkout process with QR-code scanning * User-friendly mobile interface that can reduce friction and boost conversion rates * An extensive user base, including both the local market in China and tourists traveling abroad ## Use cases In this section, we present some “real world” examples that can be enabled through our QR Code Payment solution. Keep in mind that this section doesn’t cover all use cases. ##### Use case #1: Expand to new markets An international airline is looking to expand its routes and wants to include China as a new destination. They want to make sure that their online checkout experience is inclusive of local payment methods that will attract and enable customers to pay with ease. For this reason, they include Alipay and WeChat Pay as payment options on their online website, as this is a popular payment method in the Chinese market. ##### Use case #2: Quick payments A merchant with a physical store wants to allow customers to quickly make payments due to the very high demand at peak hours. They decide to include Alipay and WeChat Pay as payment options due to the quick QR-scanning process making payments easier and faster. ##### Use case #3: Convenient A merchant wants to allow their customers to complete online transactions regardless of whether they have their credit card or not. If their customers urgently need to complete an online transaction, they can select Alipay or WeChat Pay and simply scan the QR code with their mobile device. ## Supporting countries Alipay and WeChat Pay are currently supported in the following countries. | Country | Currency | Supported Channel(s) | | :---- | :---- | :---- | | Hong Kong SAR | HKD | In-Store, Online | | Macau | MOP | In-Store, Online | | Singapore | SGD | In-Store | | Malaysia | MYR | In-Store | | Philippines | PHP | In-Store | | Maldives | MVR | In-Store | | Sri Lanka | LKR | In-Store | ## How does it work? There are two main modes in which Alipay and WeChat Pay payments can be made: customer presented and merchant presented. This section describes each one and presents a typical flow diagram. The following table shows how each mode can be used in different payment scenarios. | Mode | In-Store | Online | | :---- | :---- | :---- | | Customer presented | ✅ | | | Merchant presented | ✅ | ✅ | ### Customer-presented mode (in-store) With this mode, the customer presents their wallet QR code on their mobile device for the merchant to scan and therefore make the payment. This is only applicable in an in-store scenario. ![Diagram flow showing the in-store payment flow between the customer, merchant, our API, and Alipay.](https://developer.globalpayments.com/gh-assets/qr-code_flow-in-store.png) **QR Code Payment Flow - Customer-Presented (In-Store)** ### Merchant-presented mode (online) With this mode, the merchant generates and displays a dynamic QR code for the customer to scan and make a payment on their own device. ![Diagram flow showing the online payment flow between the customer, merchant, our API, and Alipay.](https://developer.globalpayments.com/gh-assets/qr-code_flow-online.png) **QR Code Payment Flow - Merchant-Presented (Online)** ## Ready to get started? To get started with adding Alipay and WeChat Pay as payment methods, see the steps and code samples in our [guide](https://developer.globalpayments.com/docs/payments/payment-methods/qr-codes-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/qr-codes-guide.md # QR Code Payments for Alipay and WeChat Pay - Guide > This feature is currently only available in the Asia Pacific region. For more information, check with your account manager. This guide focuses on how to use direct API integration to add Alipay and WeChat Pay as payment methods via our QR Code Payment solution. We provide information for both customer-presented mode (CPM) for in-store payments and merchant-presented mode (MPM) for online payments. For more information on integrating QR code payments, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/qr-codes-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Initiate payment Select the applicable tab to see the code sample(s) for this step. #### Alipay ### Alipay (CPM) The QR code is initiated by the merchant scanning the QR code from the customer and adding the payment code to the transaction request. #### Sample request ```json { "account_id": "TRA_a4ae6dedbaaf4e7eb059265244383157", "account_name": "apm_cp_ap", "channel": "CP", "type": "SALE", "amount": "100", "currency": "HKD", "reference": "1234567890", "country": "HK", "capture_mode": "AUTO", "merchant_category_code": "5411", "merchant_category": "OTHER", "payment_method": { "name": "John Doe", "entry_mode": "MANUAL", "apm": { "brand": "ALIPAY", "provider": "ALIPAY", "category": "E_WALLET", "payment_code_initiator": "PAYER", "payment_code": "******************", "seconds_to_expire": "3000" } }, "notifications": { "return_url": "https://en7kxokn8pci.x.pipedream.net/", "status_url": "https://en7kxokn8pci.x.pipedream.net/" }, "device": { "os": "ANDROID", "application_version": "123", "reference": "android-13.1", "ip_address": "123.1.1.8000", "terminal_id": "16818700" } } ``` #### Sample response ```json { "id": "TRN_bWWMB5iSHRz20240109144602638", "time_created": "2024-01-09T14:46:05.743Z", "type": "SALE", "status": "INITIATED", "channel": "CP", "capture_mode": "AUTO", "amount": "100", "currency": "HKD", "country": "HK", "merchant_id": "MER_fba638a644644c7ab1fb8c148289452d", "merchant_name": "product_production_test", "account_id": "TRA_a4ae6dedbaaf4e7eb059265244383157", "account_name": "apm_cp_ap", "reference": "1234567890", "payment_method": { "result": "S0000", "message": "Success", "entry_mode": "ECOM", "apm": { "provider": { "result": "SUCCESS", "brand": "ALIPAY", "action": "PAYMENT", "reference": "2024010922001430521442666661", "time_created_reference": "2024-01-09T14:46:05Z", "name": "Alipay", "merchant_identifier": "2088331349414590" }, "category": "E_WALLET", "seconds_to_expire": "3000" } }, "action": { "id": "ACT_QgLhUldPX5Q4h56MsTb7GA74C8mYtA", "type": "INITIATE", "time_created": "2024-01-09T14:46:05.743Z", "result_code": "SUCCESS", "app_id": "pwgpvp0ictNp99MEZebNLy2wSHgKZ1Hd", "app_name": "product_production_ap_apm" } } ``` ### Alipay (MPM) The dynamic QR code is generated by the merchant and presented to the customer. #### Sample request ```json { "account_id": "TRA_13355df5a2f14e6eb5d4f707058bd9ff", "channel": "CP", "type": "SALE", "amount": "1", "currency": "HKD", "reference": "{{reference}}", "country": "HK", "merchant_category":"HOTEL", "lodging":{ "date_checked_in":"2024-12-20", "time_checked_in": "15:04:05+07:00", "date_checked_out":"2024-12-25", "time_checked_out": "15:04:05+07:00", "establishment_name":"Hilton Hotel" }, "payment_method": { "name": "Doe", "entry_mode": "MANUAL", "apm": { "category":"E_WALLET", "brand":"alipay", "provider": "ALIPAY", "seconds_to_expire":"120", "payment_code_initiator":"MERCHANT" } }, "notifications": { "return_url": "https://example.com/Return", "status_url": "https://webhook-test.com/5739fe861cfab27e7ad5625fa02efbfa" } } ``` #### Sample response ```json { "id": "TRN_EWySvv2pgTR20241217150725503", "time_created": "2024-12-17T15:07:27.091Z", "type": "SALE", "status": "INITIATED", "channel": "CP", "capture_mode": "AUTO", "amount": "1", "currency": "HKD", "country": "HK", "merchant_id": "MER_3b208b95ae534523ac6a16848b42b58b", "merchant_name": "Nucleus UPA Singapore", "account_id": "TRA_13355df5a2f14e6eb5d4f707058bd9ff", "account_name": "SG_HK_HKD", "reference": "30904621", "payment_method": { "result": "S0000", "message": "Waiting for user to make payment", "entry_mode": "MANUAL", "apm": { "provider": { "result": "SUCCESS", "brand": "ALIPAY", "action": "PAYMENT", "time_created_reference": "2024-12-17T15:07:25Z", "name": "Alipay", "merchant_identifier": "2088021966388155" }, "category": "E_WALLET", "seconds_to_expire": "120", "next_action": "PRESENT_QR_CODE" }, "qr_code": "https://qr.alipay.com/bax00452f3czlend3iex550b" }, "action": { "id": "ACT_1qpGElmUjrvlmoNZqf4u5KINSf4cxH", "type": "INITIATE", "time_created": "2024-12-17T15:07:27.091Z", "result_code": "SUCCESS", "app_id": "rGS771UBnWyI899SJ0TmICkJqqjNCtMg", "app_name": "UPA_Singapore_7CC" } } ``` #### WeChat Pay ### WeChat Pay (CPM) The QR code is initiated by the merchant scanning the QR code from the customer and adding the payment code to the transaction request. #### Sample request ```json { "account_id": "TRA_a4ae6dedbaaf4e7eb059265244383157", "account_name": "apm_cp_ap", "channel": "CP", "type": "SALE", "amount": "100", "currency": "HKD", "reference": "1234567890", "country": "HK", "capture_mode": "AUTO", "merchant_category_code": "5411", "merchant_category": "OTHER", "payment_method": { "name": "John Doe", "entry_mode": "MANUAL", "apm": { "brand": "WECHAT", "provider": "WECHAT", "category": "E_WALLET", "payment_code_initiator": "PAYER", "payment_code": "******************", "seconds_to_expire": "3000" } }, "notifications": { "return_url": "https://en7kxokn8pci.x.pipedream.net/", "status_url": "https://en7kxokn8pci.x.pipedream.net/" }, "device": { "os": "ANDROID", "application_version": "123", "reference": "android-13.1", "ip_address": "123.1.1.8000", "terminal_id": "16818700" } } ``` #### Sample response ```json { "id": "TRN_bWWMB5iSHRz20240109144602638", "time_created": "2024-01-09T14:46:05.743Z", "type": "SALE", "status": "INITIATED", "channel": "CP", "capture_mode": "AUTO", "amount": "100", "currency": "HKD", "country": "HK", "merchant_id": "MER_fba638a644644c7ab1fb8c148289452d", "merchant_name": "product_production_test", "account_id": "TRA_a4ae6dedbaaf4e7eb059265244383157", "account_name": "apm_cp_ap", "reference": "1234567890", "payment_method": { "result": "S0000", "message": "Success", "entry_mode": "ECOM", "apm": { "provider": { "result": "SUCCESS", "brand": "WECHAT", "action": "PAYMENT", "reference": "2024010922001430521442666661", "time_created_reference": "2024-01-09T14:46:05Z", "name": "WeChat_Pay", "merchant_identifier": "2088331349414590" }, "category": "E_WALLET", "seconds_to_expire": "3000" } }, "action": { "id": "ACT_QgLhUldPX5Q4h56MsTb7GA74C8mYtA", "type": "INITIATE", "time_created": "2024-01-09T14:46:05.743Z", "result_code": "SUCCESS", "app_id": "pwgpvp0ictNp99MEZebNLy2wSHgKZ1Hd", "app_name": "product_production_ap_apm" } } ``` ## Step 2: Scan QR code, complete payment ### Alipay (MPM) Next, the customer scans the QR code on the screen, which will direct them to the Alipay mobile application. 1. The customer is directed to the Alipay Mobile app to complete payment. ![Alipay mobile app screen.](https://developer.globalpayments.com/gh-assets/qr-code_alipay-1-mobile.png) 2. The customer enters a secure PIN. ![Alipay mobile app screen to enter pin.](https://developer.globalpayments.com/gh-assets/qr-code_alipay-2-pin.png) 3. The payment is successful. ![Alipay success mobile app screen.](https://developer.globalpayments.com/gh-assets/qr-code_alipay-3-success.png) ## Step 3: Receive payment notification You can receive notifications to let you know when the QR code payment is complete. #### Sample response ```json { "id": "TRN_CbouI7GWlhP20241217151518821", "time_created": "2024-12-17T15:15:20.209Z", "type": "SALE", "channel": "CP", "status": "CAPTURED", "amount": "1", "initial_amount": "1", "currency": "HKD", "country": "HK", "merchant_id": "MER_3b208b95ae534523ac6a16848b42b58b", "merchant_name": "Nucleus UPA Singapore", "account_id": "TRA_13355df5a2f14e6eb5d4f707058bd9ff", "account_name": "SG_HK_HKD", "reference": "18818971", "payment_method": { "entry_mode": "MANUAL", "apm": { "provider": { "brand": "ALIPAY", "action": "PAYMENT", "reference": "2024121722001493131409351446", "time_created_reference": "2024-12-17T23:17:13+08:00", "name": "Alipay" }, "category": "E_WALLET" } }, "action": { "id": "ACT_TUSeJIcF96wa4RkfcYrTvKkDYcEOn9", "type": "STATUS_NOTIFICATION", "time_created": "2024-12-17T15:17:16.272Z", "result_code": "SUCCESS", "app_id": "rGS771UBnWyI899SJ0TmICkJqqjNCtMg", "app_name": "UPA_Singapore_7CC" } } ``` ## Refunds You can initiate refunds for Alipay and WeChat Pay transactions. #### Sample response ```json { "id": "TRN_lmwlKKWm0QY20241217151858471", "time_created": "2024-12-17T15:18:59.492Z", "type": "REFUND", "status": "PENDING", "amount": "1", "currency": "HKD", "country": "HK", "reference": "27144201", "payment_method": { "result": "S0000", "message": "Success", "apm": { "provider": { "brand": "ALIPAY", "status": "Received", "action": "REFUND", "reference": "2024121722001493131409351446", "time_created_reference": "2024-12-17T15:17:13Z", "name": "Alipay" }, "category": "E_WALLET" } }, "action": { "id": "ACT_NToG4wb4YuourzfLVMwmrWdMyE5e5n", "type": "REFUND", "time_created": "2024-12-17T15:18:59.492Z", "result_code": "PENDING", "app_id": "rGS771UBnWyI899SJ0TmICkJqqjNCtMg", "app_name": "UPA_Singapore_7CC" } } ``` ## Additional information This section contains additional QR code payment information: * [Key payment request fields](#key-payment-request-fields) * [QR wallet default time to expire](#qr-wallets-default-time-to-expire) ### Key payment request fields The following table provides the description, enums, and conditions for QR Code related fields. To see a particular field in the API Explorer, click its Field Name link in the first column. | Field Name | Description | Enums | Conditions | | ---- | ---- | ---- | ---- | | [payment_code_initiator](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_apm_payment_code_initiator) | Indicates who initiated the payment method code to execute the transaction. | **PAYER** The customer who is paying the merchant. **MERCHANT** The business who is providing goods or services to the payer. | If **PAYER**, the following field is mandatory: `payment_code` | | [entry_mode](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_payment_method_entry_mode) | Indicates how the payment method information was obtained by the merchant for this transaction. | **MOTO** **ECOM** **IN_APP** **CHIP** **SWIPE** **MANUAL** **PHONE** **MAIL** **CONTACTLESS_CHIP** **CONTACTLESS_SWIPE** **PRESENT** **IN_WALLET_WEB** **UNKNOWN** | | | [merchant_category](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request__merchant_category_code) | Indicates what industry the merchant belongs to. | **HOTEL** **AIRLINE** **RETAIL** **TOP_UP** **GAMING** **VOUCHER** **OTHER** | Mandatory for all Alipay transactions (in-store and online). Additional data points are required based on the merchant_category your business falls under. If your business category is not listed here, use **OTHER**. If **HOTEL**, the following fields are mandatory: `lodging.establishment_name` `lodging.date_checked_in` `lodging_date_checked_in` `lodging.time_checked_in` `lodging.date_checked_out` `lodging.time_checked_out` If **AIRLINE**, the following fields are mandatory: `airline.legs.flight\_number` `airline.legs.time\_of\_departure` If **RETAIL**, the following fields are mandatory: `order.items.label` `order.items.description` `order.item\_quantity` If **TOP\_UP**, the following field is mandatory: `order.items.description` If **GAMING**, the following field is mandatory: `order.items.description` If **VOUCHER**, the following field is mandatory: `order.items.description` | | [brand](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_apm_brand) | A string used to identify the payment method brand used for this transaction. | **ALIPAY** **WECHAT** **ALIPAYHK** | | | [provider](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_apm_provider) | A string used to identify the payment method provider used for this transaction. | **ALIPAY** **WECHAT** | | | [category](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_apm_category) | Indicates the category of the alternate payment method. | **E\_WALLET** | | | [payment\_code](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_apm_payment_code) | The payment code generated by the initiator for the transaction. | | | | [seconds\_to\_expire](https://developer.globalpayments.com/api/transactions.md#/transactions_post_request_apm_seconds_to_expire) | The time in seconds that the QR code or redirect URL is valid for. | | | ### QR Wallets default time to expire #### Alipay / Alipay HK The following table shows the default expiry times by the entry mode provided in the payment request for Alipay and Alipay HK. | Entry Mode | Max | Min | Default | | :---- | ----- | ----- | ----- | | ECOM | 30 days | 0\* | 12 hours | | PHONE | 15 days | 1 minute | 12 hours | | IN\_WALLET\_WEB | 15 days | 1 minute | 12 hours | | IN\_APP | 15 days | 1 minute | 12 hours | \* Alipay suggests setting the minimum value at 5 minutes. #### WeChat Pay The following table shows the default expiry times by the entry mode provided in the payment request for WeChat Pay. | Entry Mode | Max | Min | Default | | :---- | ----- | ----- | ----- | | ECOM | 2 hours | 1 minute | 2 hours | | PHONE | 2 hours | 5 minutes | 2 hours | | IN\_WALLET\_WEB | 2 hours | 1 minute | 2 hours | | IN\_APP | 2 hours | 1 minute | 2 hours | ## Testing Our QR Code Payments solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Explore more functionality to enrich your application or website. For the detailed API specification and a full list of features, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [API/transactions](https://developer.globalpayments.com/api/transactions.md) See the full specification for transferring funds. ### [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) Let customers pay securely with just a scan, tap, or click. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) Learn how to integrate and display other payment methods. ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-overview.md # Open Banking - Overview > We currently support Open Banking transactions in GBP and EUR currencies. The full list of EUR countries supported by our Open Banking partner [Token.io](http://token.io/) can be found on their [coverage page](https://token.io/coverage). With our Open Banking solution, merchants can allow customers to pay for goods and services directly from their bank account. For example, customers can authorize a third party to make payments from their bank account on their behalf. You can easily add Open Banking to a new or existing integration, including with our hosted solutions. For merchants, the benefits of Open Banking include: * No card brand or interchange fees * Faster settlement — obtain funds in real time * No chargebacks * No customer onboarding or registration required * Faster allocation of incoming funds * Better screening, fewer false declines, and higher success rates — by leveraging bank authentication ## Use cases In this section, we present some “real world” examples that can be enabled through our Bank Payment service for Open Banking. Keep in mind that this section doesn’t cover all of the use cases. ##### Use Case #1: Invoicing software An invoice software platform wants to allow its merchants to enable Bank Payments as a payment option so that they get paid faster. In addition, the platform wants to reduce the processing fees associated with traditional card payments. Another advantage for the platform’s merchants is that with the in-app payment flow, they can settle invoices in just a few clicks. ##### Use Case #2: Wallet or account top-up A digital wallet provider wants to allow their customers to top up their wallet, or a customer wants to top up an investment account. Bank Payment can be used as an alternative to card top-ups so the digital wallet provider or investment company pays less in processing fees. ##### Use Case #3: High-ticket items Car dealerships and jewelry shops often deal with significant transaction values. The instant settlement of funds that comes with using Bank Payment would give these merchants of high-ticket items the confidence to release the product knowing the funds were received and that there can’t be a fraudulent chargeback. ##### Use Case #4: Regular money movement A financial institution wants to make the moving of money and the repayments of credit card balances easier and cheaper than card payments since these activities are the core of their business, so it uses Bank Payment instead. It’s also a better option than paying with bank transfers, personal checks, and cash—all of which can be prone to error, come with significant overhead costs, or involve an inconsistent and time-consuming reconciliation process. ##### Use Case #5: Monthly utility bills A utility company wants a better process for collecting payment for their services regularly. Traditional ways of paying like direct debit and bank transfers require a higher operational cost (for example, fraud compliance) and longer settlement times, not to mention tedious data entry for the customer — which can lead to increased drop-off rates and even missed payments. So, instead, the company leverages Bank Payment to give customers an easy way to pay online, on invoices, or via QR codes, including form fields that are pre-filled with the customer’s bank details. Customers can also pay multiple bills in bulk or top up their accounts to pay off balances. ## What is Open Banking? Open Banking is the process through which banks allow third-party financial service companies to access a customer's financial data via APIs (with the customer’s permission). To facilitate Open Banking purchases on merchant ecommerce sites, we built a service called _Bank Payment_ in collaboration with our technology partner, Token.io (Token). Token serves as an intermediary and has an API integration with participating banks. This API is called when a customer using Bank Payment is redirected to their bank for authentication. For our hosted solutions, Bank Payment appears as another payment option alongside non-card payment methods like PayPal or local payment methods. Bank Payment transactions display in Merchant Portal reporting with a Bank Payment icon in the Payment Method column. ![Bank payment icon](https://developer.globalpayments.com/gh-assets/open-banking/bank-payment-logo.png) **Bank Payment Icon** ### Settlement options Open Banking transactions allow the funds to transfer directly from a customer’s account into your account (_Direct Settlement_). This gives fast access to the money but may be difficult for reconciliation of every individual transaction on your bank statement and funds arriving throughout the day. To overcome this issue, we offer a managed service (_Managed Settlement_) where we collect the funds on your behalf throughout the day and then make a batch settlement (the same as for card transactions). Reporting and reconciliation tools are available in our Merchant Portal. #### Direct Settlement For Direct Settlement, you can either store the bank account details in your account or pass them through in the payment request. You may want to use different accounts for receiving funds in different currencies—for example, one for British pounds (GBP) and another for euro (EUR) transactions. If you have the bank account details stored with us, you can choose to supersede this on a transaction-by-transaction basis by supplying the details in the request. > If you’re using an HSBC Payment Initiation Service Provider (PISP), the beneficiary accounts must be an HSBC account and must be stored by us. Also, the accounts must be allowlisted and can’t be sent in the request. You’ll need to submit these accounts to us during boarding so we can allowlist them. #### Managed Settlement Receiving bank account information (that is, beneficiary account) is not required in the payment request. We will append our own beneficiary account details to the transaction request before it’s sent to the bank for the customer to authenticate and confirm the payment. ### Currency selection Where possible, a customer should be able to select the currency that they want to pay in. Many banks use the SWIFT network to route cross-border and trans-currency payments. However, this can trigger significant transaction fees, which can lead to a poor user experience and less ongoing conversion. You can initiate cross-border payments with our Open Banking solution. However, there is a lack of consistency in how this works across the banks that our technology partner Token provides connectivity to. Your incorporation location as a merchant is not important when collecting cross-border payments via Open Banking, but the beneficiary accounts you use are. These accounts dictate the currency and payment method types (Single Euro Payments Area [SEPA] or Faster Payments) that can be received and used. * For payments in euros, use a euro-denominated beneficiary account at an institution that is connected to the SEPA network. * For payments in British pounds, use a GBP-denominated beneficiary account at an institution that is connected to the Faster Payments network. ## How does it work? The Open Banking transaction is initiated when the customer selects the Bank Payment button as the payment method. The customer is then redirected to Token’s Bank Payment web app to find their bank. Once their bank account is selected, the customer accepts the bank’s terms and conditions (T&Cs). The customer is then redirected to the bank’s website or mobile app where they can log in and confirm the payment. They are then redirected to your Return URL where you can hold them temporarily until you call and receive the final status of the transaction. In the following sections, we provide more details for each of these steps. ### Redirect the customer to bank selection After initiating the Open Banking transaction, the customer is redirected to the Bank Payment web app to select their bank, which is hosted by our technology partner Token. The customer is presented with a list of supported banks based on the country and the currency of the transaction. After selecting their bank, the customer then confirms the payment details and continues to the bank’s T&Cs page. ![](https://developer.globalpayments.com/gh-assets/open-banking/redirect-customer_cropped.png) **Bank Selection and Payment Details Screens** ### Customer accepts T&Cs After the customer selects the bank they want to use to pay, they will need to accept the T&Cs of the Open Banking transaction. These terms are governed by the PISP—that is, the regulated entity that is authorized by the Financial Conduct Authority, or equivalent authority, to provide Open Banking services. This is a required step in Open Banking so that the customer is fully aware of the conditions of the transaction. Either we or our partners Token or HSBC UK will serve as the PISP. It depends on the settings agreed to and configured when you set up Open Banking with us. ![Terms and conditions screen](https://developer.globalpayments.com/gh-assets/open-banking/customer-accepts-terms-cropped.png) **Terms and Conditions Screen** ### Customer is redirected to their bank At the next step, the customer is redirected to their bank to log in and confirm the payment. If they are transacting on a mobile device that has their bank app installed, they will be prompted to use the app (_Decoupled Model_); otherwise, they will be redirected to a web app (_Redirect Model_) hosted and controlled by the bank. The customer will log in using their online or mobile banking credentials (this may include multi-factor authentication if required by their bank). They will then see all the transaction details (including amount, payee, and remittance reference) automatically populated. The customer simply selects the account they want to pay from and confirms the transaction. #### Decoupled Model ![Decoupled model for open banking on a mobile device app.](https://developer.globalpayments.com/gh-assets/open-banking/Model-Decoupled.png) **Open Banking - Decoupled Model (Mobile Device App)** #### Redirect Model ![Redirect model for open banking on a web app.](https://developer.globalpayments.com/gh-assets/open-banking/Model-Redirect.png) **Open Banking - Redirect Model (Web App)** ### Customer is redirected back to the merchant Before the customer is redirected back to your website, they will be presented with the Payment Confirmation screen. This is another required step in Open Banking so the customer is fully aware of the conditions of the transaction. At this point, the customer is shown four potential outcomes: * Success * Submitted * Technical Error * Unsuccessful After 10 seconds, the customer will then be able to click Return to Merchant where they will see their final confirmation and summary. #### Payment confirmation ![Payment Status Potential Outcomes.](https://developer.globalpayments.com/gh-assets/open-banking/Pay-Confirmation_cropped.png) **Payment Status Potential Outcomes** ### Receive the customer back to your app The browser will be redirected back to the Return URL (`return_url`) that you specify. The redirection includes the Open Banking Transaction ID (`&id`) as a URL parameter. At this point, you’ll need to hold the customer temporarily while you query the final status of the transaction. To query the transaction, do a GET call to get the status of the transaction. Depending on the status that is returned, there may be a subsequent webhook notification sent to the `status_url` you provided. The following table shows a few examples of when an additional webhook could be sent, but doesn’t list them all. | Status | Additional Webhook | Reason | | -------- | ------- | ------- | | SUCCESS/CAPTURED | No | Transaction is complete. | | SUBMITTED/PENDING | Yes | Original transaction was not fully complete at the time, and the bank needs to send a subsequent notification of the result. We recommend using caution when shipping goods or releasing funds before a SUCCESS status is given by the asynchronous webhook. | | DECLINED/ERROR | No | Transaction has ended. | ## Next steps To get familiar with how Open Banking works, see our [guide](https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-guide.md # Open Banking - Guide #### API In this guide, you’ll learn how to process a transaction with the Bank Payment payment method via direct API integration or Hosted Fields using our Open Banking infrastructure. For more information about Open Banking, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Initiate the payment First, we submit a mandatory request to initiate an Open Banking transaction. It needs to include the transaction’s core parameters so that we have enough information to create the payment with our technology partner and the customer’s bank. A successful transaction request will return a unique transaction identifier `TRN_ID` and a redirect URL, which you’ll use to facilitate the customer confirmation of the transaction [Step 2](#step-2-redirect-the-customer). At a high level, initiating an Open Banking transaction works like this: ![Diagram flow between the customer, merchant, and our API to initiate an Open Banking transaction](https://developer.globalpayments.com/gh-assets/open-banking_flow1.png) The first step is to create a transaction using the Initiate call. This will specify the amount, currency, and data elements needed to process an Open Banking transaction. Where the payment.scheme is FASTER PAYMENTS, the available `payment_method` fields (the destination bank account fields) will be: * payment_method.bank_transfer.account_number * payment_method.bank_transfer.bank.code * payment_method.bank_transfer.bank.name Where the `payment.scheme` is SEPA, the available `payment.destination` fields will be: * `payment_method.bank_transfer.iban` * `name` #### Sample request ```json { "merchant_id":"MER_43d5c7b98fe44d8c80d915c6422e83ee", "account_id":"TRA_956309a58ea14d75839ca8b1cfa48ff4", "channel":"CNP", "amount":"10000", "type":"SALE", "currency":"GBP", "reference":"becf9f3e-4d33-459c-8ed2-0c4affc9555e", "country":"GB", "payment_method":{ "name":"Jane Doe", "entry_mode":"ECOM", "apm":{ "provider":"OPEN_BANKING" "countries": [ "GB", "IE" ] }, "bank_transfer":{ "account_number": "99999999", "bank": { "code": "407777", "name": "Merchant Name" }, "remittance_reference":{ "type":"TEXT", "value":"Product Name" } } }, "notifications":{ "return_url":"https://www.example.com/return", "status_url":"https://www.example.com/status/" } } ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("APP_ID"); config.setAppKey("APP_KEY"); config.setChannel(Channel.CardNotPresent); config.setCountry("GB"); ServicesContainer.configureService(config); BankPayment bankPayment = new BankPayment(); bankPayment.setAccountNumber("99999999"); bankPayment.setSortCode("407777"); bankPayment.setAccountName("Merchant Name"); List countryList = new ArrayList<>(); countryList.add("GB"); countryList.add("IE"); bankPayment.setCountries(countryList); bankPayment.setReturnUrl("https://www.example.com/return"); bankPayment.setStatusUpdateUrl("https://www.example.com/status"); Transaction response = null; try { response = bankPayment.charge(new BigDecimal(100)) .withCurrency("GBP") .withRemittanceReference(RemittanceReferenceType.TEXT, "Product Name") .execute(); } catch (GatewayException ex) { // TODO: Add your exception handling here } String responseCode = response.getResponseCode(); // SUCCESS String trnStatus = response.getResponseMessage(); // INITIATED String trnId = response.getTransactionId(); String redirectUrl = response.getBankPaymentResponse().getRedirectUrl(); ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "APP_ID"; config.AppKey = "APP_KEY"; config.Channel = Channel.CardNotPresent; config.Country = "GB"; ServicesContainer.ConfigureService(config); BankPayment bankPayment = new BankPayment(); bankPayment.AccountNumber = "99999999"; bankPayment.SortCode = "407777"; bankPayment.AccountName = "Merchant Name"; bankPayment.Countries = new List() {"GB", "IE"}; bankPayment.ReturnUrl = "https://www.example.com/return"; bankPayment.StatusUpdateUrl = "https://www.example.com/status"; try { var response = bankPayment.Charge(100) .WithCurrency("GBP") .WithRemittanceReference(RemittanceReferenceType.TEXT, "Product Name") .Execute(); var responseCode = response.ResponseCode; // SUCCESS var trnStatus = response.ResponseMessage; // INITIATED var trnId = response.TransactionId; var redirectUrl = response.BankPaymentResponse.RedirectUrl; } catch (GatewayException ex){ // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'APP_ID'; $config->appKey = 'APP_KEY'; $config->channel = Channel::CardNotPresent; $config->country = 'GB'; ServicesContainer::configureService($config); $bankPayment = new BankPayment(); $bankPayment->accountNumber = '99999999'; $bankPayment->sortCode = '407777'; $bankPayment->accountName = 'Merchant Name'; $bankPayment->countries = ['GB', 'IE']; $bankPayment->returnUrl = 'https://www.example.com/return'; $bankPayment->statusUpdateUrl = 'https://www.example.com/status'; try { $response = $bankPayment->charge(100) ->withCurrency('GBP') ->withRemittanceReference(RemittanceReferenceType::TEXT, 'Product Name') ->execute(); } catch (GatewayException $ex){ // TODO: Add your exception handling here } $responseCode = $response->responseCode; // SUCCESS $trnStatus = $response->responseMessage; // INITIATED $trnId = $response->transactionId; $redirectUrl = $response->bankPaymentResponse->redirectUrl; ``` #### Request syntax | Name | Format | Type | Description | | -------- | ------- | ------- | ------- | | channel | string | M | Describes whether the transaction was processed in a customer present (CP) or customer not present (CNP) scenario. Must always be CNP for Open Banking. | | type | string | M | Describes whether the transaction is a SALE or REFUND. **SALE** indicates the movement of funds (or attempt to) from payer to merchant. **REFUND** indicates the movement of funds (or attempt to) from merchant to payer. | | reference | string | O | Information that some banks may record and display on the account of the customer or merchant. | | **payment_method** | | | | | name | string | M | Name of the payer. | | **bank_transfer** | | | | | account_number | string | C | Number of the destination account where the funds will be transferred to. Optional for Direct Settlement transactions (if not saved during boarding with us) and if the method type is FASTERPAYMENTS. | | bank.code | string | C | Sort code of the destination account. Optional for Direct Settlement transactions (if not saved during boarding with us) and if the method type is FASTERPAYMENTS. | | iban | string | C | International Bank Account Number (IBAN) of the destination account. Optional for Direct Settlement transactions (if not saved during boarding with us ) and if the method type is SEPA. | | **remittance_reference** | | | | | type | string | M | Type of remittance reference. Allowed values: TEXT | | value | string | M | If type is TEXT: a description for the transaction. Most banks will record and display this reference on the customer’s account. For Direct Settlement, it will also show on the customer’s bank statement when the funds are received. If type is PAN: allows the cardholder’s Primary Account Number (PAN) to be securely passed depending on the merchant use case. | | **bank** | | | | | name | string | M | Name of the merchant. Underscore character [ _ ] not permitted. Spaces are allowed, and acceptable special characters are -. ,'’‘`()*&@/. | | **apm** | | | | | provider | string  | M | Used to identify the payment method provider being used to execute this transaction. For example: OPEN_BANKING | | countries | array | O | The countries’ banks that are displayed to the payer. | | **notifications** | | | | | return_url | string | M | URL to return the customer’s browser to once the transaction is complete. | | status_url | string | O | Webhook URL that an asynchronous webhook will be sent to by some banks after the initial transaction is carried out to update the status of the transaction. | ## Step 2: Redirect the customer Once the transaction is initiated, the customer must be redirected to the Open Banking checkout flow using the URL returned in the Initiate response to facilitate authorization and authentication. To do this, use a simple JavaScript redirect or HTTP GET (302 redirect). At a high level, redirecting the customer works like this: ![Diagram flow between the customer, merchant, and our API to redirect the customer](https://developer.globalpayments.com/gh-assets/open-banking_flow2.png) In our example, we redirect the customer to the URL returned in the Initiate response using JavaScript. ```xml ``` window.location = "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_IDhttps://apis.globalpay.com/ucp/postback/transactions/TRN_CJtYAlPtbhbikIfcZCNTy3CVCBwfUK_sdgpoh123456/redirect/eyJtbWEiOm51bGwsIm1pZCI6Ik1FUl80M2Q1YzdiOThmZTQ0ZDhjODBkOTE1YzY0MjJlODNlZSIsInhnIjoiMjAyMS0wMy0yMiJ9"; ``` ``` ## Step 3: Handle the redirect and check the status Once the customer completes the transaction with the Open Banking provider, they are redirected back to your app or website based on transaction success/failure using the Return URL specified in the Initiate request. The unique transaction identifier is also returned as part of the parameters in the URL. You should use this to check the status of the payment (see [Step 4](#step-4-get-transaction-status)). The ID that is passed as a URL parameter is the `TRN_ID` and should be used to check the status of the transaction (see example below). #### Sample Return URL parameters ```xml ``` https://www.example.com/return?X-GP-Signature=399af8063773573040b3d1e76ccf313ed40491e61b3fe768390d7a1da925506c3908405f17be8fb82b978ab4790f76cdeb7b292b48dce716903c36eab57580a9&id=TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456&payer_reference=asdgpoh123456&action_type=REDIRECT_FROM&action_id=ACT_J8pXg8cjUuOltUHovOAGpqUooy7XZD ``` ``` #### Checking the signature The Return URL contains a signature made up of the key transaction fields. This includes the Transaction ID (`TRN_ID`), Payer Reference, Action Type, and Action ID. Your application must construct and check the signature to ensure the response wasn’t tampered with. To construct the signature, take the string containing the above fields from the Return URL, excluding the signature itself. ``` ``` id=TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456&payer_reference=asdgpoh123456&action_type=REDIRECT_FROM&action_id=ACT_J8pXg8cjUuOltUHovOAGpqUooy7XZD ``` Concatenate your app key to the end of this string. ``` id=TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456&payer_reference=asdgpoh123456&action_type=REDIRECT_FROM&action_id=ACT_J8pXg8cjUuOltUHovOAGpqUooy7XZD.app_key ``` ``` The signature should be a Sha512 hash of the concatenated string. For example: ``` ``` 399af8063773573040b3d1e76ccf313ed40491e61b3fe768390d7a1da925506c3908405f17be8fb82b978ab4790f76cdeb7b292b48dce716903c36eab57580a9 ``` ## Step 4: Get transaction status In this step, we get the transaction details and receive the webhook notification. As mentioned previously, the `TRN_ID` field should be used to check the status of the transaction. At a high level, getting the transaction status works like this: ![Diagram flow between the customer, merchant, and our API to get the transaction status.](https://developer.globalpayments.com/gh-assets/open-banking_flow3.png) #### Sample request The following sample is for the GET request. ``` curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer pJ2An7thGclc8UUVZSntPRmsAUrR' \ ``` ``` GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); // config.setAppId("APP_ID"); config.setAppKey(APP_KEY); // config.setAppKey("APP_KEY"); config.setChannel(Channel.CardNotPresent); ServicesContainer.configureService(config); // the id of the transaction to fetch its details String transactionId = "TRN_2mz2U86WWSEWSgV5HUN25LrzpbdBIU_a2417fd45ea4"; TransactionSummary response = null; try { response = ReportingService.transactionDetail(transactionId) .execute(); } catch (GatewayException ex) { // TODO: Add your exception handling here } transactionId = response.getTransactionId(); String trnStatus = response.getTransactionStatus(); DateTime trnDate = response.getTransactionDate(); String trnType = response.getTransactionType(); BigDecimal trnAmount = response.getAmount(); String trnCurrency = response.getCurrency(); String sortCode = response.getBankPaymentResponse().getSortCode(); String accountNumberLast4 = response.getAccountNumberLast4(); ``` ``` GpApiConfig config = new GpApiConfig(); config.AppId = "APP_ID"; config.AppKey = "APP_KEY"; config.Channel = Channel.CardNotPresent; ServicesContainer.ConfigureService(config); var transactionId = "TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456"; try { var response = ReportingService.TransactionDetail(transactionId) .Execute(); var transId = response.TransactionId; var trnStatus = response.TransactionStatus; var trnDate = response.TransactionDate; var trnType = response.TransactionType; var trnAmount = response.Amount; var trnCurrency = response.Currency; var sortCode = response.BankPaymentResponse.SortCode; var accountNumberLast4 = response.AccountNumberLast4; } catch (GatewayException ex){ // TODO: Add your exception handling here } ``` ``` $config = new GpApiConfig(); $config->appId = 'APP_ID'; $config->appKey = 'APP_KEY'; $config->channel = Channel::CardNotPresent; ServicesContainer::configureService($config); $transactionId = 'TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456'; try { $response = ReportingService::transactionDetail($transactionId) ->execute(); } catch (GatewayException $ex){ // TODO: Add your exception handling here } $transactionId = $response->transactionId; $trnStatus = $response->transactionStatus; $trnDate = $response->transactionDate->format("d/m/Y H:i:s"); $trnType = $response->transactionType; $trnAmount = $response->amount; $trnCurrency = $response->currency; $sortCode = $response->bankPaymentResponse->sortCode; $accountNumberLast4 = $response->accountNumberLast4; ``` ## **Step 5: Refund a Transaction** Once a transaction is captured and the funds are deducted from the customer’s account, you can refund the full or partial amount back to them. When using Open Banking, refunds can only be used if you are using Managed Settlement as your settlement option. To initiate a refund, you must use the `TRN\_ID` ( `TRN\_U5cRgH1nfubpsDSlrM67iz8hNj7cF9\_sdgpoh` ) from the initial transaction. A refund can be full or partial (up to 100% of the initial transaction amount). Refund transactions appear as “BANK PAYMENT REFUND” on the customer’s bank account statement. Refund transactions will generate a new `TRN\_ID` ( `TRN\_k0ljUGPtITG0dN4gfAh4Qh86hRYMtj\_sdgpoh` ). ### Request ``` curl --location --request POST 'https://{}/ucp/transactions/{}/refund' \ --header 'Accept: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer pJ2An7thGclc8UUVZSntPRmsAUrR' --header 'Content-Type: application/json' \ ``` ### Response ``` id": "TRN_k0ljUGPtITG0dN4gfAh4Qh86hRYMtj_sdgpoh", "time_created": "2024-10-03T10:33:52.003Z", "type": "REFUND", "status": "CAPTURED", "amount": "1999", "currency": "GBP", "country": "GB", "reference": "sdgpoh", "payment_method": { "message": "INITIATION_PROCESSING", "apm": { "provider": "open_banking, "bank_transfer": bank": {} } }, "action": { "id": "ACT_k0ljUGPtITG0dN4gfAh4Qh86hRYMtj", "type": "REFUND", "time_created": "2024-10-03T10:33:52.003Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test } ``` ## **Step 6: Get Refund Status** Refunds are usually successful and are given `CAPTURED` as the status in the response. Sometimes `PENDING` is returned indicating that the bank is carrying out some additional checks before refunding the funds. If this happens, we recommend that you send a Get transaction status request using the `trn\_id` generated in the response as outlined in step 4 above. ### Request ### Request ``` curl --location --request GET 'https://{}/ucp/transactions/TRN_k0ljUGPtITG0dN4gfAh4Qh86hRYMtj_sdgpoh’ \ --header 'Accept: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer pJ2An7thGclc8UUVZSntPRmsAUrR' --header 'Content-Type: application/json' \ ``` ### Response ``` id": "TRN_qkDsyzid0HciYULvwLuSB6AAIomxqz_99977641", "time_created": "2025-03-28T11:24:19.982Z", "time_last_updated": "2025-03-28T11:24:19.982Z", "status": "CAPTURED", "type": "REFUND", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "TRA_55cf70132893425c9e950b7254ca0a64", "account_name": "transaction_processing_ob", "channel": "CNP", "amount": "", "merchant_amount": "", "partner_amount": "", "gratuity_amount": "", "surcharge_amount": "", "surcharge_type": "", "currency": "GBP", "reference": "99977641", "description": "", "order_reference": "", "order": { "reference": ", "time_created_reference": "", "batch_id": "", "initiator": "", "country": "GB", "language": "", "ip_address": "165.225.199.17", "site_reference": "", "payment_method": result": "", "message": "INITIATION_FAILED", "entry_mode": "ECOM", "name": "Jane Doe", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_W7P6Laro8zZDcWEfoL4wAazsN8q2rf_99977641/redirect/eyJtbWEiOm51bGwsIm1pZCI6Ik1FUl9jNWQzN2VhZjBlMzg0MWUwODNjMjMyYjIzMThhZjU1YyIsInhnIjoiMjAyMS0wMy0yMiJ9", "apm": { "provider": "open_banking", "countries": [ "GB" ] }, "bank_transfer": { "remittance_reference": { "type": "TEXT", "value": "Nike Bounce Shoes } }, "installment": id": "", "program": "", "terms": { "id": "", "time_unit": "", "time_unit_number": "", "interest_rate": "", "first_amount": "", "subsequent_amount": "", "last_amount": "", "total_amount": "", "reference": "", "mode": "", "total_time_unit_count": "", "time_unit_amount": "", "currency": "", "description": "", "expiration_date": "", "expiration_interest_rate": "", "terms_and_conditions_url": ", "mode": "", "count": "", "grace_period_count": "" }, "action_create_id": "ACT_qkDsyzid0HciYULvwLuSB6AAIomxqz", "parent_resource_id": "TRN_W7P6Laro8zZDcWEfoL4wAazsN8q2rf_99977641", "system": mid": "123456789", "tid": "0149210014212599819744106286698950319218", "name": "ecomtest1, "action": id": "ACT_akm3Mb8ud6S6voi2K7a1ZHRJ1gfFTx", "type": "TRANSACTION_SINGLE", "time_created": "2024-10-03T11:24:35.730Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test } ``` ## Testing Open Banking Our Open Banking solution is available for testing in our Sandbox environment for registered users of this developer portal. For Open Banking, we provide "test banks" instead of test cards. Each one provides a different outcome. For more information, see the [Open Banking](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#open-banking) section of our Test Cards article. This guide focuses on integrating Open Banking with our Drop-In User Interface (UI), which is a ready-made payment form using our Hosted Fields solution. You’ll learn how to add Open Banking to your payment form using our JavaScript Library. To learn how to use the Hosted Fields components on their own with your existing payment form, see our [Hosted Fields Guide](https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md). For more information about Open Banking, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/open-banking-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Configure with Open Banking Once you’ve created the access token, you can now configure the JavaScript Library to enable Open Banking in your payment form. Add a `
` tag to render the Drop-In UI payment form to the customer. ``` ```

Next, we configure our JavaScript Library with the transaction details required for Open Banking. ``` GlobalPayments.configure({ accessToken: "accessToken", env: "sandbox", apiVersion: "2021-03-22", language: "en", account: "accountId", apms: { currencyCode: "GBP", countryCode: "GB", nonCardPayments: { allowedPaymentMethods: [{ provider: GlobalPayments.enums.ApmProviders.OpenBanking, }] } }, }); const cardForm = GlobalPayments.creditCard.form( '#credit-card-form', { amount: "800", style: "gp-default", apms: [ GlobalPayments.enums.Apm.OpenBankingPayment], } ); cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const = paymentProviderData; console.log('Selected provider: ' + provider); if (provider === GlobalPayments.enums.ApmProviders.OpenBanking) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "https://fluentlenium.com/", } }); window.dispatchEvent(merchantCustomEventProvideDetails); } }); ```





**

Drop-In UI with Open Banking button

**

#### JavaScript configuration (Open Banking specific parameters) *Type* indicates whether the element is Mandatory (M), Optional (O), or Conditional (C)—dependent on another field or regional requirement. | Name | Format | Type | Description | | -------- | -------- | -------- | -------- | | currencyCode | string | M | Currency of the amount in ISO-4217 (alpha-3). | | countryCode | string | M | The country in ISO-3166-1(alpha-2 code) format. | | provider | string | M | The string used to identify the payment method provider being used to execute this transaction. | ## Step 2: Capture customer selection Now that we have configured Open Banking and it's displayed on the Drop-In UI, when a customer selects Open Banking as the payment method, the Drop-In UI returns this selection in an event. For example, the Drop-In UI returns: _Selected provider: OpenBanking_. Below is the code snippet of how the Drop-In UI returns this event. ``` cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const = paymentProviderData; console.log('Selected provider: ' + provider); ... //continued in Step 4 - Redirect customer to Open Banking ``` ## Step 3: Initiate the Open Banking transaction Now that we know what payment method the customer has selected, we can initiate the payment to complete the transaction. First, we submit a mandatory request to initiate an Open Banking transaction. It needs to include the transaction’s core parameters so that we have enough information to create the payment with our technology partner and the customer’s bank. A successful transaction request returns a unique transaction identifier (`TRN_ID`) and a redirect URL, which you’ll use to facilitate the customer confirmation of the transaction ([Step 4](#step-4-redirect-customer-to-open-banking)). #### Sample request ``` merchant_id":"MER_43d5c7b98fe44d8c80d915c6422e83ee", "account_id":"TRA_956309a58ea14d75839ca8b1cfa48ff4", "channel":"CNP", "amount":"10000", "type":"SALE", "currency":"GBP", "reference":"becf9f3e-4d33-459c-8ed2-0c4affc9555e", "country":"GB", "payment_method":{ "name":"Jane Doe", "entry_mode":"ECOM", "apm":{ "provider":"OPEN_BANKING" "countries": [ "GB", "IE" ] }, "bank_transfer":{ "account_number": "99999999", "bank": { "code": "407777", "name": "Merchant Name, "remittance_reference":type":"TEXT", "value":"Product Name } }, "notifications":return_url":"https://www.example.com/return", "status_url":"https://www.example.com/status/ } ``` ``` GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); config.setCountry("GB"); ServicesContainer.configureService(config); BankPayment bankPayment = new BankPayment(); bankPayment.setAccountNumber("99999999"); bankPayment.setSortCode("407777"); bankPayment.setAccountName("Merchant Name"); bankPayment.setCountries(Arrays.asList("GB", "IE")); bankPayment.setReturnUrl("https://www.example.com/return"); bankPayment.setStatusUpdateUrl("https://www.example.com/status"); try { Transaction response = bankPayment.charge(new BigDecimal("100")) .withCurrency("GBP") .withRemittanceReference(RemittanceReferenceType.TEXT, "Product Name") .execute(); BankPaymentResponse bankPaymentResponse = response.getBankPaymentResponse(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // capture_mode == "MULTIPLE" boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->redirect_url" String redirectUrl = bankPaymentResponse.getRedirectUrl(); // API raw response key "payment_method->message" String paymentStatus = bankPaymentResponse.getPaymentStatus(); // API raw response key "payment_method->bank_transfer->bank->code" String sortCode = bankPaymentResponse.getSortCode(); // API raw response key "payment_method->bank_transfer->bank->name" String accountName = bankPaymentResponse.getAccountName(); // API raw response key "payment_method->bank_transfer->masked_account_number_last4" } catch (ApiException e) { // TODO: Add your exception handling here } ``` ``` GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST, Country = "GB", }; ServicesContainer.ConfigureService(config); BankPayment bankPayment = new BankPayment { AccountNumber = "99999999", SortCode = "407777", AccountName = "Merchant Name", Countries = new List() GB", "IE, ReturnUrl = "https://www.example.com/return", StatusUpdateUrl = "https://www.example.com/status" }; try { Transaction response = bankPayment.Charge(100m) .WithCurrency("GBP") .WithRemittanceReference(RemittanceReferenceType.TEXT, "Product Name") .Execute(); // API raw response key "id" var id = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; // capture_mode === 'MULTIPLE' var multiCapture = response.MultiCapture; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; //API raw response key "payment_method->redirect_url" var redirectUrl = response.BankPaymentResponse.RedirectUrl; //API raw response key "payment_method->message" var paymentStatus = response.BankPaymentResponse.PaymentStatus; //API raw response key "payment_method->bank_transfer->bank->code" var sortCode = response.BankPaymentResponse.SortCode; //API raw response key "payment_method->bank_transfer->bank->name" var accountName = response.BankPaymentResponse.AccountName; } catch (GatewayException ex) { Console.WriteLine(ex); throw; } ``` ``` $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->country = 'GB'; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $bankPayment = new BankPayment(); $bankPayment->accountNumber = '99999999'; $bankPayment->sortCode = '407777'; $bankPayment->accountName = 'Merchant Name'; $bankPayment->countries = ['GB', 'IE']; $bankPayment->returnUrl = 'https://www.example.com/return'; $bankPayment->statusUpdateUrl = 'https://www.example.com/status/'; try { /** @var \GlobalPayments\Api\Entities\Transaction $response */ $response = $bankPayment->charge(100) ->withCurrency('GBP') ->withRemittanceReference(RemittanceReferenceType::TEXT, 'Product Name') ->execute(); } catch (GatewayException $ex) { // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" // API raw response key "action->result_code" $responseCode = $response->responseCode; $trnStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" //API raw response key "payment_method->redirect_url" $redirectUrl = $response->bankPaymentResponse->redirectUrl; //API raw response key "payment_method->message" $paymentStatus = $response->bankPaymentResponse->paymentStatus; //API raw response key "payment_method->bank_transfer->bank->code" $sortCode = $response->bankPaymentResponse->sortCode; //API raw response key "payment_method->bank_transfer->bank->name" $accountName = $response->bankPaymentResponse->accountName; //API raw response key "payment_method->bank_transfer->masked_account_number_last4" $accountNumberLast4 = $response->accountNumberLast4; ``` #### Sample response ``` id": "TRN_1NwUgkvbEcNUJhymCk96ON9HDu0HkY_sdgpoh123456", "time_created": "2023-07-13T16:17:55.251Z", "type": "SALE", "status": "INITIATED", "channel": "CNP", "capture_mode": "AUTO", "amount": "10000", "currency": "GBP", "country": "GB", "merchant_id": "MER_461194d8057842708ca360e252da8270", "merchant_name": "QA_Sandbox_Merchant_02", "account_id": "TRA_08e5bac604954796ad0d633ee223fbba", "account_name": "Open_Banking_Testing_account", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "payment_method": { "message": "PAYMENT_INITIATED", "entry_mode": "ECOM", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_1NwUgkvbEcNUJhymCk96ON9HDu0HkY_sdgpoh123456/redirect/eyJtbWEiOm51bGwsIm1pZCI6Ik1FUl80NjExOTRkODA1Nzg0MjcwOGNhMzYwZTI1MmRhODI3MCIsInhnIjoiMjAyMS0wMy0yMiJ9", "apm": { "provider": "open_banking, "bank_transfer": masked_account_number_last4": "XXXX9999", "bank": { "name": "Merchant Name", "code": "407777 } }, "action": id": "ACT_1NwUgkvbEcNUJhymCk96ON9HDu0HkY", "type": "INITIATE", "time_created": "2023-07-13T16:17:55.251Z", "result_code": "SUCCESS", "app_id": "JtivfTN6wN6lPLDA0eiRlbuqIB5AkKl7", "app_name": "testing_app } ``` #### Open Banking statuses The following table describes the various Open Banking statuses. | Status | Description | | -------- | ------- | | INITIATED | Payment was created. All Open Banking payments are set to this initially. | | CAPTURED | Funds have been sent. | | DECLINED | Payment was declined or failed. | | PENDING | Payment is being processed by the bank. Whether it appears depends on the bank. | ## Step 4: Redirect customer to Open Banking The next step is to redirect the customer to Open Banking using the URL provided in the response field of the previous step (`payment_method.redirect_url`) to facilitate authentication with Open Banking. To do this, we pass the `redirect_url` return in the response to the Drop-In UI. #### Sample redirect ``` ... // Continuation from Step 2 - Capture Customer Selection if (provider === GlobalPayments.enums.Apm.OpenBankingPayment) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_I559ttj6HiSaE99u0Th7jptJNthLN5_sdgpoh123456/redirect/eyJtbWEiOm51bGwsIm1pZCI6Ik1FUl80NjExOTRkODA1Nzg0MjcwOGNhMzYwZTI1MmRhODI3MCIsInhnIjoiMjAyMS0wMy0yMiJ9", } }); window.dispatchEvent(merchantCustomEventProvideDetails); } }); ``` ## Step 5: Handle the redirect and check the status Once the customer completes the transaction with the Open Banking provider, they are redirected back to your app or website based on transaction success/failure using the Return URL specified in the Initiate request. The unique transaction identifier is also returned as part of the parameters in the URL. You should use this to check the status of the payment (see [Step 6](#step-6-get-transaction-status)). The ID that is passed as a URL parameter is the `TRN_ID` and should be used to check the status of the transaction (see example below). #### Sample Return URL parameters ``` https://www.example.com/return?X-GP-Signature=399af8063773573040b3d1e76ccf313ed40491e61b3fe768390d7a1da925506c3908405f17be8fb82b978ab4790f76cdeb7b292b48dce716903c36eab57580a9&id=TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456&payer_reference=asdgpoh123456&action_type=REDIRECT_FROM&action_id=ACT_J8pXg8cjUuOltUHovOAGpqUooy7XZD ``` #### Checking the signature The Return URL contains a signature made up of the key transaction fields. This includes the Transaction ID (`TRN_ID`), Payer Reference, Action Type, and Action ID. Your application must construct and check the signature to ensure the response wasn’t tampered with. To construct the signature, take the string containing the above fields from the Return URL, excluding the signature itself. ``` id=TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456&payer_reference=asdgpoh123456&action_type=REDIRECT_FROM&action_id=ACT_J8pXg8cjUuOltUHovOAGpqUooy7XZD ``` ``` Concatenate your app key to the end of this string. ``` ``` id=TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456&payer_reference=asdgpoh123456&action_type=REDIRECT_FROM&action_id=ACT_J8pXg8cjUuOltUHovOAGpqUooy7XZD.app_key ```

The signature should be a Sha512 hash of the concatenated string. For example: ``` 399af8063773573040b3d1e76ccf313ed40491e61b3fe768390d7a1da925506c3908405f17be8fb82b978ab4790f76cdeb7b292b48dce716903c36eab57580a9 ``` ``` ## Step 6: Get transaction status In this step, we get the transaction details and receive the webhook notification. As mentioned previously, the `TRN_ID` field should be used to check the status of the transaction. At a high level, getting the transaction status works like this: ![Diagram flow between the customer, merchant, and our API to get the transaction status.](https://developer.globalpayments.com/gh-assets/open-banking_flow3.png) #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer pJ2An7thGclc8UUVZSntPRmsAUrR' \ ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); // config.setAppId("APP_ID"); config.setAppKey(APP_KEY); // config.setAppKey("APP_KEY"); config.setChannel(Channel.CardNotPresent); ServicesContainer.configureService(config); // the id of the transaction to fetch its details String transactionId = "TRN_2mz2U86WWSEWSgV5HUN25LrzpbdBIU_a2417fd45ea4"; TransactionSummary response = null; try { response = ReportingService.transactionDetail(transactionId) .execute(); } catch (GatewayException ex) { // TODO: Add your exception handling here } transactionId = response.getTransactionId(); String trnStatus = response.getTransactionStatus(); DateTime trnDate = response.getTransactionDate(); String trnType = response.getTransactionType(); BigDecimal trnAmount = response.getAmount(); String trnCurrency = response.getCurrency(); String sortCode = response.getBankPaymentResponse().getSortCode(); String accountNumberLast4 = response.getAccountNumberLast4(); ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "APP_ID"; config.AppKey = "APP_KEY"; config.Channel = Channel.CardNotPresent; ServicesContainer.ConfigureService(config); var transactionId = "TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456"; try { var response = ReportingService.TransactionDetail(transactionId) .Execute(); var transId = response.TransactionId; var trnStatus = response.TransactionStatus; var trnDate = response.TransactionDate; var trnType = response.TransactionType; var trnAmount = response.Amount; var trnCurrency = response.Currency; var sortCode = response.BankPaymentResponse.SortCode; var accountNumberLast4 = response.AccountNumberLast4; } catch (GatewayException ex){ // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $trnId = 'TRN_qBh60Xxj5zLDyGWSSqCtjLqFCdiitN_1703ec14a76d'; try { /** @var \GlobalPayments\Api\Entities\Reporting\TransactionSummary $response */ $response = ReportingService::transactionDetail($trnId) ->execute(); } catch (GatewayException $ex) { // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->amount; //API raw response key "amount" $currency = $response->currency; // "currency" $merchantName = $response->merchantName; // "system->mid" $channel = $response->channel; // "channel" $reference = $response->referenceNumber; // "reference" $gatewayResponseMessage = $response->gatewayResponseMessage; // "payment_method->message" $transactionType = $response->transactionType; // "type" $transactionDate = $response->transactionDate; // "time_created" $transactionStatus = $response->transactionStatus; // "status" $country = $response->country; // "country" $entryMode = $response->entryMode; // "payment_method->entry_mode" $redirectUrl = $response->bankPaymentResponse->redirectUrl; //API raw response key "payment_method->redirect_url" //API raw response key "payment_method->bank_transfer->masked_account_number_last4" $accountNumberLast4 = $response->accountNumberLast4; //API raw response key "payment_method->bank_transfer->bank->code" $sortCode = $response->bankPaymentResponse->sortCode; //API raw response key "payment_method->bank_transfer->bank->name" $accountName = $response->bankPaymentResponse->accountName; //API raw response key "payment_method->bank_transfer->remittance_reference->value" $remittanceReferenceValue = $response->bankPaymentResponse->remittanceReferenceValue; //API raw response key "payment_method->bank_transfer->remittance_reference->type" $remittanceReferenceType = $response->bankPaymentResponse->remittanceReferenceType; ``` #### Sample response ```JSON { "id": "TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456", "time_created": "2023-07-13T16:23:02.138Z", "time_last_updated": "2023-07-13T16:23:30.552Z", "status": "CAPTURED", "type": "SALE", "merchant_id": "MER_461194d8057842708ca360e252da8270", "merchant_name": "QA_Sandbox_Merchant_02", "account_id": "TRA_08e5bac604954796ad0d633ee223fbba", "account_name": "Open_Banking_Testing_account", "channel": "CNP", "amount": "10000", "merchant_amount": "", "partner_amount": "", "surcharge_amount": "", "surcharge_type": "", "currency": "GBP", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "description": "", "order_reference": "", "order": { "reference": "" }, "time_created_reference": "", "batch_id": "", "initiator": "", "country": "GB", "language": "", "ip_address": "11.111.11.111", "site_reference": "", "payment_method": { "result": "", "message": "SUCCESS", "entry_mode": "ECOM", "name": "Jane Doe", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456/redirect/eyJtbWEiOm51bGwsIm1pZCI6Ik1FUl80NjExOTRkODA1Nzg0MjcwOGNhMzYwZTI1MmRhODI3MCIsInhnIjoiMjAyMS0wMy0yMiJ9", "apm": { "provider": "open_banking", "countries": [ "GB", "IE" ] }, "bank_transfer": { "masked_account_number_last4": "XXXX9999", "bank": { "code": "407777", "name": "Merchant Name" }, "remittance_reference": { "type": "TEXT", "value": "Product Name" } } }, "mode": "", "count": "", "grace_period_count": "" }, "action_create_id": "ACT_Knt3NHCqUlifGAcYaUje62hRzTK7V1", "parent_resource_id": "TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123455", "platforms": [ { "type": "ECOM", "transaction_id": "oNorLmfYiphynluhAF", "order_id": "TRN_U5cRgH1nfubpsDSlrM67iz8hNj7cF9_sdgpoh123456", "authcode": "", "pasref": "" } ], "system": { "mid": "", "tid": "0187842062175448386901265234938560244584", "name": "" }, "action": { "id": "ACT_DuT6lBQW9UdgovvqfxLX0GOZyqgZ4x", "type": "TRANSACTION_SINGLE", "time_created": "2023-07-13T16:26:23.131Z", "result_code": "SUCCESS", "app_id": "JtivfTN6wN6lPLDA0eiRlbuqIB5AkKl7", "app_name": "test_app" } } ``` ## Testing Open Banking Our Open Banking solution is available for testing in our Sandbox environment for registered users of this developer portal. For Open Banking, we provide "test banks" instead of test cards. Each one provides a different outcome. For more information, see the [Open Banking](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers#open-banking) section of our Test Cards article. ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/paypal-overview.md # PayPal - Overview PayPal is a digital wallet that can store a customer’s payment and personal information on an app or browser for quick payments in-person, online, or on a mobile device. Customers use saved funding sources to pay securely online or to “top up” their wallet balance. We offer merchants several ways to integrate PayPal into their app or website to make the checkout experience secure, fast, and convenient. For merchants, the benefits of PayPal include: * One of the most recognized and trusted names in the digital payment industry. Its brand reputation instills confidence in users. * Allows you to easily take international payments, since it’s available in more than 200 countries and can accept payments using more than 20 currencies. * Provides a seller protection program. Merchants are protected against fraudulent chargebacks. * A simplified checkout process by reducing friction and boosting conversion rates. ## Use cases In this section, we present some “real world” examples that can be enabled through our PayPal solution. Keep in mind that this section doesn’t cover all of the use cases. ##### Use Case #1: Secure A merchant wants to accommodate their customers who are worried about sharing their credit card information. For this reason, they include PayPal as a payment method because it encrypts the bank information. ##### Use Case #2: Fast A merchant wants to enable their customers to complete their online transaction quickly and efficiently. For this reason, they include PayPal as a payment method because customers will not have to fill in all of their credit card details in the form. ##### Use Case #3: Convenient A merchant wants to allow their customers to complete online transactions regardless of if they have their credit card or not. If their customer urgently needs to complete an online transaction they can select PayPal as an alternative payment method. ## Product details ##### Advantages of using PayPal * A recognised and trusted name * Seller protection program * 200+ countries and 20+ currencies * Simplified checkout ##### Integration options * SDK or API * Drop-In UI * Shopping Carts and Platforms ##### Regions where you can use PayPal * Europe * Middle East * Africa * North America * Latin America * Asia-Pacific ## How does it work? When a customer chooses to pay using PayPal at checkout, they are redirected to the PayPal portal (or PayPal app) to authenticate and authorize the transaction. Within the PayPal portal or app, the customer can choose between a variety of payment methods to make the payment. The choices depend on a number of factors, such as the transaction amount and the funding sources that the customer has linked to their PayPal account. These payment methods might include: * Debit card * Credit card * Bank account * PayPal balance * Buy Now Pay Later * PayPal credit The funds are deposited into your PayPal Business account. You can then transfer the funds to your bank account through the PayPal portal. You can also set up automatic (periodic) transfers within the PayPal portal. There are several PayPal transaction types. Their use cases are described in the table below. | PayPal Transaction Type | Use Case | | --- | --- | | AUTO | You want to charge the customer right after they authorized the payment. | | LATER | You want to charge the customer at a later time after their authorization, e.g., when your product is ready to be shipped. | | MULTI | You want to charge the customer at a later time after their authorization and in multiple installments, e.g., if an order is composed of multiple items that you will ship separately, and you want to charge for each item individually as it is shipped. | AUTO capture is the most common PayPal transaction type. It has four mandatory steps and one optional one: 1. Initiate the transaction 2. Redirect the customer to PayPal 3. Receive the PayPal response 4. [OPTIONAL] Retrieve transaction information 5. Confirm the transaction At a high level, a typical flow for a PayPal AUTO capture transaction works like this: ![Diagram flow of how PayPal works at a high level.](https://developer.globalpayments.com/gh-assets/paypal_flow.png) **PayPal Typical Flow** ## Next steps To try PayPal, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/payments/payment-methods/paypal-guide.md). We provide steps for both direct API integration and for our hosted solution, Drop-In User Interface (UI). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/paypal-guide.md # PayPal - Guide For more information about our PayPal solution, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/paypal-overview.md). #### API This guide focuses on adding PayPal as a payment method using direct API integration. We provide a full suite of APIs that allow you to process and manage PayPal transactions. Requests to [initiate](#payment-initiate-request), [reverse](#payment-reversal-request), [confirm](#payment-confirm-request), [capture](#payment-capture-request), and [refund](#payment-refund-request) PayPal transactions are supported. Sample code and responses for these requests are provided in the [Message flows](#message-flows) section. Each PayPal transaction consists of at least two requests — Payment Initiate and Payment Confirm — but the full lifecycle of a PayPal transaction, including capturing amounts and refunding transactions, might consist of up to five requests. To complete transaction authorization, the customer must be redirected to PayPal between the initiation and confirmation of the transaction. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Supported requests The following table describes the requests we support for PayPal. *Type* indicates whether the element is Mandatory (M), Optional (O), or Conditional (C) – dependent on another field. | Request | Type | Description | | --- | --- | --- | | Payment Initiate | M | Used to initiate a PayPal transaction, obtain the redirection URL, advise PayPal of the details of a new transaction, and retrieve the necessary details for customer authorization of the transaction. | | Payment Describe | O | Used to retrieve data about the PayPal transaction, in particular, shipping information. | | Payment Confirm | M | Required to confirm the PayPal transaction after customer authorization. For transactions initiated as AUTO settlement, this request initiates the transfer of funds. | | Payment Capture | C | Used to initiate the transfer of funds for the amount specified. Used only for transactions that are not set for AUTO settlement in the Payment Initiate request. | | Payment Reversal | O | Used to void a PayPal transaction. Used only for transactions that are not set for AUTO settlement in the Payment Initiate request. | | Payment Refund | O | Used to return funds to a customer. | ## Message flows There are three types of PayPal transactions: AUTO, LATER, and MULTI. The use case and applicable message flow for each transaction type are described in the following table. | Transaction Type | Use Case | Message Flow | | --- | --- | --- | | AUTO | You want to charge the customer right after they authorized the payment. | 1 - Payment Initiate  2 - Redirect to PayPal 3 - Receive PayPal Response \[OPTIONAL\] Describe (retrieve transaction information) 4 - Payment Confirm | | LATER | You want to charge the customer at a later time after their authorization, e.g., when your product is ready to be shipped. | 1 - Payment Initiate  2 - Redirect to PayPal 3 - Receive PayPal Response \[OPTIONAL\] Describe (retrieve transaction information) 4 - Payment Confirm 5 - Capture | | MULTI | You want  to charge the customer at a later time after their authorization and in multiple installments, e.g., if an order is composed of multiple items that you will ship separately, and you want to charge for each item individually as it is shipped. | 1 - Payment Initiate  2 - Redirect to PayPal 3 - Receive PayPal Response \[OPTIONAL\] Describe (retrieve transaction information) 4 - Payment Confirm 5 - Capture (multiple requests allowed) | The following sections contain more details on the various steps of the message flows, including sample requests and responses for each. ### Payment Initiate request The request must contain the following URLs: * **Return URL** – The URL on your website to which the customer should be redirected if the PayPal authentication attempt is successful. * **Cancel URL** – The URL on your website to which the customer should be redirected in the event of the customer canceling the transaction. Every transaction initiation needs to have a different `order.reference`. This reference cannot be duplicated. > A successful PayPal transaction will return a **00** success code, even though standard non-card transactions usually return a **01** success code. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TsgUfhGDmdYWS9W8SFM9lfzAiMk3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "account_name": "transaction_processing", "channel": "CNP", "type": "SALE", "amount": "1000", "currency": "GBP", "reference": "transaction reference", "country": "GB", "description": "description", "order":{ "reference": "unique order reference" }, "payer": { "reference": "payer reference" }, "payment_method": { "name": "Doe", "entry_mode": "ECOM", "apm": { "provider": "paypal" } }, "notifications": { "return_url": "https://www.example.com/returnUrl", "cancel_url": "https://www.example.com/cancelUrl" } }' ``` #### Sample response ```json { "id": "TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference", "time_created": "2024-01-17T11:40:42.567Z", "type": "SALE", "status": "INITIATED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1000", "currency": "GBP", "country": "GB", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "transaction reference", "payment_method": { "result": "00", "message": "SUCCESS", "entry_mode": "ECOM", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl83ZTNlMmM3ZGYzNGY0MjgxOWIzZWRlZTMxMDIyZWUzZiIsImFjY291bnRfaWQiOiJUUkFfYzk5NjdhZDdkOGVjNGI0NmI2ZGQ0NGE2MWNkZTlhOTEiLCJtZXJjaGFudF9uYW1lIjoiU2FuZGJveF9tZXJjaGFudF8zIiwiYWNjb3VudF9uYW1lIjoidHJhbnNhY3Rpb25fcHJvY2Vzc2luZyIsInBheXBhbF91cmwiOiJodHRwczovL3d3dy5zYW5kYm94LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3I/Y21kPV9leHByZXNzLWNoZWNrb3V0JnRva2VuPUVDLTY2Vzk0MzI2OEIzNzQzOTJQIiwiYXBwX2lkIjoiNWgyWkR6NDdESG5TUkZGOEVHUzVnb2RJQVVqRVpUTUsiLCJhcHBfbmFtZSI6Imdpb3Zhbm5pc2FwcCIsImFwcF9kZXZlbG9wZXIiOiJzdW1hbm8uZ2lvdmFubmlAZ21haWwuY29tIiwiWC1HUC1WZXJzaW9uIjoiMjAyMS0wMy0yMiJ9", "apm": { "provider_redirect_url": "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-66W943268B374392P", "provider": "paypal", "session_token": "EC-66W943268B374392P", "ack": "SUCCESS", "correlation_reference": "963889dfaa606", "version_reference": "98.0", "build_reference": "58313039" } }, "batch_id": "", "action": { "id": "ACT_KciNriJY2JihUWRnn2BeOn2bdqYeZo", "type": "INITIATE", "time_created": "2024-01-17T11:40:42.567Z", "result_code": "SUCCESS", "app_id": "5h2ZDz47DHnSRFF8EGS5godIAUjEZTMK", "app_name": "myapp" } } ``` ### Redirect to PayPal Following a successful Payment Initiate request, the next step is to redirect the customer to `payment_method.apm.provider_redirect_url` returned in the Payment Initiate response. This can be achieved, for example, using a simple JavaScript redirect. #### Sample redirect > The sample code below is an example only. You may need to modify it to suit your particular needs. ```html Sample PayPal Redirect ``` Upon redirection, the customer will need to log in to their PayPal account and confirm the transaction details. Afterwards, the customer will be redirected back to your application to continue shopping. ### Receive PayPal response There are two possible outcomes of the authentication process: * **Successful Authentication/Authorization** – The customer successfully authenticates and authorizes the transaction. They are then returned to the ReturnURL set in the payment-set request. * **Canceled Transaction** – The customer cancels the transaction on the PayPal page and is returned to the CancelURL set in the payment-set request. For successfully authenticated and authorized transactions where the customer has been redirected to the `ReturnURL`, your application should proceed to process the Payment Describe (optional) and Payment Confirm (mandatory) requests. ### [OPTIONAL] Payment Describe request This optional request is used to retrieve data about the transaction, particularly the customer’s shipping address as stored on PayPal. The Translation ID returned in the Payment Initiate response must be used. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference/describe' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TsgUfhGDmdYWS9W8SFM9lfzAiMk3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '' ``` #### Sample response ```json { "id": "TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference", "time_created": "2024-08-06T15:32:04.969Z", "time_last_updated": "2024-08-06T15:32:04.969Z", "type": "SALE", "status": "PENDING", "amount": "1000", "currency": "GBP", "country": "GB", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "channel": "CNP", "reference": "transaction reference", "description": "Comment 1", "order_reference": "unique order reference", "order": { "reference": "unique order reference" }, "time_created_reference": "", "batch_id": "", "initiator": "", "language": "", "ip_address": "", "site_reference": "", "payment_method": { "result": "00", "message": "SUCCESS", "entry_mode": "ECOM", "name": "Doe", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl83ZTNlMmM3ZGYzNGY0MjgxOWIzZWRlZTMxMDIyZWUzZiIsImFjY291bnRfaWQiOiJUUkFfYzk5NjdhZDdkOGVjNGI0NmI2ZGQ0NGE2MWNkZTlhOTEiLCJtZXJjaGFudF9uYW1lIjoiU2FuZGJveF9tZXJjaGFudF8zIiwiYWNjb3VudF9uYW1lIjoidHJhbnNhY3Rpb25fcHJvY2Vzc2luZyIsInBheXBhbF91cmwiOiJodHRwczovL3d3dy5zYW5kYm94LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3I/Y21kPV9leHByZXNzLWNoZWNrb3V0JnRva2VuPUVDLTRDMTgzNDI4SkYyNjU5OTRWIiwiYXBwX2lkIjoiNWgyWkR6NDdESG5TUkZGOEVHUzVnb2RJQVVqRVpUTUsiLCJhcHBfbmFtZSI6Imdpb3Zhbm5pc2FwcCIsImFwcF9kZXZlbG9wZXIiOiJzdW1hbm8uZ2lvdmFubmlAZ21haWwuY29tIiwiWC1HUC1WZXJzaW9uIjoiMjAyMS0wMy0yMiJ9", "apm": { "provider": "paypal", "provider_redirect_url": "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-4C183428JF265994V", "session_token": "EC-4C183428JF265994V", "provider_reference": "MW44PN3H9PXCY", "seller_reference": "testmerchant@globalpay.com", "time_created_reference": "2024-08-06T15:32:29Z", "ack": "SUCCESS", "version_reference": "98.0", "build_reference": "58576904", "correlation_reference": "176f4e28c8982", "billing_agreement_status": "false", "payer": { "reference": "MW44PN3H9PXCY", "status": "VERIFIED", "name": "Global Pay Buyer", "email": "testbuyer@globalpay.com", "country": "GB", "address": { "name": "John Doe", "status": "Confirmed", "line_1": "Spitalfields Arts Market, 112 Brick Lane", "line_2": "N/A", "city": "London", "postal_code": "E1 6RL", "state": "London", "country": "GB", "country_name": "United Kingdom", "source": "PayPal" }, "billing_address": { "name": "John Doe", "status": "Confirmed", "line_1": "Spitalfields Arts Market, 112 Brick Lane", "city": "London", "postal_code": "E1 6RL", "state": "London", "country": "GB", "country_name": "United Kingdom", "source": "PayPal" } }, "order": { "reference": "unique order reference", "description": "order description", "amount": "10000", "currency": "GBP", "item_amount": "10000", "tax_amount": "0", "insurance_offered": "NO", "shipping_amount": "0", "shipping_discount": "0", "handling_amount": "0", "insurance_amount": "0", "checkout_status": "PaymentActionNotInitiated", "shipping_address": { "name": "John Doe", "status": "Confirmed", "line_1": "Spitalfields Arts Market, 112 Brick Lane", "line_2": "N/A", "city": "London", "postal_code": "E1 6RL", "state": "London", "country": "GB", "country_name": "United Kingdom", "normalization_status": "None", "source": "PayPal" } } } }, "action_create_id": "ACT_plE30CwHDLQWBd7KipVR7H9DFG6Haz", "parent_resource_id": "TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference", "action": { "id": "ACT_LTOFUchOjXSFKg8UZfDrVPUTdhItIb", "type": "TRANSACTION_SINGLE", "time_created": "2024-08-06T15:32:30.057Z", "result_code": "SUCCESS", "app_id": "5h2ZDz47DHnSRFF8EGS5godIAUjEZTMK", "app_name": "myapp" } } ``` ### Payment Confirm request This request is mandatory and used to commit a previously initiated PayPal transaction. For requests initiated with the `capture_mode` field set to AUTO, this request also initiates the transfer of funds. The Transaction ID returned by the Payment Initiate request must be submitted as a parameter in the request’s endpoint as shown below. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference/confirmation' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TsgUfhGDmdYWS9W8SFM9lfzAiMk3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "payment_method": { "apm": { "provider": "paypal" } } } ' ``` #### Sample response ```json { "id": "TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference", "time_created": "2024-01-18T16:32:14.115Z", "type": "SALE", "status": "CAPTURED", "amount": "1000", "currency": "GBP", "country": "GB", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "transaction reference", "payment_method": { "result": "00", "message": "SUCCESS", "entry_mode": "ECOM", "apm": { "provider": "paypal", "session_token": "EC-2AV990714G0682134", "seller_reference": "testmerchant@globalpay.com", "time_created_reference": "2024-01-18T16:32:13Z", "transaction_reference": "6458857216218215F", "ack": "SUCCESS", "version_reference": "98.0", "build_reference": "58313039", "correlation_reference": "de9171030c89d", "secure_account_reference": "CUEXTCPF4MNQY", "reason_code": "none", "pending_reason": "none", "gross_amount": "1001", "payment_time_reference": "2024-01-18T16:32:13Z", "payment_type": "INSTANT", "payment_status": "COMPLETED", "type": "express-checkout", "protection_eligibilty": "ELIGIBLE" } }, "action": { "id": "ACT_A32IorkZQCCL5XBlMtntE3fJktlXcQ", "type": "CONFIRM", "time_created": "2024-01-18T16:32:14.115Z", "result_code": "SUCCESS", "app_id": "5h2ZDz47DHnSRFF8EGS5godIAUjEZTMK", "app_name": "myapp" } } ``` ### Payment Capture request This request is applicable, and required, only for transactions that were initiated with the capture_mode field set to LATER or MULTIPLE. In these types of transactions, the request is used to initiate the transfer of funds. If no capture request is processed successfully, no funds will be transferred. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference/capture' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TsgUfhGDmdYWS9W8SFM9lfzAiMk3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '' ``` ### Payment Reversal request This request is applicable to transactions in which the `capture_mode` field was set to LATER or MULTIPLE. It can be used to cancel the transaction without settling any funds so long as the transaction was not captured yet. If the transaction was already captured, a Payment Refund request should be used to return funds to the customer. ### Payment Refund request This request is used to refund a transaction that has been initiated, committed, and captured. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_KciNriJY2JihUWRnn2BeOn2bdqYeZo_ionreference/refund' \ --header 'Authorization: Bearer TsgUfhGDmdYWS9W8SFM9lfzAiMk3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --data '{ "amount": "1000", "description": "refund description", "order": { "reference": "refund reference" }, "payer": { "reference": "refund payer reference" } }' ``` #### Sample response ```json { "id": "TRN_HjbI68v1pG6p8QjCp10SiKJZGTjmfS_ionreference", "time_created": "2024-08-06T15:47:45.515Z", "type": "REFUND", "status": "CAPTURED", "amount": "1000", "currency": "GBP", "country": "GB", "reference": "transaction reference", "payment_method": { "result": "00", "message": "SUCCESS", "apm": { "provider": "paypal", "time_created_reference": "2024-08-06T15:47:44Z", "transaction_reference": "49V448067H5095101", "pending_reason": "none", "gross_amount": "10000", "fee_amount": "34", "payment_status": "INSTANT", "ack": "SUCCESS", "version_reference": "98.0", "build_reference": "20240724222844319", "correlation_reference": "90cada9b3dc6e" } }, "batch_id": "", "action": { "id": "ACT_HjbI68v1pG6p8QjCp10SiKJZGTjmfS", "type": "REFUND", "time_created": "2024-08-06T15:47:45.515Z", "result_code": "SUCCESS", "app_id": "5h2ZDz47DHnSRFF8EGS5godIAUjEZTMK", "app_name": "myapp" } } ``` ## Testing PayPal Use your credentials to log in to your PayPal test account. Then you can test the PayPal payment method with the test details available. #### Drop-In UI This guide focuses on integrating PayPal with our Drop-In User Interface (UI), which is a ready-made payment form using our Hosted Fields solution. You’ll learn how to add PayPal to your payment form using our JavaScript Library. To learn how to use the Hosted Fields components on their own with your existing payment form, see our [Hosted Fields Guide](https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Configure with PayPal Once you’ve created the access token, you can now configure the JavaScript Library to enable PayPal in your payment form. Add a `
` tag to render the Drop-In UI payment form to the customer. ```xml
``` Next, we configure our JavaScript Library with the transaction details required for PayPal. ```javascript GlobalPayments.configure({ accessToken: "accessToken", env: "sandbox", apiVersion: "2021-03-22", language: "en", account: "accountId", apms: { currencyCode: "GBP", countryCode: "GB", nonCardPayments: { allowedPaymentMethods: [{ provider: GlobalPayments.enums.ApmProviders.PayPal, }] } }, }); const cardForm = GlobalPayments.creditCard.form( '#credit-card-form', { amount: "800", style: "gp-default", apms: [ GlobalPayments.enums.Apm.PayPal ], } ); cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const { provider } = paymentProviderData; console.log('Selected provider: ' + provider); if (provider === GlobalPayments.enums.ApmProviders.PayPal) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "paypal url returned from API", } }); window.dispatchEvent(merchantCustomEventProvideDetails); } }); ``` ![Drop-In UI with PayPal button.](https://developer.globalpayments.com/gh-assets/paypal.png) **Drop-In UI with PayPal Button** #### JavaScript configuration (PayPal specific parameters) *Type* indicates whether the element is Mandatory (M), Optional (O), or Conditional (C)—dependent on another field or regional requirement. | Name | Format | Type | Description | | -------- | -------- | -------- | -------- | | currencyCode | string | M | Currency of the amount in ISO-4217 (alpha-3). | | countryCode | string | M | The country in ISO-3166-1(alpha-2 code) format. | | provider | string | M | The string used to identify the payment method provider used to execute this transaction. | ## Step 2: Capture customer selection Now that we have configured PayPal and it's displayed on the Drop-In UI, when a customer selects PayPal as the payment method, the Drop-In UI returns this selection in an event. For example, the Drop-In UI returns: _Selected provider: PayPal_. Below is the code snippet of how the Drop-In UI returns this event. ```javascript cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const { provider } = paymentProviderData; console.log('Selected provider: ' + provider); ... //continued in Step 4 - Redirect customer to PayPal ``` The provider that is returned is used to initiate the transaction to retrieve the necessary information to complete the PayPal transaction. ## Step 3: Initiate PayPal transaction Now that we know what payment method the customer has selected, we can initiate the payment to complete the transaction. We create a transaction request with PayPal as the payment method provider and include the transaction information in the request. This returns the necessary details required to facilitate authentication with PayPal. The response contains a specific URL that is passed to the Drop-In UI to redirect the customer to PayPal. #### Sample request ```json POST https://apis.sandbox.globalpay.com/ucp/transactions { "account_name": "Transaction_Processing", "channel": "CNP", "type": "SALE", "amount": "20045", "currency": "EUR", "reference": "Paypal-210420-3", "payment_method": { "first_name": "Jane", "last_name": "Doe", "entry_mode": "ECOM", "apm": { "provider": "paypal" } }, "notifications": { "return_url": "", "cancel_url": "" } } ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod(AlternativePaymentType.PAYPAL); paymentMethod.setReturnUrl("https://www.example.com/return"); paymentMethod.setStatusUpdateUrl("https://www.example.com/status"); paymentMethod.setCancelUrl("https://www.example.com/cancel"); paymentMethod.setCountry("GB"); paymentMethod.setAccountHolderName("James Mason"); try { Transaction response = paymentMethod.charge(new BigDecimal("200.45")) .withCurrency("EUR") .withClientTransactionId("PayPal-210420-3") .execute(); AlternativePaymentResponse alternativePaymentResponse = response.getAlternativePaymentResponse(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->redirect_url" String redirectUrl = alternativePaymentResponse.getRedirectUrl(); // API raw response key "payment_method->apm->provider" String provider = alternativePaymentResponse.getProviderName(); // API raw response key "payment_method->apm->ack" String ack = alternativePaymentResponse.getAck(); // API raw response key "payment_method->apm->session_token" String sessionToken = alternativePaymentResponse.getSessionToken(); // API raw response key "payment_method->apm->correlation_reference" String correlationReference = alternativePaymentResponse.getCorrelationReference(); // API raw response key "payment_method->apm->version_reference" String versionReference = alternativePaymentResponse.getVersionReference(); // API raw response key "payment_method->apm->build_reference" String buildReference = alternativePaymentResponse.getBuildReference(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST }; ServicesContainer.ConfigureService(config); AlternativePaymentMethod paymentMethod = new AlternativePaymentMethod { AlternativePaymentMethodType = AlternativePaymentType.PAYPAL, ReturnUrl = "https://www.example.com/return", StatusUpdateUrl = "https://www.example.com/status", CancelUrl = "https://www.example.com/cancel", Country = "GB", AccountHolderName = "James Mason" }; try { var response = paymentMethod.Charge(200.45m) .WithCurrency("EUR") .WithClientTransactionId("Paypal-210420-3") .Execute(); // API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key payment_method->redirect_url var redirectUrl = response.AlternativePaymentResponse.RedirectUrl; // API raw response key payment_method->apm->provider var provider = response.AlternativePaymentResponse.ProviderName; // API raw response key payment_method->apm->ack var ack = response.AlternativePaymentResponse.Ack; // API raw response key payment_method->apm->session_token var sessionToken = response.AlternativePaymentResponse.SessionToken; // API raw response key payment_method->apm->correlation_reference var correlationReference = response.AlternativePaymentResponse.CorrelationReference; // API raw response key payment_method->apm->version_reference var versionReference = response.AlternativePaymentResponse.VersionReference; // API raw response key payment_method->apm->build_reference var buildReference = response.AlternativePaymentResponse.BuildReference; // API raw response key payment_method->result var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = '4gPqnGBkppGYvoE5UX9EWQlotTxGUDbs'; $config->appKey = 'FQyJA5VuEQfcji2M'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $paymentMethod = new AlternativePaymentMethod(AlternativePaymentType::PAYPAL); $paymentMethod->returnUrl = 'https://www.example.com/return'; $paymentMethod->statusUpdateUrl = 'https://www.example.com/status'; $paymentMethod->cancelUrl = 'https://www.example.com/cancel'; $paymentMethod->country = 'GB'; $paymentMethod->accountHolderName = 'James Mason'; try { $response = $paymentMethod->charge(200.45) ->withCurrency('EUR') ->withClientTransactionId('Paypal-210420-3') ->execute(); } catch (GatewayException $ex) { // TODO: Add your exception handling here } $transactionId = $response->transactionId; // "id" $amount = $response->balanceAmount; // API raw response key "amount" $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" // payment_method->redirect_url $redirectUrl = $response->alternativePaymentResponse->redirectUrl; // payment_method->apm->provider $provider = $response->alternativePaymentResponse->providerName; // payment_method->apm->ack $ack = $response->alternativePaymentResponse->ack; //payment_method->apm->session_token $sessionToken = $response->alternativePaymentResponse->sessionToken; // payment_method->apm->correlation_reference $correlationReference = $response->alternativePaymentResponse->correlationReference; // payment_method->apm->version_reference $versionReference = $response->alternativePaymentResponse->versionReference; // payment_method->apm->build_reference $buildReference = $response->alternativePaymentResponse->buildReference; //payment_method->result $cardIssuerResult = $response->cardIssuerResponse->result; ``` #### Sample response ```json { "id": "TRN_keglsmdsOjeef0g5q5TDO0m8Jqk0uF", "time_created": "2024-09-17T12:53:43.960Z", "type": "SALE", "status": "INITIATED", "channel": "CNP", "capture_mode": "LATER", "amount": "20045", "currency": "EUR", "country": "GB", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "TRA_27c901760029495f813afbb0dab197ef", "account_name": "transaction_processing", "reference": "Paypal-210420-3", "payment_method": { "result": "00", "message": "SUCCESS", "entry_mode": "ECOM", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_keglsmdsOjeef0g5q5TDO0m8Jqk0uF_paypal-123/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl8yNTg0Y2FhYTRiNWI0Zjc3YTkwZTdmMjU4MmVmNTNkZCIsImFjY291bnRfaWQiOiJUUkFfZjEzMDAwNzVjMDkyNDY0MjhhYWYwNmQxNTliM2Y0ZjkiLCJtZXJjaGFudF9uYW1lIjoiamFzb25iYWphcmlhc3Rlc3QiLCJhY2NvdW50X25hbWUiOiJ0cmFuc2FjdGlvbl9wcm9jZXNzaW5nXzIiLCJwYXlwYWxfdXJsIjoiaHR0cHM6Ly93d3cuc2FuZGJveC5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyP2NtZD1fZXhwcmVzcy1jaGVja291dCZ0b2tlbj1FQy03Ulk3NzY3OFJGMzkxNjUzUiIsImFwcF9pZCI6Ik8yNVFhT3JPbENrR1JMczdPVXRQemh6b2NGMWJHb3lTIiwiYXBwX25hbWUiOiJqYXNvbl9iYWpfdGVzdF8yIiwiYXBwX2RldmVsb3BlciI6Imphc29uLmJhamFyaWFzQGdsb2JhbHBheS5jb20iLCJYLUdQLVZlcnNpb24iOiIyMDIxLTAzLTIyIn0=", "apm": { "provider_redirect_url": "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-7RY77678RF391653R", "provider": "paypal", "session_token": "EC-7RY77678RF391653R", "ack": "SUCCESS", "correlation_reference": "3430159d8404c", "version_reference": "98.0", "build_reference": "58613796" } }, "batch_id": "", "action": { "id": "ACT_keglsmdsOjeef0g5q5TDO0m8Jqk0uF", "type": "INITIATE", "time_created": "2024-09-17T12:53:43.960Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Step 4: Redirect customer to PayPal The next step is to redirect the customer to PayPal using the URL provided in the response field of the previous step (`payment_method.redirect_url`) to facilitate authentication with PayPal. To do this, we pass the `redirect_url` returned in the response to the Drop-In UI. ```javascript ... // Continuation from Step 2 - Capture Customer Selection if (provider === GlobalPayments.enums.ApmProviders.PayPal) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "https://apis.sandbox.globalpay.com/ucp/postback/transactions/TRN_keglsmdsOjeef0g5q5TDO0m8Jqk0uF_paypal-123/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl8yNTg0Y2FhYTRiNWI0Zjc3YTkwZTdmMjU4MmVmNTNkZCIsImFjY291bnRfaWQiOiJUUkFfZjEzMDAwNzVjMDkyNDY0MjhhYWYwNmQxNTliM2Y0ZjkiLCJtZXJjaGFudF9uYW1lIjoiamFzb25iYWphcmlhc3Rlc3QiLCJhY2NvdW50X25hbWUiOiJ0cmFuc2FjdGlvbl9wcm9jZXNzaW5nXzIiLCJwYXlwYWxfdXJsIjoiaHR0cHM6Ly93d3cuc2FuZGJveC5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyP2NtZD1fZXhwcmVzcy1jaGVja291dCZ0b2tlbj1FQy03Ulk3NzY3OFJGMzkxNjUzUiIsImFwcF9pZCI6Ik8yNVFhT3JPbENrR1JMczdPVXRQemh6b2NGMWJHb3lTIiwiYXBwX25hbWUiOiJqYXNvbl9iYWpfdGVzdF8yIiwiYXBwX2RldmVsb3BlciI6Imphc29uLmJhamFyaWFzQGdsb2JhbHBheS5jb20iLCJYLUdQLVZlcnNpb24iOiIyMDIxLTAzLTIyIn0=", } }); window.dispatchEvent(merchantCustomEventProvideDetails); } }); ``` When the customer is redirected and is on the PayPal website, they can proceed in two ways: * Complete the transaction – In this scenario, the transaction is processed, and the customer is redirected back to your `notifications.return_url`. * Cancel the transaction – The customer is redirected back to your `notifications.cancel_url`. The payment_method.result is 110. Both the `notifications.return_url` and the `notifications.cancel_url` were set in the API request in Step 1. ## Step 5: Receive the PayPal response The response from PayPal for a completed transaction contains data in the URL query string, which you need for the next request. #### Sample response ```xml https://?X-GP-Signature=99016d93b133a2814f0579e7458473e66c0163f8cb333b91a5b47e7de4fbcb788a66cc36639582f1d6cac7c43d84805b601ab2435aabcb01f008eb380cd4289c&id=TRN_tlEzfFPmB2ZlVMYcvO0X7z86i8QUId_22828941&session_token=EC-09G73155FR885902M&payer_reference=B8J9KSQA5M6S2&pasref=16232310449607197&action_type=REDIRECT_FROM&action_id=ACT_g4zZFihxKQgQU0ttTUwc8WMqTjtL4W ``` #### Parameters | Field | Description | | -------- | ------- | | return_url | Provided in the Initiate the Transaction request (_notifications.return_url_). | | id | Unique reference in our system for the transaction. | ## Step 6: Complete the transaction The final step is to confirm the transaction, which is used to execute a successfully authenticated and authorized transaction. The `ID` from the previous step must be included in the URL. A body is not required, unless you want to change the shipping address or amount at this stage. #### Sample request ```json POST https://apis.sandbox.globalpay.com/ucp/transactions//confirmation { "payment_method": { "apm": { "provider": "PAYPAL" } } } ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); String trnId = "TRN_KJtVKMwFIyZScDOvMkutIkdR7dP2p4_pal-210420-3"; Transaction transaction = Transaction.fromId(trnId, PaymentMethodType.APM); transaction.setAlternativePaymentResponse(new AlternativePaymentResponse()); transaction.getAlternativePaymentResponse().setProviderName(AlternativePaymentType.PAYPAL.name()); transaction.getAlternativePaymentResponse().setProviderReference("string"); try { Transaction response = transaction .confirm() .execute(); AlternativePaymentResponse alternativePaymentResponse = response.getAlternativePaymentResponse(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->redirect_url" String redirectUrl = alternativePaymentResponse.getRedirectUrl(); // API raw response key "payment_method->apm->provider" String provider = alternativePaymentResponse.getProviderName(); // API raw response key "payment_method->apm->ack" String ack = alternativePaymentResponse.getAck(); // API raw response key "payment_method->apm->session_token" String sessionToken = alternativePaymentResponse.getSessionToken(); // API raw response key "payment_method->apm->correlation_reference" String correlationReference = alternativePaymentResponse.getCorrelationReference(); // API raw response key "payment_method->apm->version_reference" String versionReference = alternativePaymentResponse.getVersionReference(); // API raw response key "payment_method->apm->build_reference" String buildReference = alternativePaymentResponse.getBuildReference(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig { AppId = "AppId", AppKey = "AppKey", Channel = Channel.CardNotPresent, Environment = Environment.TEST }; ServicesContainer.ConfigureService(config); var transaction = Transaction.FromId("TRN_KJtVKMwFIyZScDOvMkutIkdR7dP2p4_pal-210420-3", null, PaymentMethodType.APM); transaction.AlternativePaymentResponse = new AlternativePaymentResponse { ProviderName = AlternativePaymentType.PAYPAL.ToString(), ProviderReference = "string" }; try { Transaction response = transaction.Confirm().Execute(); //API raw response key "id" var transactionId = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; //API raw response key payment_method->redirect_url var redirectUrl = response.AlternativePaymentResponse.RedirectUrl; //API raw response key payment_method->apm->provider var provider = response.AlternativePaymentResponse.ProviderName; //API raw response key payment_method->apm->ack var ack = response.AlternativePaymentResponse.Ack; //API raw response key payment_method->apm->session_token var sessionToken = response.AlternativePaymentResponse.SessionToken; //API raw response key payment_method->apm->correlation_reference var correlationReference=response.AlternativePaymentResponse.CorrelationReference; //API raw response key payment_method->apm->version_reference var versionReference = response.AlternativePaymentResponse.VersionReference; //API raw response key payment_method->apm->build_reference var buildReference = response.AlternativePaymentResponse.BuildReference; //API raw response key payment_method->result var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $trnId = "TRN_KJtVKMwFIyZScDOvMkutIkdR7dP2p4_pal-210420-3"; $transaction = Transaction::fromId($trnId, null, PaymentMethodType::APM); $transaction->alternativePaymentResponse = new AlternativePaymentMethod(); $transaction->alternativePaymentResponse->providerName = AlternativePaymentType::PAYPAL; $transaction->alternativePaymentResponse->providerReference = "string"; try { /** @var Transaction $response */ $response = $transaction->confirm()->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } //API raw response key "id" $transactionId = $response->transactionId; // API raw response key "amount" $amount = $response->balanceAmount; // API raw response key "reference" $referenceNumber = $response->referenceNumber; // API raw response key "action->result_code" $responseCode = $response->responseCode; // API raw response key "status" $transactionStatus = $response->responseMessage; // API raw response key "time_created" $timeCreated = $response->timestamp; //API raw response key payment_method->redirect_url $redirectUrl = $response->alternativePaymentResponse->redirectUrl; //API raw response key payment_method->apm->provider $provider = $response->alternativePaymentResponse->providerName; //API raw response key payment_method->apm->ack $ack = $response->alternativePaymentResponse->ack; //API raw response key payment_method->apm->session_token $sessionToken = $response->alternativePaymentResponse->sessionToken; //API raw response key payment_method->apm->correlation_reference $correlationReference = $response->alternativePaymentResponse->correlationReference; //API raw response key payment_method->apm->version_reference $versionReference = $response->alternativePaymentResponse->versionReference; //API raw response key payment_method->apm->build_reference $buildReference = $response->alternativePaymentResponse->buildReference; //API raw response key payment_method->result $cardIssuerResult = $response->cardIssuerResponse->result; ``` #### Sample response ```json { "id": "TRN_L5zXCu1cKs2jkoj71pRXNJXAAUpS8A_83118561", "time_created": "2024-09-17T13:05:19.382Z", "type": "SALE", "status": "CAPTURED", "amount": "20045", "currency": "EUR", "country": "GB", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "TRA_27c901760029495f813afbb0dab197ef", "account_name": "transaction_processing", "reference": "83118561", "payment_method": { "result": "00", "message": "SUCCESS", "entry_mode": "ECOM", "apm": { "provider": "paypal", "session_token": "EC-7FB82811AD668211X", "seller_reference": "testmerchant@globalpay.com", "time_created_reference": "2024-09-17T13:05:19Z", "transaction_reference": "5B097801L4829094B", "ack": "SUCCESS", "version_reference": "98.0", "build_reference": "58613796", "correlation_reference": "8aaf790c20f20", "secure_account_reference": "CUEXTCPF4MNQY", "reason_code": "none", "pending_reason": "none", "gross_amount": "20045", "payment_time_reference": "2024-09-17T13:05:18Z", "payment_type": "INSTANT", "payment_status": "COMPLETED", "type": "express-checkout", "exchange_rate": "0.87785", "protection_eligibilty": "ELIGIBLE" } }, "action": { "id": "ACT_xn2AWGSLfmFWqgyofyLa99fkSKEI19", "type": "CONFIRM", "time_created": "2024-09-17T13:05:19.382Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Testing PayPal Use your credentials to log in to your PayPal test account. Then you can test the PayPal payment method with the test details available. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/dynamic-currency-conversion-guide.md # Dynamic Currency Conversion - Guide > This feature is currently not available in the United States or Canada. For more information, check with your account manager. Our Dynamic Currency Conversion (DCC) solution enables you to offer cardholders traveling internationally the choice of paying either in the currency of their own card or the currency that the merchant trades in. The customer is offered an exchange rate at the point of sale rather than at the point of settlement, which is what happens if DCC is not present. #### API In this guide, you'll learn how to obtain the relevant currency and exchange rate, present the option to the customer, and process the authorization. We also provide information on complying with requirements to display exchange rates and fees. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Check card currency and exchange rate To start, we need to check if the card is available for DCC and what the current exchange rate is. * If the card is eligible for DCC, you’ll receive an `AVAILABLE` status. * If the card is not eligible for DCC or the card currency is the same as your base currency, you’ll receive a `NOT_AVAILABLE` status. #### Sample request ```json POST https://apis.sandbox.globalpay.com/ucp/currency-conversions { "account_name": "dcc", "channel": "CNP", "amount": "2300", "currency": "EUR", "country": "GB", "reference": "ORDER_35359361", "payment_method": { "entry_mode": "ECOM", "card": { "number": "4006097467207025", "expiry_month": "12", "expiry_year": "25" } } } ```JSON #### Sample response ```json { "id": "CCS_LUAa1xpkuWeBPuREJXiA7Ua0ySQGHM", "time_created": "2021-06-30T16:05:02.491Z", "model": "FROM_TRANSACTION_CURRENCY", "status": "AVAILABLE", "country": "GB", "transaction_type": "SALE", "amount": "2300", "currency": "EUR", "exchange_rate": "1.6250", "payer_amount": "3738", "payer_currency": "AUD", "margin_rate_percentage": "03.7500", "exchange_rate_source": "REUTERS WHOLESALE INTERBANK", "exchange_rate_time_created": "2018-08-20T11:17", "commission_percentage": "00.0000", "merchant_id": "MER_c11ad71fb6474bb9b8d753e16ef35708", "merchant_name": "DCC_Test", "account_id": "TRA_cb12a5ccd1704066beab6a49d6f39cee", "account_name": "dcc", "reference": "ORDER_35359361", "payment_method": { "result": "00", "message": "Success", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX7025" } }, "action": { "id": "ACT_LUAa1xpkuWeBPuREJXiA7Ua0ySQGHM", "type": "RATE_LOOKUP", "time_created": "2021-06-30T16:05:02.491Z", "result_code": "SUCCESS", "app_id": "L6reqt6WUjenvyQi0PJgUsF6RUXU1tto", "app_name": "DCC_Test" } } ```JSON ## Step 2: Offer currency choice to customer Now that we have the card currency, exchange rate, and amount, we can present the option to the customer. For this example, the card currency is Swedish Krona (SEK) and our base currency is Euro (EUR). ![Payment screen showing which currency to pay in.](https://developer.globalpayments.com/gh-assets/dcc_select-currency.png) **DCC Choice Example** ## Step 3: Send authorization with DCC details Once the customer selects the currency, you can send the Authorization along with the DCC information to reflect the customer’s choice. ### DCC CHOSEN In this example, the customer has chosen to pay in the currency of their card. You can populate the converted amount, rate, and currency into the request. #### Sample request ```json POST https://apis.sandbox.globalpay.com/ucp/transactions { "account_name": "dcc", "type": "SALE", "channel": "CNP", "amount": "2300", "currency": "EUR", "country": "GB", "reference": "ORDER_35359361", "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "ECOM", "card": { "number": "4006097467207025", "expiry_month": "12", "expiry_year": "25", "cvv": "996" } }, "currency_conversion": { "id": "CCS_g47zV5MsiNjRyX89lCx41xfIfF7G7f" } } ```JSON ### DCC NOT_AVAILABLE or NOT_CHOSEN In this example, DCC is not available or the customer has not chosen to pay in the currency of their card. No DCC data is submitted as part of the Authorization message. #### Sample request ```json POST https://apis.sandbox.globalpay.com/ucp/transactions { "account_name": "dcc", "type": "SALE", "channel": "CNP", "amount": "2300", "currency": "EUR", "country": "GB", "reference": "ORDER_35359361", "payment_method": { "entry_mode": "ECOM", "card": { "number": "4006097467207025", "expiry_month": "12", "expiry_year": "25", "cvv": "996" } } } ```JSON ## Compliance with EEA currencies #### Markup transparency rules In April 2020, the European Union introduced new rules governing the transparency of a merchant markup on currency conversions for certain currencies in the European Economic Area (EEA). These currencies include: **EUR**, **BGN**, **HRK**, **DKK**, **HUF**, **PLN**, **CZK**, **RON**, and **SEK**. For merchants utilizing DCC, the EEA rules mean that if the exchange rate offered to the customer has a markup that makes the amount above the European Central Bank (ECB) exchange rate, this percentage rate must be displayed to the consumer. When the customer is presented with the choice to pay in the currency of their card or the merchant’s base currency, the markup amount should be displayed to them. If the exchange rate offered is the same or less than the ECB rate, the markup should be displayed as 0%. The value of the rate field returned in the Rate Lookup response will be the rate provided by the merchant or a third-party Currency Conversion Processor (CCP), inclusive of their markup. The value of the margin percentage field will reflect the markup rate of the merchant or CCP in relation to the current ECB rate. #### HPP Example Either the merchant or CCP provides the interbank exchange rate available at the time of transaction and displays it to the customer. This way, the customer knows the exchange rate before they complete the payment. They can then choose whether to continue with the conversion or pay in the merchant’s base currency. When the customer is presented with the choice to pay in the currency of their card or the merchant’s base currency, the markup percentage and commission applied will be displayed to them. This can alleviate any concerns customers may have about any subsequent processing for foreign-exchange conversion. In this example on our Hosted Payment Page (HPP), the base currency is British pound sterling (GPB) and the card currency is Hong Kong Dollar (HKD). ![Payment screen showing the exchange rate and markup.](https://developer.globalpayments.com/gh-assets/dcc_compliance-info.png) **DCC Section with Compliance Information** #### HPP In this guide, we show you how to enable DCC on the Hosted Payment Page (HPP). We also provide information on complying with requirements to display exchange rates and fees. ## Enable DCC on the HPP To enable DCC, we simply add one field in the Create HPP Link request: * order.transaction_configuration.currency_conversion_mode #### Sample request ```json curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7V5XtjLBHLN1h' \ --data-raw '{ "account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-549d-4967-aeea-51b3f320046a", "payer": { "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "44", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Halifax", "postal_code": "44", "country": "GB" } }, "order": { "amount": "1000", "currency": "EUR", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "GB", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD" ], "currency_conversion_mode": "YES" }, "payment_method_configuration": { "authentications": { "preference": "CHALLENGE_PREFERRED" } } }, "notifications": { "return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url" } }' ```JSON ## Additional request fields | Element/Field | Category | Format | Type | Length | Description | | --- | --- | --- | --- | --- | --- | | order.transaction_ , configuration. , currency_ , conversion_ , mode | string | boolean | O | | Determines whether DCC is activated. Allowable values: **YES** **NO** | #### DCC example Now that we enabled DCC on the HPP, the option is displayed to the customer. For this example, our base currency is Euro (EUR) and the card currency is Swedish Krona (SEK). ![Payment screen showing which currency to pay in.](https://developer.globalpayments.com/gh-assets/dcc_select-currency.png) **DCC Choice Example** ## Compliance with EEA currencies #### Markup transparency rules In April 2020, the European Union introduced new rules governing the transparency of a merchant markup on currency conversions for certain currencies in the European Economic Area (EEA). These currencies include: **EUR**, **BGN**, **HRK**, **DKK**, **HUF**, **PLN**, **CZK**, **RON**, and **SEK**. For merchants utilizing DCC, the EEA rules mean that if the exchange rate offered to the customer has a markup that makes the amount above the European Central Bank (ECB) exchange rate, this percentage rate must be displayed to the consumer. When the customer is presented with the choice to pay in the currency of their card or the merchant’s base currency, the markup amount should be displayed to them. If the exchange rate offered is the same or less than the ECB rate, the markup should be displayed as 0%. The value of the rate field returned in the Rate Lookup response will be the rate provided by the merchant or a third-party Currency Conversion Processor (CCP), inclusive of their markup. The value of the margin percentage field will reflect the markup rate of the merchant or CCP in relation to the current ECB rate. #### HPP example Either the merchant or CCP provides the interbank exchange rate available at the time of transaction and displays it to the customer. This way, the customer knows the exchange rate before they complete the payment. They can then choose whether to continue with the conversion or pay in the merchant’s base currency. When the customer is presented with the choice to pay in the currency of their card or the merchant’s base currency, the markup percentage and commission applied will be displayed to them. This can alleviate any concerns customers may have about any subsequent processing for foreign-exchange conversion. For this example, our base currency is British pound sterling (GPB) and the card currency is Hong Kong Dollar (HKD). ![Payment screen showing the exchange rate and markup.](https://developer.globalpayments.com/gh-assets/dcc_compliance-info.png) **DCC Section with Compliance Information** ## Enhance your integration Below are value-added services you can enable for the HPP. ### [Card Storage](https://developer.globalpayments.com/docs/payments/tokenization/card-storage-guide.md) Tokenize card details to charge customers later. ### [Alternative Payment Methods](https://developer.globalpayments.com/docs/payments/payment-methods/alternative-payment-methods-guide.md) Discover additional transaction options. ### [Digital Wallets](https://developer.globalpayments.com/docs/payments/payment-methods/digital-wallets/overview.md) Let customers make quick payments in-person, online, or on a mobile device. ## Overview - Czechia Source: https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/cz-overview.md # Bank Payment – Overview ## What is Bank Payment? Bank Payment, also known as *Bankovní Platba* in the Czech Republic, is one of the leading bank-to-bank payment methods in Czechia, providing fast, secure, and convenient payment solutions for businesses and consumers. In Czechia, Bank Payment is widely integrated with ecommerce platforms and offers features like recurring payments and multi-currency support. It also provides advanced fraud prevention measures, making it a trusted choice for both merchants and customers throughout the region. Bank Payment’s combination of flexibility, security, and ease of use makes it a popular choice for businesses and customers alike. ### Key benefits for businesses * **Global and local reach**: Offers multi-currency support and local payment methods, helping businesses expand both locally and internationally. * **Fast and reliable**: Facilitates quick payment processing, reducing friction during checkout and improving conversion rates. * **Advanced security**: Implements robust fraud prevention tools and compliance with global standards like PCI DSS, ensuring secure transactions. ### Key benefits for customers * **Convenience**: Offers user-friendly interfaces and quick checkout options. * **Security**: Ensures secure transactions with encryption and fraud protection measures. * **Customer support**: Provides reliable assistance for payment-related issues. Existing and new merchants can easily access bank payment. It will appear as another payment option alongside alternative payment methods like cards, PayPal or any other local payment methods. ![Option for choosing Bankovni Platba.](https://developer.globalpayments.com/gh-assets/logo_cz_bankovni.png) **Payment method option.** ## Next steps Click on the cards below to explore the different options for working with Bank Payment in Czechia. ### [Use our API](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/cz-guide.md#api) Learn how to integrate Bank Payment using our API. ### [Show APM on your Host Payment Page](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/cz-guide.md#hpp) Learn how to display Bank Payment on your Hosted Payment Page. ### [Integrate with our Drop-in UI](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/cz-guide.md#drop-in) Learn how to integrate Bank Payment with our Drop-in UI, a ready-made payment form. ## Guide - Czechia Source: https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/cz-guide.md # Bank Payment Guide – Czechia ## What is Bank Payment? Bank Payment, also known as *Bankovní Platba*, is one of the leading bank-to-bank payment methods in the Czech Republic, providing fast, secure, and convenient payment solutions for businesses and consumers. In this guide, we offer three easy ways to integrate with our Bank Payment solution. Once integrated, Bankovní Platba will appear as another payment option alongside alternative payment methods like cards, PayPal or any other local payment methods. You can learn more about how to use these options by clicking on the tabs below. ![Option for choosing Bankovní Platba.](https://developer.globalpayments.com/gh-assets/logo_cz_bankovni.png) **Payment method option.** #### API ## Learn how to integrate with Bank Payment using our API In this guide, we'll show you how to set up the request, receive the response, and handle the transaction status to give you access to Bank Payment. At a high level, the majority of APMs work like this: 1) The customer initiates the payment, triggering the API call to redirect the customer to a screen that shows all payment method options. 2) When the customer chooses a payment method, the merchant receives the initial response while the customer is redirected back to the merchant's application or website. 3) Then the merchant's application or website receives the final status update from the payment method the customer chose. The diagram below illustrates the interaction between the customer, our API, and the merchant to use an alternative payment method. ![Diagram flow showing interaction between the customer, our API, and the merchant to use an alternative payment method.](https://developer.globalpayments.com/gh-assets/apm_flow.png) **Typical API Integration for Bank Payment** ### Prerequisites * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ### Step 1. Get a bank list Prior to initiating the payment call, the merchant will need to get a list of banks that are available based on the country so that the country and currency details can be sent in the initiation request. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/banks?payment_method=bank_payment&country=CZ¤cy=CZK&account_id=TRA_24bfc3d8513142c8be754003c7c17059' \ --header 'Accept: application/json' \ --header 'Accept-Encoding: gzip' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 8V81ra1cZCUtALpjKnrHu7udsrhA' ``` #### Sample response ```json { "total_record_count": 13, "current_page_size": 13, "merchant_id": "MER_461194d8057xxxx08ca360ea8270", "merchant_name": "Sandbox_Merchant", "account_id": "TRA_08e5bac604xxxx96ad0d623fbba", "account_name": "Open_Banking_account", "filter": { "payment_method": "BANK_PAYMENT", "account_id": "TRA_08e5bac604xxxx96ad0d623fbba", "country": "CZ", "currency": "CZK" }, "paging": { "page_size": 13, "page": 1, "order": "ASC", "order_by": "BANK_NAME" }, "payment_method": { "bank_transfer": { "banks": [ { "code": "qrcz", "name": "QR Platba", "logo_url": "" }, { "code": "ceskasporitelna", "name": "Česká spořitelna", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Aceskasporitelna.svg" }, { "code": "csob", "name": "ČSOB", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Acsob.svg" }, { "code": "komercnibanka", "name": "Komerční banka", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Akomercnibanka.svg" }, { "code": "raiffesenbank", "name": "Raiffesenbank", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Araiffesenbank.svg" }, { "code": "fiobanka", "name": "Fio banka", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Afiobanka.svg" }, { "code": "monetamoneybank", "name": "MONETA Money Bank", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Amonetamoneybank.svg" }, { "code": "airbank", "name": "AirBank", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Aairbank.svg" }, { "code": "mbank", "name": "mBank", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Acz%3Ambank.svg" }, { "code": "postacz", "name": "Česká Pošta", "logo_url": "" }, { "code": "unicredit", "name": "UniCredit", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Aunicreditbank.svg" }, { "code": "creditasbanka", "name": "Banka Creditas", "logo_url": "" }, { "code": "jtbanka", "name": "J&T Banka", "logo_url": "" } ] } }, "action": { "id": "ACT_Zk2AezTYFAe0rXfTt9EOFGYSeDyQCu", "type": "BANK_LIST", "time_created": "2025-05-28T15:38:37.157Z", "result_code": "SUCCESS", "app_id": "JtivfTN6wN6lPLDA0eiRlbuqIB5AkKl7", "app_name": "qa-cert-mindbody" } } ``` ### Step 2: Initiate the payment The first request is a Transaction Create. This is used to advise the payment method of the details of a new transaction and to retrieve the necessary information required to facilitate authentication. In this example, we set up a Bank Payment transaction. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Accept: application/json' \ --header 'Accept-Encoding: gzip' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxx' \ --data '{ "merchant_id": "", "account_id": "TRA_08e5bac604xxxx96ad0d623fbba", "channel": "CNP", "capture_mode": "AUTO", "type": "SALE", "amount": "1000", "currency": "CZK", "country": "CZ", "reference": "59016331", "payment_method": { "name": "Jane", "entry_mode": "ECOM", "apm": { "provider": "bank_payment" }, "bank_transfer": { "bank": { "name": "mbank" } } }, "payer": { "country": "CZ", "email": "" }, "notifications": { "return_url": "https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4", "status_url": "https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4", "cancel_url": "https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4" } }' ``` #### Sample response ```json { "id": "TRN_DN2r7jVy0PGO0qsrct3l3Dj_59016331", "time_created": "2025-04-22T15:42:23.145Z", "type": "SALE", "status": "INITIATED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1000", "currency": "CZK", "country": "CZ", "merchant_id": "MER_461194d8057xxxx08ca360ea8270", "merchant_name": "Sandbox_Merchant", "account_id": "TRA_08e5bac604xxxx96ad0d623fbba", "account_name": "Open_Banking_account", "reference": "59016331", "payment_method": { "result": "01", "message": "PENDING", "entry_mode": "ECOM", "provider_narrative": "", "apm": { "redirect_url": "https://merch-prod.snd.sample.com/info/?orderId=1ZPR16BCPG250422GUEST000P01&token=eyJhbGciOiJIUzI1NiJ9.eyJvcmRlcklkIjoiMVpQUjE2QkNQRzI1MDQyMkdVRVNUMDAwUDAxIiwicG9zSWQiOiI4NXdrMTZNSSIsImF1dGhvcml0aWVzIjpbIlJPTEVfQ0xJRU5UIl0sImV4cCI6MTc0NTQyMjk0MSwiaXNzIjoiUEFZVSIsImF1ZCI6ImFwaS1nYXRld2F5Iiwic3ViIjoiUGF5VSBzdWJqZWN0IiwianRpIjoiMTk3ZWEwNDItNzk2Mi00ZjUwLTg2MGYtZTZjMWMxYjU0MGUyIn0.1sPGsu9IrcQdLSzw-BWDhG3ekNREM9s8qFcUISyjxuw", "provider": "bank_payment", "provider_payer_name": "Jane", "wait_notification": "", "fund_status": "", "optional_redirect": "", "bank": { "account_number": "", "iban": "", "identifier_code": "", "name": "", "code": "" }, "mandate": { "reference": "" } } }, "platforms": [ { "type": "ECOM", "transaction_id": "", "order_id": "TRN_DN2r7jVy0PGO0qsrct3l3Dj_59016331", "authcode": "", "pasref": "17453365403079031000000" } ], "payer": { "country": "CZ", "email": "" }, "batch_id": "", "action": { "id": "ACT_DN2r7jVy0PGO0qsrcsc95En", "type": "INITIATE", "time_created": "2025-04-22T15:42:23.145Z", "result_code": "SUCCESS", "app_id": "p2GgW0PntEU4qXhJHPoDqj", "app_name": "Test_App" } } ``` ### Step 3: Redirect to the payment method Following a successful initiation of the transaction, the next step is to redirect the customer to their bank to facilitate authentication and authorization. This can be achieved in a couple of ways. For example, you could use a simple JavaScript redirect as shown below, or an HTTP GET (302 redirect). #### Sample code ```HTML Sample APM Redirect ``` Once the customer completes their transaction with the payment method, they are redirected to the Return URL of the initial request. The current status of the transaction will also be returned. Your application might put the customer on hold for a few seconds while it checks to see if the Status URL was sent a final update. You can then redirect the customer to a final success or failure page. ### Step 4: Receive the final status The URL specified in the Status URL element in the initial request will receive the final status. Depending on the payment method used, this can happen at the same time as the customer is redirected to your Return URL or within moments. It's also possible that the final status update might come days later. When you receive the final status update, you may want to send the customer a status notification to indicate that the payment was finally accepted. At this point, you can begin the process of shipping the purchased items to the customer. #### Sample status update ```json { "id":"TRN_DN2r7jVy0PGO0qsrct3l3Dj_59016331", "time_created":"2024-01-15T13:17:21.914Z", "type":"SALE", "status":"CAPTURED", "channel":"CNP", "capture_mode":"AUTO", "amount":"1000", "currency":"CZK", "country":"CZ", "merchant_id": "MER_461194d8057xxxx08ca360ea8270", "merchant_name": "Sandbox_Merchant", "account_id": "TRA_08e5bac604xxxx96ad0d623fbba", "account_name": "Open_Banking_account", "reference":"59016331", "payment_method":{ "result":"00", "message":"SUCCEEDED", "entry_mode":"ECOM", "apm":{ "provider":"ob", "wait_notification":"", "fund_status":"NOT_EXPECTED", "payment_description":"3K1TRQQ", "confirmed_accountholder":"Former Glory", "account_number":"93722", "iban":"DE2570025xxxxxxxxxxxx", "bank_identifier_code":"xxxxxxxx", "bank_name":"xxxxxxxxx", "bank_address":"", "optional_redirect":"" } }, "batch_id":"", "action":{ "id":"ACT_mkP7xm9u47kLgTwTKhYfQXwjP", "type":"STATUS_NOTIFICATION", "time_created":"2020-04-20T14:36:58.193Z", "result_code":"SUCCESS", "app_id":"p2GgW0PntEU4qXhJHPoDqj", "app_name":"Test_App" } } ``` #### HPP ## Learn how to display Bank Payment on your Hosted Payment Page Alternative payment methods (APMs) available on your account can be displayed on the Hosted Payment Page (HPP). In this guide, we show you how they appear by default and how to display only those available in certain countries or ones that you consider most relevant to the customer. ### How they display By default, the HPP displays whatever APMs are available on your account. In addition, it displays only those payment methods that are available in the country submitted in the `order.transaction_configuration.country` field. ![Only methods available in the country submitted are displayed.](https://developer.globalpayments.com/gh-assets/bankpayment_cz1_bankovni.png) **Bank Payment “Bankovní Platba” on HPP** To present the most relevant payment methods to your customer, you can pre-select one or more in the request. To do this, include the optional `allowed_payment_methods` field. #### Sample request ```json curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2024-12-22' \ --header 'Authorization: Bearer bBj5Bv4RN1hxxxxxxxxxxx' \ --data-raw '{ "account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-5d9d-area-aeea-51b3fsas046a", "payer": { "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "48", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Prague", "postal_code": "48", "country": "CZ" } }, "order": { "amount": "1000", "currency": "CZK", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "CZ", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD", "BANK_PAYMENT", ] }, "payment_method_configuration": { "authentications": { "preference": "CHALLENGE_PREFERRED" } } }, "notifications": { "return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url" } }' ``` #### Sample response ```json { "id": "LNK_ysoCziB7OG5rHMhhZ3eLUAIz3mQ7RG", "account_name": "transaction_processing", "url": "https://apis.sandbox.globalpay.com/ucp/hpp/redirect/518944c2-8e06-48e9-b153-cc31b65d25b9", "status": "ACTIVE", "type": "HOSTED_PAYMENT_PAGE", "usage_mode": "SINGLE", "usage_limit": "1", "name": "Mobile Bill Payment", "description": "February and March Invoice", "expiration_date": "2025-04-05T11:12:25.254Z", "order": { "amount": "1000", "currency": "CZK", "reference": "123456789", "transaction_configuration": { "country": "CZ", "channel": "CNP" } }, "action": { "id": "ACT_ysoCziB7OG5rHMhhZ3eLUAIz3mQ7RG", "type": "LINK_CREATE", "time_created": "2025-04-04T11:12:25.254Z", "result_code": "SUCCESS", "app_id": "p2GgW0PntEUiUh4qXhJHPoDqj3G5GFGI", "app_name": "UCP_Test_Automation_App" } } ``` ### Bank selection Bank Payment allows consumers to select their bank directly from our Hosted Payment Page to make an Open Banking payment. Adding bank selection to the HPP means consumers would be redirected to their selected bank. Selecting the tabs for different payment methods allows the user to view the list of banks presented as buttons. Once the bank is selected the consumer is then redirected to the bank environment to log in and push the payment. ![Only methods available in the country submitted are displayed.](https://developer.globalpayments.com/gh-assets/bankpayment_cz1_bankovni.png) **Bank Payment “Bankovní Platba” on HPP** Once the customer clicks on “Bankovní Platba” all the available banks are populated, once the bank is selected then the customer is redirected to the bank application. ![Bank payments displayed to the customer.](https://developer.globalpayments.com/gh-assets/bankpayment_cz2_allbanks.png) **Bank Payment “Bankovní Platba” on HPP** ### Status handling #### Endpoints Once you have a Global Payments Client ID, you can send transactions to the following URL endpoints: | **Environment** | **URL** | | ---- | ---- | | Sandbox | [https://apis.sandbox.globalpay.com/ucp/transactions](https://apis.sandbox.globalpay.com/ucp/transactions) | | Production | [https://apis.globalpay.com/ucp/transactions](https://apis.globalpay.com/ucp/transactions) | > For Production, we only accept transactions from IP addresses on your account's allow list. Your Global Payments account manager can assist you with setting this up. Even if your Client ID has been set to Live, you can still send transactions to the Sandbox environment — just target the Sandbox URL. #### Results codes | **Code** | **Description** | **Status** | | ---- |---- | ---- | | 200 | OK | This represents a successful API action. | | 400 | Bad Request | Error: The API request has an error in it. | | 401 | Not Authenticated | Error: Cannot authenticate with those credentials. Need to get a new access token. | | 403 | Forbidden | Error: No permission to execute that API action. | | 404 | Resource Not Found | Error: The resource referenced in the request cannot be found. | | 405 | Method Not Allowed | Error: The HTTP request method is not supported for the requested resource. | | 409 | Duplicate | Error: The API request was blocked because it was seen as a duplicate action that must not be processed. | | 500 | Internal Server Error | Error: Something unexpected happened. | | 502 | Bad Gateway | Error: Something unexpected happened when communicating with another system. | | 504 | Timeout | Error: The API did not get a response from another system in the expected timeframe. | #### Drop-In UI ## Learn how to integrate Bank Payment with our Drop-In UI In this guide, we'll show you how to integrate Bank Payment with our Drop-In User Interface (UI) – a ready-made payment form using our Hosted Fields solution. You’ll learn how to add Bank Payment to your payment form using our JavaScript Library. ### Prerequisites * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ### Step 1: Configure with Bank Payment Once you’ve created the access token, you can now configure the JavaScript Library to enable Bank Payment in your payment form. Add a `
` tag to render the Drop-In UI payment form to the customer. ```HTML
``` Next, configure your JavaScript Library with the transaction details required for Bank Payment. ```JavaScript GlobalPayments.configure({ accessToken: "WbTexlzWGcekOaTl3fkqkAW6Lfr4", env: "sandbox", apiVersion: "2023-03-22", language: "en", orderInformation: { merchantName: "Test Merchant Name", orderTotalAmount: "19.99", orderReference: "order-1234", currencyCode: "CZK", }, apms: { currencyCode: "CZK", countryCode: "CZ", acquirer: “erstecz”, nonCardPayments: { allowedPaymentMethods: [{ provider: GlobalPayments.enums.ApmProviders.OpenBanking, }] } } }); ``` ![Drop-In UI with Bank Payment button (Czech Republic).](https://developer.globalpayments.com/gh-assets/bankpayment_cz_drop-in-ui.png) **Drop-In UI with Bank Payment button (Czech Republic)** #### JavaScript configuration (Bank Payment-specific parameters) > “Type” indicates whether the element is Mandatory (M), Optional (O), or Conditional (C) – dependent on another field or regional requirement. | **Name** | **Format** | **Type** | **Description** | | -------- | ------- | -------- | ------- | | currencyCode | string | M | Currency of the amount in ISO-4217 (alpha-3). Czech Republic = CZK | | countryCode | string | M | The country in ISO-3166-1(alpha-2 code) format. Czech Republic = CZK | | provider | string | M | The string used to identify the payment method provider being used to execute this transaction. | | acquirer | string | M | The string used to identify the acquirer being used to execute this transaction: erstecz (CZ) | ### Step 2: Capture customer selection Now that we have configured Bank Payment and it's displayed on the Drop-In UI, when a customer selects Bank Payment as the payment method, the Drop-In UI returns this selection in an event. For example, the Drop-In UI returns: *Selected provider: OpenBanking*. Below is the code snippet of how the Drop-In UI returns this event. ```JavaScript cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const { provider, countryCode, currencyCode, bankName, acquirer } = paymentProviderData; console.log('Selected provider: ' + provider); ... //continued in Step 4 - Redirect customer to payment method ``` ### Step 3: Initiate the Bank Payment transaction Now that we know what payment method the customer has selected, we can initiate the transaction. We create a transaction request with the payment method provider and include the transaction information in the request. This returns the necessary details required to facilitate authentication. The response contains a specific URL that is passed to the Drop-In UI to redirect the customer. A successful transaction request returns a unique transaction identifier (`TRN_ID`) and a redirect URL, which you’ll use to facilitate the customer confirmation of the transaction ([Step 4](#step-4-redirect-customer-to-payment-method) ). #### Sample request ```json { "account_name": "Transaction_Processing", "channel": "CNP", "amount": "1999", "type": "SALE", "currency": "CZK", "reference": "APM-20200417", "country": "CZ", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "apm": { "provider": "ob" }, "Bank_transfer": { "bank": { "name": "unicredit" } } }, "notifications": { "return_url": "", "status_url": "" } }' ``` #### Sample response ```json { "id": "TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM", "time_created": "2024-01-15T13:17:21.914Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "CZK", "country": "CZ", "merchant_id": "MER_c4c0df11039xxxx9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854axxxx3347043ff8225f", "account_name": "Transaction_Processing", "reference": "APM-20200417", "payment_method": { "result": "00", "message": "SUCCEEDED", "entry_mode": "ECOM", "apm": { "provider": "ob", "wait_notification": "", "fund_status": "NOT_EXPECTED", "payment_description": "3K1TRAA", "confirmed_accountholder": "Former Glory", "account_number": "93722", "iban": "DE25700251750xxxx05970", "bank_identifier_code": "HYVxxxxM643", "bank_name": "xxxxxxxxxx", "bank_address": "", "optional_redirect": "" } }, "batch_id": "", "action": { "id": "ACT_mkP7xm9u47kLgTwTKhYfQXRvfynwjP", "type": "STATUS_NOTIFICATION", "time_created": "2020-04-20T14:36:58.193Z", "result_code": "SUCCESS", "app_id": "jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name": "sample_app" } } ``` ### Step 4: Redirect customer to payment method The next step is to redirect the customer to the payment method using the URL provided in the response field of the previous step (`payment_method.redirect_url`) to facilitate authentication with the payment method. To do this, we pass the `redirect_url` returned in the response to the Drop-In UI. #### Sample redirect ```JavaScript cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const { provider, countryCode, currencyCode, bankName } = paymentProviderData; console.log('Selected provider: ' + provider); if (provider === GlobalPayments.enums.ApmProviders.OpenBanking && !bankName) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "", countryCode, currencyCode, } }); window.dispatchEvent(merchantCustomEventProvideDetails); } else if (bankName) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "", bankName } }); window.dispatchEvent(merchantCustomEventProvideDetails); } }); ``` Once the customer completes the transaction with the payment method, the customer is redirected to the Return URL of the initial request. The current status of the transaction will also be returned. ### Step 5: Receive the final status The URL specified in the Status URL element in the initial request will receive the final status. Depending on the payment method used, this can happen at the same time as the customer is redirected to your Return URL or within moments. It's also possible that the final status update might come days later. When you receive the final status update, you may want to send the customer a status notification to indicate that the payment was finally accepted. At this point, you can begin the process of shipping the purchased items to the customer. #### Sample status update ```json { "id": "TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM", "time_created": "2024-01-15T13:17:21.914Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "CZK", "country": "CZ", "merchant_id": "MER_c4c0df11039c48xxxx3701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969xxxx48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "APM-20200417", "payment_method": { "result": "00", "message": "SUCCEEDED", "entry_mode": "ECOM", "apm": { "provider": "ob", "wait_notification": "", "fund_status": "NOT_EXPECTED", "payment_description": "3K1TRAA", "confirmed_accountholder": "Former Glory", "account_number": "93722", "iban": "DE257002517503xxxxxxxx", "bank_identifier_code": "HYVxxxxM643", "bank_name": "xxxxxxxxxxxx", "bank_address": "", "optional_redirect": "" } }, "batch_id": "", "action": { "id": "ACT_mkP7xm9u47kLgTwTKhYfQXRvfynwjP", "type": "STATUS_NOTIFICATION", "time_created": "2020-04-20T14:36:58.193Z", "result_code": "SUCCESS", "app_id": "jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name": "sample_app" } } ``` ## Overview - Slovakia Source: https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/sk-overview.md # Bank Payment – Overview ## What is Bank Payment? Bank Payment, also known as *Banková Platba* in Slovakia, is one of the leading bank-to-bank payment methods in Slovakia, providing fast, secure, and convenient payment solutions for businesses and consumers. In Slovakia, Bank Payment is widely integrated with ecommerce platforms, offering features like recurring payments and multi-currency support. It also provides advanced fraud prevention measures, making it a trusted choice for both merchants and customers throughout the region. Bank Payment’s combination of flexibility, security, and ease of use makes it a popular choice for businesses and customers alike. ### Key benefits for businesses * **Global and local reach**: Offers multi-currency support and local payment methods, helping businesses expand both locally and internationally. * **Fast and reliable**: Facilitates quick payment processing, reducing friction during checkout and improving conversion rates. * **Advanced security**: Implements robust fraud prevention tools and compliance with global standards like PCI DSS, ensuring secure transactions. ### Key benefits for customers * **Convenience**: Offers user-friendly interfaces and quick checkout options. * **Security**: Ensures secure transactions with encryption and fraud protection measures. * **Customer support**: Provides reliable assistance for payment-related issues. Existing and new merchants can easily access bank payment. It will appear as another payment option alongside alternative payment methods like cards, PayPal or any other local payment methods. ![Option for choosing Bankova Platba.](https://developer.globalpayments.com/gh-assets/logo_sk_bankova.png) **Payment method option.** ## Next steps Click on the cards below to explore the different options for working with Bank Payment. ### [Use our API](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/sk-guide.md#api) Learn how to integrate Bank Payment using our API. ### [Show APM on your Host Payment Page](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/sk-guide.md#hpp) Learn how to display Bank Payment on your Hosted Payment Page. ### [Integrate with our Drop-in UI](https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/sk-guide.md#drop-in) Learn how to integrate Bank Payment with our Drop-in UI, a ready-made payment form. ## Guide - Slovakia Source: https://developer.globalpayments.com/docs/payments/payment-methods/bank-payment/sk-guide.md # Bank Payment – Guide ## What is Bank Payment? Bank Payment, also known as *Banková Platba*, is one of the leading bank-to-bank payment methods in Slovakia, providing fast, secure, and convenient payment solutions for businesses and consumers. In this guide, we offer three easy ways to integrate with our Bank Payment solution. Once integrated, Banková Platba will appear as another payment option alongside alternative payment methods like cards, PayPal or any other local payment methods. You can learn more about how to use these options by clicking on the tabs below. ![Option for choosing Bankova Platba.](https://developer.globalpayments.com/gh-assets/logo_sk_bankova.png) **Payment method option.** #### API ## Learn how to integrate with Bank Payment using our API In this guide, we'll show you how to set up the request, receive the response, and handle the transaction status to give you access to Bank Payment. At a high level, the majority of APMs work like this: 1) The customer initiates the payment, triggering the API call to redirect the customer to a screen that shows all payment method options. 2) When the customer chooses a payment method, the merchant receives the initial response while the customer is redirected back to the merchant's application or website. 3) Then the merchant's application or website receives the final status update from the payment method the customer chose. The diagram below illustrates the interaction between the customer, our API, and the merchant to use an alternative payment method. ![Diagram flow showing interaction between the customer, our API, and the merchant to use an alternative payment method.](https://developer.globalpayments.com/gh-assets/apm_flow.png) **Typical API Integration for Bank Payment** ### Prerequisites * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ### Step 1. Get a bank list Prior to initiating the payment call, the merchant will need to get a list of banks that are available based on the country so that the country and currency details can be sent in the initiation request. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/banks?payment_method=bank_payment&country=SK¤cy=EUR&account_id=TRA_24bfc3d8513142c8be754003c7c17059' \ --header 'Accept: application/json' \ --header 'Accept-Encoding: gzip' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer 8V81ra1cZCUtALpjKnrHu7udsrhA' ``` #### Sample response ```json { "total_record_count": 7, "current_page_size": 7, "merchant_id": "MER_28c5fce9exxxx95bb1a5125be4fc8f7a", "merchant_name": "UCP_Test_Automation_Merchant", "account_id": "TRA_24bfc3d851314xxxx754003c7c17059", "account_name": "Transaction_Processing", "filter": { "payment_method": "BANK_PAYMENT", "account_id": "TRA_24bfc3d851xxxxc8be754003c7c17059", "country": "SK", "currency": "EUR" }, "paging": { "page_size": 7, "page": 1, "order": "ASC", "order_by": "BANK_NAME" }, "payment_method": { "bank_transfer": { "banks": [ { "code": "qrsk", "name": "QR Platba", "logo_url": "" }, { "code": "slovenskasporitelna", "name": "Slovenská sporiteľňa", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Ask%3Aslovenskasporitelna.svg" }, { "code": "tatrabanka", "name": "Tatra banka", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Ask%3Atatrabanka.svg" }, { "code": "vubbanka", "name": "VÚB banka", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Ask%3Avubbanka.svg" }, { "code": "csob", "name": "ČSOB", "logo_url": "https://developer.globalpay.com/gh-assets/apms%3Agpe-ob%3Ask%3Acsob.svg" }, { "code": "viamo", "name": "Viamo", "logo_url": "" }, { "code": "365bank", "name": "365.bank", "logo_url": "" } ] } }, "action": { "id": "ACT_F6GOvlMVaWpcboZXwebfzCrQPNyLx3", "type": "BANK_LIST", "time_created": "2025-05-27T14:51:09.623Z", "result_code": "SUCCESS", "app_id": "p2GgW0PntEUiUh4qXhJHPoDqj3G5GFGI", "app_name": "UCP_Test_Automation_App" } } ``` ### Step 2: Initiate the payment The first request is a Transaction Create. This is used to advise the payment method of the details of a new transaction and to retrieve the necessary information required to facilitate authentication. In this example, we set up a Bank Payment transaction. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Accept: application/json' \ --header 'Accept-Encoding: gzip' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxx' \ --data '{ "merchant_id": "", "account_id": "TRA_24bfc3d851xxxxc8be754003c7c17059", "channel": "CNP", "capture_mode": "AUTO", "type": "SALE", "amount": "1000", "currency": "EUR", "country": "SK", "reference": "59016331", "payment_method": { "name": "Jane", "entry_mode": "ECOM", "apm": { "provider": "bank_payment" }, "bank_transfer": { "bank": { "name": "mbank" } } }, "payer": { "country": "SK", "email": "" }, "notifications": { "return_url": "https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4", "status_url": "https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4", "cancel_url": "https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4" } }' ``` #### Sample response ```json { "id": "TRN_DN2r7jVy0PGO0qsrcsc95EnLt3l3Dj_59016331", "time_created": "2025-04-22T15:42:23.145Z", "type": "SALE", "status": "INITIATED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1000", "currency": "EUR", "country": "SK", "merchant_id": "MER_28c5fce9ebexxxxb1a5125be4fc8f7a", "merchant_name": "UCP_Test_Automation_Merchant", "account_id": "TRA_24bfc3d85131xxxxbe754003c7c17059", "account_name": "GPECOM_PAYU_APM_Transaction_Processing", "reference": "59016331", "payment_method": { "result": "01", "message": "PENDING", "entry_mode": "ECOM", "provider_narrative": "", "apm": { "redirect_url": "https://merch-prod.snd.payu.com/info/?orderId=1ZPR16BCPG250422GUEST000P01&token=eyJhbGciOiJIUzI1NiJ9.eyJvcmRlcklkIjoiMVpQUjE2QkNQRzI1MDQyMkdVRVNUMDAwUDAxIiwicG9zSWQiOiI4NXdrMTZNSSIsImF1dGhvcml0aWVzIjpbIlJPTEVfQ0xJRU5UIl0sImV4cCI6MTc0NTQyMjk0MSwiaXNzIjoiUEFZVSIsImF1ZCI6ImFwaS1nYXRld2F5Iiwic3ViIjoiUGF5VSBzdWJqZWN0IiwianRpIjoiMTk3ZWEwNDItNzk2Mi00ZjUwLTg2MGYtZTZjMWMxYjU0MGUyIn0.1sPGsu9IrcQdLSzw-BWDhG3ekNREM9s8qFcUISyjxuw", "provider": "bank_payment", "provider_payer_name": "Jane", "wait_notification": "", "fund_status": "", "optional_redirect": "", "bank": { "account_number": "", "iban": "", "identifier_code": "", "name": "", "code": "" }, "mandate": { "reference": "" } } }, "platforms": [ { "type": "ECOM", "transaction_id": "", "order_id": "TRN_DN2r7jVy0PGO0qsrcsc95EnLt3l3Dj_59016331", "authcode": "", "pasref": "17453365403079031" } ], "payer": { "country": "SK", "email": "" }, "batch_id": "", "action": { "id": "ACT_DN2r7jVy0PGO0qsrcsc95EnLt3l3Dj", "type": "INITIATE", "time_created": "2025-04-22T15:42:23.145Z", "result_code": "SUCCESS", "app_id": "p2GgW0PntEUiUh4qXhJHPoDqj3G5GFGI", "app_name": "UCP_Test_Automation_App" } } ``` ### Step 3: Redirect to the payment method Following a successful initiation of the transaction, the next step is to redirect the customer to their bank to facilitate authentication and authorization. This can be achieved in a couple of ways. For example, you could use a simple JavaScript redirect as shown below, or an HTTP GET (302 redirect). #### Sample code ```HTML Sample APM Redirect ``` Once the customer completes their transaction with the payment method, they are redirected to the Return URL of the initial request. The current status of the transaction will also be returned. Your application might put the customer on hold for a few seconds while it checks to see if the Status URL was sent a final update. You can then redirect the customer to a final success or failure page. ### Step 4: Receive the final status The URL specified in the Status URL element in the initial request will receive the final status. Depending on the payment method used, this can happen at the same time as the customer is redirected to your Return URL or within moments. It's also possible that the final status update might come days later. When you receive the final status update, you may want to send the customer a status notification to indicate that the payment was finally accepted. At this point, you can begin the process of shipping the purchased items to the customer. #### Sample status update ```json { "id":"TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM", "time_created":"2024-01-15T13:17:21.914Z", "type":"SALE", "status":"CAPTURED", "channel":"CNP", "capture_mode":"AUTO", "amount":"1999", "currency":"EUR", "country":"SK", "merchant_id":"MER_c4c0df1103xxxxa9b63701adeaa296c3", "merchant_name":"Sandbox_merchant_2", "account_id":"TRA_671605896985xxxxb33347043ff8225f", "account_name":"Transaction_Processing", "reference":"APM-20200417", "payment_method":{ "result":"00", "message":"SUCCEEDED", "entry_mode":"ECOM", "apm":{ "provider":"ob", "wait_notification":"", "fund_status":"NOT_EXPECTED", "payment_description":"3K1TRAA", "confirmed_accountholder":"Former Glory", "account_number":"93722", "iban":"DE257002xxxxxxxxxxxx", "bank_identifier_code":"xxxxxxxx", "bank_name":"xxxxxxxx", "bank_address":"", "optional_redirect":"" } }, "batch_id":"", "action":{ "id":"ACT_mkP7xm9u47kLgTwTKhYfQXRvfynwjP", "type":"STATUS_NOTIFICATION", "time_created":"2020-04-20T14:36:58.193Z", "result_code":"SUCCESS", "app_id":"jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name":"sample_app" } } ``` #### HPP ## Learn how to display Bank Payment on your Hosted Payment Page Alternative payment methods (APMs) available on your account can be displayed on the Hosted Payment Page (HPP). In this guide, we show you how they appear by default and how to display only those available in certain countries or ones that you consider most relevant to the customer. ### How they display By default, the HPP displays whatever APMs are available on your account. In addition, it displays only those payment methods that are available in the country submitted in the `order.transaction_configuration.country` field. ![Only methods available in the country submitted are displayed.](https://developer.globalpayments.com/gh-assets/bankpayment_sk1_bankova.png) **Bank Payment “Banková Platba” on HPP** To present the most relevant payment methods to your customer, you can pre-select one or more in the request. To do this, include the optional `allowed_payment_methods` field. #### Sample request ```json curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2024-12-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7Vxxxxxxxxxxx' \ --data-raw '{ "account_name": "transaction_processing", "type": "HOSTED_PAYMENT_PAGE", "name": "Bill Payment", "description": "February and March Invoice", "reference": "82c2dbd5-549d-4967-aeea-51b3f320046a", "payer": { "name": "James Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "48", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "Flat 456", "line_2": "House 456", "line_3": "Unit 4", "city": "Bratislava", "postal_code": "48", "country": "SK" } }, "order": { "amount": "1000", "currency": "EUR", "reference": "order-645", "transaction_configuration": { "channel": "CNP", "country": "SK", "capture_mode": "AUTO", "allowed_payment_methods": [ "CARD", "blik", "payu", ] }, "payment_method_configuration": { "authentications": { "preference": "CHALLENGE_PREFERRED" } } }, "notifications": { "return_url": "https://www.example.com/return_url", "status_url": "https://www.example.com/status_url" } }' ``` #### Sample response ```json { "id": "LNK_ysoCziB7OG5rHMhhZ3eLUAIz3mQ7RG", "account_name": "transaction_processing", "url": "https://apis-sit.globalpay.com/ucp/hpp/redirect/518944c2-8e06-48e9-b153-cc31b65d25b9", "status": "ACTIVE", "type": "HOSTED_PAYMENT_PAGE", "usage_mode": "SINGLE", "usage_limit": "1", "name": "Mobile Bill Payment", "description": "February and March Invoice", "expiration_date": "2025-04-05T11:12:25.254Z", "order": { "amount": "1000", "currency": "EUR", "reference": "123456789", "transaction_configuration": { "country": "SK", "channel": "CNP" } }, "action": { "id": "ACT_ysoCziB7OG5rHMhhZ3eLUAIz3mQ7RG", "type": "LINK_CREATE", "time_created": "2025-04-04T11:12:25.254Z", "result_code": "SUCCESS", "app_id": "p2GgW0PntEUiUh4qXhJHPoDqj3G5GFGI", "app_name": "UCP_Test_Automation_App" } } ``` ### Bank selection Bank Payment allows consumers to select their bank directly from our Hosted Payment Page to make an Open Banking payment. Adding bank selection to the HPP means consumers would be redirected to their selected bank. Selecting the tabs for different payment methods allows the user to view the list of banks presented as buttons. Once the bank is selected the consumer is then redirected to the bank environment to log in and push the payment. ![Only methods available in the country submitted are displayed.](https://developer.globalpayments.com/gh-assets/bankpayment_sk1_bankova.png) **Bank Payment “Banková Platba” on HPP** Once the customer clicks on “Bankovní Platba” all the available banks are populated, once the bank is selected then the customer is redirected to the bank application. ![Bank payments displayed to the customer.](https://developer.globalpayments.com/gh-assets/bankpayment_sk2_allbanks.png) **Bank Payment “Banková Platba” on HPP** ### Status handling #### Endpoints Once you have a Global Payments Client ID, you can send transactions to the following URL endpoints: | **Environment** | **URL** | | ---- | ---- | | Sandbox | [https://apis.sandbox.globalpay.com/ucp/transactions](https://apis.sandbox.globalpay.com/ucp/transactions) | | Production | [https://apis.globalpay.com/ucp/transactions](https://apis.globalpay.com/ucp/transactions) | > For Production, we only accept transactions from IP addresses on your account's allow list. Your Global Payments account manager can assist you with setting this up. Even if your Client ID has been set to Live, you can still send transactions to the Sandbox environment — just target the Sandbox URL. #### Results codes | **Code** | **Description** | **Status** | | ---- |---- | ---- | | 200 | OK | This represents a successful API action. | | 400 | Bad Request | Error: The API request has an error in it. | | 401 | Not Authenticated | Error: Cannot authenticate with those credentials. Need to get a new access token. | | 403 | Forbidden | Error: No permission to execute that API action. | | 404 | Resource Not Found | Error: The resource referenced in the request cannot be found. | | 405 | Method Not Allowed | Error: The HTTP request method is not supported for the requested resource. | | 409 | Duplicate | Error: The API request was blocked because it was seen as a duplicate action that must not be processed. | | 500 | Internal Server Error | Error: Something unexpected happened. | | 502 | Bad Gateway | Error: Something unexpected happened when communicating with another system. | | 504 | Timeout | Error: The API did not get a response from another system in the expected timeframe. | #### Drop-In UI ## Learn how to integrate Bank Payment with our Drop-In UI In this guide, we'll show you how to integrate Bank Payment with our Drop-In User Interface (UI) – a ready-made payment form using our Hosted Fields solution. You’ll learn how to add Bank Payment to your payment form using our JavaScript Library. ### Prerequisites * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ### Step 1: Configure with Bank Payment Once you’ve created the access token, you can now configure the JavaScript Library to enable Bank Payment in your payment form. Add a `
` tag to render the Drop-In UI payment form to the customer. ```HTML
``` Next, configure your JavaScript Library with the transaction details required for Bank Payment. ```JavaScript GlobalPayments.configure({ accessToken: "WbTexlzWGcekOaTl3fkqkAW6Lfr4", env: "sandbox", apiVersion: "2023-03-22", language: "en", orderInformation: { merchantName: "Test Merchant Name", orderTotalAmount: "19.99", orderReference: "order-1234", currencyCode: "EUR", }, apms: { currencyCode: "EUR", countryCode: "SK", acquirer: “erste”, nonCardPayments: { allowedPaymentMethods: [{ provider: GlobalPayments.enums.ApmProviders.OpenBanking, }] } } }); ``` ![Drop-In UI with Bank Payment button (Slovakia).](https://developer.globalpayments.com/gh-assets/bankpayment_sk_drop-in-ui.png) **Drop-In UI with Bank Payment button (Slovakia)** #### JavaScript configuration (Bank Paymentspecific parameters) > “Type” indicates whether the element is Mandatory (M), Optional (O), or Conditional (C) – dependent on another field or regional requirement. | **Name** | **Format** | **Type** | **Description** | | -------- | ------- | -------- | ------- | | currencyCode | string | M | Currency of the amount in ISO-4217 (alpha-3). Slovakia = EUR | | countryCode | string | M | The country in ISO-3166-1(alpha-2 code) format. Slovakia = SK | | provider | string | M | The string used to identify the payment method provider being used to execute this transaction | | acquirer | string | M | The string used to identify the acquirer being used to execute this transaction: erste (SK) | ### Step 2: Capture customer selection Now that we have configured Bank Payment and it's displayed on the Drop-In UI, when a customer selects Bank Payment as the payment method, the Drop-In UI returns this selection in an event. For example, the Drop-In UI returns: *Selected provider: OpenBanking*. Below is the code snippet of how the Drop-In UI returns this event. ```JavaScript cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const { provider, countryCode, currencyCode, bankName, acquirer } = paymentProviderData; console.log('Selected provider: ' + provider); ... //continued in Step 4 - Redirect customer to payment method ``` ### Step 3: Initiate the Bank Payment transaction Now that we know what payment method the customer has selected, we can initiate the transaction. We create a transaction request with the payment method provider and include the transaction information in the request. This returns the necessary details required to facilitate authentication. The response contains a specific URL that is passed to the Drop-In UI to redirect the customer. A successful transaction request returns a unique transaction identifier (`TRN_ID`) and a redirect URL, which you’ll use to facilitate the customer confirmation of the transaction ([Step 4](#step-4-redirect-customer-to-payment-method)). #### Sample request ```json { "account_name": "Transaction_Processing", "channel": "CNP", "amount": "1999", "type": "SALE", "currency": "EUR", "reference": "APM-20200417", "country": "SK", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "apm": { "provider": "ob" }, "Bank_transfer": { "bank": { "name": "unicredit" } } }, "notifications": { "return_url": "", "status_url": "" } }' ``` #### Sample response ```json { "id": "TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM", "time_created": "2024-01-15T13:17:21.914Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "SK", "merchant_id": "MER_c4c0df11039cxxxxb63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854xxxx33347043ff8225f", "account_name": "Transaction_Processing", "reference": "APM-20200417", "payment_method": { "result": "00", "message": "SUCCEEDED", "entry_mode": "ECOM", "apm": { "provider": "ob", "wait_notification": "", "fund_status": "NOT_EXPECTED", "payment_description": "3K1TRAA", "confirmed_accountholder": "Former Glory", "account_number": "93722", "iban": "DE257002517503xxxxxxxx", "bank_identifier_code": "HYxxxxMM643", "bank_name": "xxxxxxxxxxxx", "bank_address": "", "optional_redirect": "" } }, "batch_id": "", "action": { "id": "ACT_mkP7xm9u47kLgTwTKhYfQXRvfynwjP", "type": "STATUS_NOTIFICATION", "time_created": "2020-04-20T14:36:58.193Z", "result_code": "SUCCESS", "app_id": "jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name": "sample_app" } } ``` ### Step 4: Redirect customer to payment method The next step is to redirect the customer to the payment method using the URL provided in the response field of the previous step (`payment_method.redirect_url`) to facilitate authentication with the payment method. To do this, we pass the `redirect_url` returned in the response to the Drop-In UI. #### Sample redirect ```JavaScript cardForm.on(GlobalPayments.enums.ApmEvents.PaymentMethodSelection, paymentProviderData => { const { provider, countryCode, currencyCode, bankName } = paymentProviderData; console.log('Selected provider: ' + provider); if (provider === GlobalPayments.enums.ApmProviders.OpenBanking && !bankName) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "", countryCode, currencyCode, } }); window.dispatchEvent(merchantCustomEventProvideDetails); } else if (bankName) { const merchantCustomEventProvideDetails = new CustomEvent(GlobalPayments.enums.ApmEvents.PaymentMethodActionDetail, { detail: { provider, redirect_url: "", bankName } }); window.dispatchEvent(merchantCustomEventProvideDetails); } }); ``` Once the customer completes the transaction with the payment method, the customer is redirected to the Return URL of the initial request. The current status of the transaction will also be returned. ### Step 5: Receive the final status The URL specified in the Status URL element in the initial request will receive the final status. Depending on the payment method used, this can happen at the same time as the customer is redirected to your Return URL or within moments. It's also possible that the final status update might come days later. When you receive the final status update, you may want to send the customer a status notification to indicate that the payment was finally accepted. At this point, you can begin the process of shipping the purchased items to the customer. #### Sample status update ```json { "id": "TRN_JOGrqvzOvbLy4V2n7cHsusYy8aainM", "time_created": "2024-01-15T13:17:21.914Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "SK", "merchant_id": "MER_c4c0df110xxxx8a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_671605896xxxxa48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "APM-20200417", "payment_method": { "result": "00", "message": "SUCCEEDED", "entry_mode": "ECOM", "apm": { "provider": "ob", "wait_notification": "", "fund_status": "NOT_EXPECTED", "payment_description": "3K1TRAA", "confirmed_accountholder": "Former Glory", "account_number": "93722", "iban": "DE2570025xxxxx22205970", "bank_identifier_code": "HYVxxxxM643", "bank_name": "xxxxxxxxxxxx", "bank_address": "", "optional_redirect": "" } }, "batch_id": "", "action": { "id": "ACT_mkP7xm9u47kLgTwTKhYfQXRvfynwjP", "type": "STATUS_NOTIFICATION", "time_created": "2020-04-20T14:36:58.193Z", "result_code": "SUCCESS", "app_id": "jrYHwMdYRBDGmFwwAVmi5WufYzxuQIQj", "app_name": "sample_app" } } ``` ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/loyalty/overview.md # Thank You Points - Overview ## What is Thank you Points Loyalty? Thank you points is a popular in store Loyalty program offered in Mexico. With Thank You Points, eligible cardholders are able to acquire points and use them while making a purchase at a participating Merchants location. Our Thank You Points solution allows Merchants to participate in this loyalty program and offer this incentive to their customers. Benefits include increasing customer retention and enhanced brand awareness. With Thank You Points, cardholders can : - Use available Points to cover the full purchase amount - Use available Points to partially cover the full purchase amount - Use Discounts to lower Purchase amount ## Use cases In this section, we present some “real world” examples that can be enabled through the Thank You Points solution. Keep in mind that this section doesn’t cover all use cases. ### Use case \#1: Competing in a Crowded Market A clothing retail store competing with online fast-fashion brands wants to utilize a loyalty program to become more competitive. Using Thank You Points, the retailer can provide an incentive to customers to pay with their acquired points to provide a competitive edge in the market. ### Use case \#2: Offering Seasonal Rewards A Merchant wants to encourage customers to make purchases during off-peak seasons. With Thank You Points, they can offer discount rewards to customers during these seasons in order to increase sales. ### Use case \#3: Reaching New Customers A Merchant looking to expand their customer base can utilize Thank You Points as a way to reach a wide audience of eligible cardholders who can be converted to new customers. ## How does it work? The following illustrates how Thank You Points work at a high level : A customer provides a card to the Point of Sale (POS) system for a purchase. The POS then checks to see whether a card is eligible for Thank You Points, and then sends a request through the Global Payments API (GPAPI) to find and return any available rewards. The POS then prompts the customer to either pay with rewards or to proceed as a regular sale. If the customer chooses to pay using Thank You Points, the POS then sends a request to the GPAPI to redeem the points. A confirmation is then sent from the GPAPI to the POS. The GPAPI then processes an authorization for the remaining balance to the POS, and sends back a confirmation. The POS then completes the purchase and prints a receipt for the customer. ![Thank you flowchart](https://developer.globalpayments.com/gh-assets/loyalty.png) ## Eligibility Thank You Points is an Issuer based Loyalty Program and will only be eligible to cardholders within the following participating banks : - ScotiaBank Classic - ScotiaBank Classic Platinum - ScotiaBank Travel Black - ScotiaBank Travel Platinum - Banorte MC Clasica International - Banorte MC ORO - Banorte MC Oro Banpais - Banorte MC Oro Mujer - Banorte POR Ti - Banorte TC AT&T Clásica - Banorte TC Clásica - Banorte TC Infinite - Banorte TC Oro - Banorte TC Platinum - Banorte Visa Clásica 2002 - Banorte VISA Clasica Banpais - Infinite Azteca - Beyond - Beyond (Socio Fundador) - Citi Premier - Citi Prestige - Citi Rewards - Aeromexico Blanca, Aeromexico Platino, Aeromexico Infnite - Flexcard, FR Clasica - FR Oro - FR Platino, Black Unlimited - Samsung / TDD digital - Santander AMEX - Santander Banca Privada - Santander Black - Santander Clásica Roja - Santander Credito - Santander Digitales - Santander Empresarial - Santander Free - Santander Junior - Santander Light - Santander Oro Traditional - Santander Roja Traditional - Santander Samsung - Santander TDC Tokenizado - Santander Universidades - Santander Zero - TDD Tokenizado - Traditional Pon Tu Photo - World Elite / World Elite PB ## Next Steps Thank You Points is available to Merchants through our Standalone Terminals and Direct API Integration. For more information on how to get started with our [Standalone terminals](https://developer.globalpayments.com/docs/payments/in-store/standalone.md), please view our direct API integration, using the [guide](https://developer.globalpayments.com/docs/payments/payment-methods/loyalty/step-by-step.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from the My Account dashboard ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/loyalty/step-by-step.md # Thank You Points - Guide In this guide you will learn how to integrate, redeem and use Points for a purchase. For more information on Thank You Points, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/loyalty/overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Check Points Balance This step takes in the customer's card and returns the available rewards they can use for a purchase. This will provide the number of points, the currency value of the points and any discounts if available. ### Sample request ```JSON { "account_id": "ESA_a1781985f3bb482ba18bcd1729ffea14", "transaction": { "amount": "2000" }, "payment_method": { "first_name": "Jane", "last_name": "Doe", "entry_mode": "ECOM", "card": { "number": "4391200100101497", "expiry_month": "12", "expiry_year": "25" } } } ``` ### Sample response ```JSON { "total_record_count": 1, "current_page_size": 1, "merchant_id": "MER_f910aa8af22a477d9208e17d4cbd2fbf", "merchant_name": "UCP_QA_Fidelity_Testing_Valid Merchant", "account_id": "ESA_a1781985f3bb482ba18bcd1729ffea14", "account_name": "Valid Testing account Fidelity", "filter": { "card.number_last4": "XXXXXXXXXXXX1497" }, "paging": { "page_size": 1, "page": 1, "order": "ASC", "order_by": "TIME_CREATED" }, "memberships": [ { "rewards": [ { "type": "POINTS", "count": "7271590.0", "currency_amount": "116345400" }, { "type": "DISCOUNT", "code": "10005", "description": "10% descuento en tus compras", "currency_amount": "200" } ] } ], "action": { "id": "ACT_9vggH7K48tMKtVqluVFyoM6FxkeOTe", "type": "MEMBERSHIP_LIST", "time_created": "2025-09-22T19:30:34.289Z", "result_code": "SUCCESS", "app_id": "dt8gykOQ8JiC06rDx1hcTTYYI9k1zAYg", "app_name": "Valid_app_for_Fidelity_testing" } } ``` ## Step 2: Redeem Points Once you have obtained the points balance, you can redeem the points for a specific transaction amount. This will deduct the customer's Points balance from their account. If Discounts are available, the discount will be applied first before the available points are used. This will return a unique Loyalty ID (LOR\_ID) ### Sample request ```JSON { "type": "REDEMPTION", "account_id": "ESA_a1781985f3bb482ba18bcd1729ffea14", "reference": "12345 ", "transaction": { "amount": "2000" }, "payment_method": { "first_name": "Jane", "last_name": "Doe", "entry_mode": "ECOM", "card": { "number": "4391200100101497", "expiry_month": "12", "expiry_year": "25" } } } ``` ### Sample response ```JSON { "id": "LOR_5625066", "type": "REDEMPTION", "status": "COMPLETE", "time_created": "2025-09-22T19:39:29.762Z", "time_last_updated": "2025-09-22T19:39:29.762Z", "currency_amount_redeemed": "2000", "points_redeemed": "113.0", "discount_amount_redeemed": "200", "transaction": { "amount": "2000" }, "rewards": [ { "count": "7271477.0", "currency_amount": "116343600", "type": "POINTS" } ], "action": { "id": "ACT_NEQlPtDKlyY2PgbEEm21sgKLwrz5kE", "type": "LOYALTY_ORDER_REDEEM", "time_created": "2025-09-22T19:39:29.762Z", "result_code": "SUCCESS", "app_id": "dt8gykOQ8JiC06rDx1hcTTYYI9k1zAYg", "app_name": "Valid_app_for_Fidelity_testing" } } ``` ## Step 3: Complete Transaction with Points Once the Points have been redeemed, you can now carry out the transaction with the points redemption details. If there is a remaining balance , this will be sent to the gateway to be authorized. It is important to note that the transaction amount has to be the full amount of the sale. ### Sample request ```JSON { "account_id": "TRA_de4056731241446fb82371a542439c74", "type": "SALE", "channel": "CP", "amount": "5000", "currency": "MXN", "country": "MX", "capture_mode": "AUTO", "reference": "TRANS-202300987623ee68", "description": "DESC-20098765927", "payment_method": { "first_name": "Jane", "last_name": "Doe", "entry_mode": "ECOM", "card": { "number": "4391200100101497", "expiry_month": "12", "expiry_year": "25" } }, "loyalty_order": { "redeem_id":"LOR_5625066" } } ``` ### Sample response ```JSON { "id": "TRN_6RYa1wY6lOdNzQfR0X2A1Uru1UF5Nj", "time_created": "2025-09-22T19:52:38.189Z", "type": "SALE", "status": "CAPTURED", "channel": "CP", "capture_mode": "AUTO", "amount": "3000", "currency": "MXN", "country": "MX", "merchant_id": "MER_f910aa8af22a477d9208e17d4cbd2fbf", "merchant_name": "UCP_QA_Fidelity_Testing_Valid Merchant", "account_id": "TRA_de4056731241446fb82371a542439c74", "account_name": "Portico Integration Fidelity Testing account", "reference": "TRANS-202300987623ee68", "payment_method": { "result": "00", "message": "APPROVAL", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX1497", "authcode": "VI5000", "brand_reference": "305265450007958", "provider": { "result": "00", "avs_result": "0" }, "commercial_level": "LEVEL_1" } }, "platforms": [ { "type": "PORTICO", "transaction_id": "643199666" } ], "batch_id": "BAT_1211205-44", "loyalty_order": { "redeem_id": "LOR_5625066", "redeem_status": "COMPLETE", "currency_amount_redeemed": "2000", "points_redeemed": "113.0", "discount_amount_redeemed": "200" }, "action": { "id": "ACT_6RYa1wY6lOdNzQfR0X2A1Uru1UF5Nj", "type": "AUTHORIZE", "time_created": "2025-09-22T19:52:38.189Z", "result_code": "SUCCESS", "app_id": "dt8gykOQ8JiC06rDx1hcTTYYI9k1zAYg", "app_name": "Valid_app_for_Fidelity_testing" } } ``` ## Step 4: Reverse Points Redemption Points Redemption can also be reversed resulting in the points balance being restored to the customer's account. If a Transaction with points is to be reversed, it is important to also reverse the points redemption. ### Sample request ```JSON { } ``` ### Sample response ```JSON { "id": "LOR_5625066", "type": "REDEMPTION", "status": "REVERSED", "action": { "id": "ACT_RVARByQtXgoactyFBcSRV8RLZBIcp8", "type": "LOYALTY_ORDER_REVERSE", "time_created": "2025-09-22T20:42:07.638Z", "result_code": "SUCCESS", "app_id": "dt8gykOQ8JiC06rDx1hcTTYYI9k1zAYg", "app_name": "Valid_app_for_Fidelity_testing" } } ``` ## Testing Thank You Points Our Thank You Points solution is available for testing in our Sandbox environment for registered users of this developer portal. Use our test cards to try different scenarios for your application to handle. For the full list of card numbers, see [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers). ## Overview Source: https://developer.globalpayments.com/docs/payments/payment-methods/installments/overview.md # Installments - Overview ## What is the Installments feature? > This feature is currently only available in certain regions. For more information, check with your account manager. Our Installments solution allows Merchants to offer customers the option to pay for purchases over time in smaller, regular payments, rather than a single upfront payment. Eligible Customers can be offered installment plans that they can choose based on various conditions. Once a customer selects a plan and completes their purchase, the Merchant is paid in full and the customer is then charged for the subsequent amounts. Advantages of Installments include: * **Increased Sales & Conversion Rates** Customers are more likely to complete purchases, especially large ones, if they can spread the cost. * **Higher Average Order Value** By removing the barrier of a single large payment, customers can afford higher-priced items. * **Wider Customer Base** Attracts customers who may not have the funds for an immediate purchase or prefer the flexibility of installment payments. * **Improved Customer Experience** Offers a more convenient and flexible payment method that aligns with customer needs. ## Use cases Below are some “real world” examples that can be enabled through our Installments solution. Please note that these are examples and this does not cover all use cases. ### Use case \#1: * **Large Appliance Purchase:** A consumer buying a new refrigerator for $1,500 could choose a 6-month installment plan. This would break the cost into six equal payments, making the purchase more manageable for their budget. ### Use case \#2: * Seasonal Demand \- A merchant selling seasonal products can offer installment plans to help customers afford purchases during peak moments such as the holidays. This can drive urgency-based sales, improve customer satisfaction and increase revenue ### Use case \#3: * **Subscription Upgrades and Add Ons** \- A Merchant offering an online education platform can provide installment plans for premium add-ons. This allows customers to spread the cost over time which can increase the likelihood of upgrades and improve customer retention. ## How does it work? There are currently two Installment Services we offer today : 1. **Issuer \-Based Installments \-** These installment plans are agreed upon by the Merchant and issuers. If a cardholder meets the configured criteria, the eligible plans will be displayed for the customer to accept and complete their purchase. 2. **Visa Installments \-** Installments are offered by participating banks and are enabled by Visa. If a cardholder has an eligible Visa card and makes a qualifying purchase at a participating merchant, they will be presented with the option to choose an installment plan at checkout. The cardholder can then accept the terms and complete their purchase. Please be sure to check with your account manager for on which Installment service is available to you. > Note \- Merchants in Mexico can configure their installment plans on their [My Account Portal.](https://help.globalpayments.com/my-account/self-register) At a high level, all installments services will have the following flow: ![Installment flow](https://developer.globalpayments.com/gh-assets/installments/installment-flow.png) ## Next Steps To get started with Installments, see our [guide](https://developer.globalpayments.com/docs/payments/payment-methods/installments/step-by-step.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from the My Account dashboard. ## Guide Source: https://developer.globalpayments.com/docs/payments/payment-methods/installments/step-by-step.md # Installments - Guide In this guide you will learn how to offer installment plans and make a charge using a selected plan For more information on Installments, see our [Overview](https://developer.globalpayments.com/docs/payments/payment-methods/installments/overview.md) #### API ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Installment Query First you will need to send a request to retrieve the eligible plans that are available to a customer. > **Note:** Availability of Installment plans is dependent on multiple factors such as the transaction amount, date, issuer etc. If Installment plans are not returned, then most likely the transaction did not meet the criteria for plans. * [Issuer-based Installments](https://developer.globalpayments.com/docs/payments/payment-methods/installments/step-by-step.md#issuer-based-installments) * [Visa Installments](https://developer.globalpayments.com/docs/payments/payment-methods/installments/step-by-step.md#visa-installments) ### Issuer-Based Installments ### Sample request ```json { "account_name": "transaction_processing", "channel": "CNP", "amount": "11099", "currency": "MXN", "country": "MX", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "payment_method": { "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "12", "expiry_year": "29" } } } ``` ### Sample response ```json { "id": "INS_6cFkx9FcSBwHDTzC6tN90KANILMzOj", "time_created": "2026-01-26T20:35:14.056Z", "type": "INSTALLMENT_QUERY", "status": "AVAILABLE", "channel": "CNP", "amount": "101", "currency": "MXN", "country": "MX", "merchant_id": "MER_20c2b3fcfedd484e9c3723347db56b71", "merchant_name": "UCP_Test_Automation_Merchant", "account_id": "TRA_89e47e02d3954f4c9999006e23b22375", "account_name": "IPP_Transaction_Processing_MP", "reference": "96be3927-c360-4c4d", "terms_and_conditions_url": "", "provider_image_url": "", "terms": [ { "reference": "33f7c8c8-61ec-4972-9395-6885f78d67a2", "name": "RD MWI Plan", "mode": "NO_INTEREST", "count": 3, "grace_period_count": 0 }, { "reference": "606d9d3c-49cc-44ae-8fed-a5f850dbfa05", "name": "ibukun_test", "mode": "NO_INTEREST", "count": 2, "grace_period_count": 0 }, { "reference": "6e5bb620-6263-4ab4-a00e-e01315905477", "name": "TEST Antoine", "mode": "BNPL", "count": 6, "grace_period_count": 2 }, { "reference": "85fa3383-ab2e-4b60-b30c-d3f4b3b57478", "name": "HSBC Diwali 02", "mode": "BNPL", "count": 5, "grace_period_count": 2 }, { "reference": "cf1610cf-2f2c-4f75-a7bb-8f45cd691fa5", "name": "New plan", "mode": "BNPL", "count": 9, "grace_period_count": 2 }, { "reference": "e061e99e-0283-4d2d-9125-8dd2de97b349", "name": "HSBC Diwali 03", "mode": "BNPL", "count": 5, "grace_period_count": 2 } ], "payment_method": { "entry_mode": "MOTO", "card": { "masked_number_last4": "XXXXXXXXXXXX5678", "expiry_month": "09", "expiry_year": "25", "funding": "DEBIT", "brand": "VISA", "issuer": "BBVA", "country": "MX", "currency": "MXN" } }, "action": { "id": "ACT_6cFkx9FcSBwHDTzC6tN90KANILMzOj", "type": "INSTALLMENT_QUERY", "time_created": "2026-01-26T20:35:14.056Z", "result_code": "SUCCESS", "app_id": "hkjrcsGDhWiDt8GEhoDMKy3pzFz5R0Bo", "app_name": "UCP_Test_Automation_App_1" } } ``` ### Visa Installments ### Sample Request ```json { "account_id": "TRA_ff583a33641544e4ae53a62315f9e843", "channel": "CNP", "amount": "50000", "currency": "GBP", "country": "GB", "reference": "96be3927-c360-4c4d-8ace-f53b20ec296f", "program": "VIS", "payment_method": { "usage_mode": "USE_CARD_NUMBER", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "brand": "VISA", "expiry_month": "09", "expiry_year": "25" } }, "funding_mode": "MERCHANT_FUNDED", "eligible_plans": "LIMITED", "terms": { "max_time_unit_number": 24, "max_amount": 100000 } } ``` ### Sample Response ```json { "id": "INS_XPhhl0RiQnbhfpZ0ieHKVsU7MTSRNg", "time_created": "2025-10-24T12:20:38.958Z", "type": "INSTALLMENT_QUERY", "status": "AVAILABLE", "channel": "CNP", "amount": "50000", "currency": "GBP", "country": "GB", "merchant_id": "MER_969b3cebc1664e7980f3a9a5226b3767", "merchant_name": "tokenizationmerchant777", "account_id": "TRA_ff583a33641544e4ae53a62315f9e843", "account_name": "VisaGunjanINS", "reference": "96be3927-c360-4c4d-8ace-f53b20ec296f", "program": "VIS", "terms": [ { "name": "plan12CnoAPR", "reference": "109bbbf5-c027-de5e-50c1-153dafa9ac06", "mode": "MARKET", "time_unit": "MONTH", "terms_and_conditions": [ { "url": "https://www.visa.co.uk/how-you-pay-matters/pay-instalments.html", "version": "5", "description": "You are selecting a 12-month installment plan. The total purchase amount will be deducted from your available credit limit. As set forth in your terms, your installment fee will be APR calculated for 12 months. If you miss an installment payment, the standard rate of purchases will apply to the remaining installment balance.", "language": "EN" }, { "url": "https://www.visa.co.uk/how-you-pay-matters/pay-instalments.html", "version": "5", "description": "Vous sélectionnez un plan de versement de 12 mois. Le montant total de l'achat sera déduit de votre limite de crédit disponible. Comme indiqué dans vos conditions, vos frais de versement seront APR calculés pour 12 mois. Si vous manquez un paiement échelonné, le taux standard des achats s'appliquera au solde restant du versement.", "language": "FR" } ], "count": 12, "cost_percentage": "0.00", "total_plan_cost": "54000", "plan_amount": "4163", "fees": { "fee_info": [ { "type": "MERCHANT_FUNDING", "interest_rate": "3.00", "flat_amount": "150" }, { "type": "MERCHANT_SERVICE", "interest_rate": "0.10", "flat_amount": "0" } ], "total_amount": "4000", "total_subsequent_amount": "4000", "subsequent_amount": "334", "total_upfront_amount": "0", "upfront_amount": "100000" }, "currency": "GBP" } ], "payment_method": { "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "expiry_month": "09", "expiry_year": "25" } }, "action": { "id": "ACT_XPhhl0RiQnbhfpZ0ieHKVsU7MTSRNg", "type": "INSTALLMENT_QUERY", "time_created": "2025-10-24T12:20:38.958Z", "result_code": "SUCCESS", "app_id": "WBLHjFlm87vIQ3F9CdwUA704KGcP3uE8", "app_name": "DEV_ECOMvisaInsstllamentapp" } } ``` ## Step 2: Sale using Installments Once you have displayed the Installment plans to the consumer, you can now process a charge which includes the installment fields to process the Installment transaction. * [Issuer-based Installments](https://developer.globalpayments.com/docs/payments/payment-methods/installments/step-by-step.md#issuer-based-installments-1) * [Visa Installments](https://developer.globalpayments.com/docs/payments/payment-methods/installments/step-by-step.md#visa-installments-1) ### Issuer-Based Installments ### Sample request ```json { "account_id": "TRA_37b072da4e5e436293dce254e95f69ee", "channel": "CNP", "capture_mode": "AUTO", "type": "SALE", "amount": "1000", "currency": "MXN", "country": "MX", "reference": "TRANS-202302271030111001", "payment_method": { "name": "Jane Doe", "entry_mode": "ECOM", "card": { "number": "4512971111111113", "expiry_month": "12", "expiry_year": "30", "cvv": "123" } }, "installment": { "id" : "INS_iiOG5yfxJQnGtopjFiOy5nVAc4vYS1", "reference" : "7533d4f7-6a10-5557-2e92-132d06157502" } ``` ### Sample response ```json { "id": "TRN_SK9cRUlnUYmyyxefWlmN39sRC5mNqj", "time_created": "2026-01-26T20:51:53.770Z", "time_last_updated": "2026-01-26T20:51:53.770Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "2000", "currency": "GBP", "country": "US", "merchant_id": "MER_1e4049f6f33145b2a5891332e9783bd9", "merchant_name": "UCP_Test_Automation_Merchant", "account_id": "TRA_1e0a2fdfd79d4013b87d47c4c43882f6", "account_name": "Portico_Transaction_Processing", "reference": "96be3927-c360-4c4d-8ace-f53b20ec296f", "payment_method": { "result": "00", "message": "APPROVAL", "entry_mode": "MOTO", "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX1112", "authcode": "VI2000", "brand_reference": "306026440007914", "brand_time_created": "", "issuer": "", "country": "", "currency": "", "provider": { "result": "00", "avs_result": "0" }, "commercial_level": "LEVEL_1" } }, "installment": { "id": "INS_QSTi1Rx1FVWN7WeI8PF4As9iUs7v0E", "program": "", "term": { "id": "", "time_unit": "", "time_unit_number": "", "interest_rate": "", "first_amount": "", "subsequent_amount": "", "last_amount": "", "total_amount": "" }, "mode": "MWI", "count": "1", "grace_period_count": "0" }, "batch_id": "BAT_1276709-38", "action": { "id": "ACT_SK9cRUlnUYmyyxefWlmN39sRC5mNqj", "type": "AUTHORIZE", "time_created": "2026-01-26T20:51:53.770Z", "result_code": "SUCCESS", "app_id": "hlZAokTftDazLlWDPe8E6VAz5g9rSDPg", "app_name": "UCP_Test_Automation_App" } } ``` ### Visa Installments ### Sample request ```json { "account_id": "TRA_37b072da4e5e436293dce254e95f69ee", "channel": "CNP", "capture_mode": "AUTO", "type": "SALE", "amount": "1000", "currency": "EUR", "country": "IE", "reference": "TRANS-202302271030111001", "payment_method": { "name": "Jane Doe", "entry_mode": "ECOM", "card": { "number": "4512971111111113", "expiry_month": "12", "expiry_year": "30", "cvv": "123" } }, "installment": { "id" : "INS_iiOG5yfxJQnGtopjFiOy5nVAc4vYS1", "reference" : "7533d4f7-6a10-5557-2e92-132d06157502", "terms" : } "language": "en" "version": "2" } } } ``` ### Sample Response ```json { "id": "TRN_AfauPfMZmR9NSpeSjkyEMqQ0pQcZt3_114123459878", "time_created": "2026-01-26T21:10:47.678Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100000", "currency": "GBP", "country": "GB", "merchant_id": "MER_20c2b3fcfedd484e9c3723347db56b71", "merchant_name": "UCP_Test_Automation_Merchant", "account_id": "TRA_1750765a32b34cdf9ecd5d0c643fc99a", "account_name": "GPECOM_Installments_Processing", "reference": "TRANS-20180114123459878", "payment_method": { "result": "00", "message": "[ test system ] Authorised", "entry_mode": "ECOM", "id": "PMT_9258ab95-cd99-4521-9840-584d2cc0f791", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX2828", "authcode": "123456", "brand_reference": "zvTXC2AYiHXmIZEC", "brand_time_created": "", "cvv_result": "NOT_CHECKED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "00", "cvv_result": "U", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "installment": { "id": "INS_0H2BJOVtcIOO2EelUokUWcdhoHcuZf", "program": "VIS", "count": "12" }, "platforms": [ { "type": "ECOM", "transaction_id": "", "order_id": "TRN_AfauPfMZmR9NSpeSjkyEMqQ0pQcZt3_114123459878", "authcode": "123456", "pasref": "1769461847235764" } ], "risk_assessment": [ { "mode": "ACTIVE", "result": "ACCEPTED", "rules": [ { "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd", "description": "Cardholder Name Rule", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3", "description": "CardNumber block", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e", "description": "Amount test", "mode": "ACTIVE", "result": "ACCEPTED" } ] } ], "batch_id": "BAT_1633946", "action": { "id": "ACT_AfauPfMZmR9NSpeSjkyEMqQ0pQcZt3", "type": "AUTHORIZE", "time_created": "2026-01-26T21:10:47.678Z", "result_code": "SUCCESS", "app_id": "hkjrcsGDhWiDt8GEhoDMKy3pzFz5R0Bo", "app_name": "UCP_Test_Automation_App_1" } } ``` #### HPP This guide focuses on adding the HPP to your application or website. After creating an access token, we set up the request to create a unique payment link. Using the HPP URL returned in the response, we then redirect the customer to facilitate authentication and authorization. After receiving the response and checking the transaction outcome, we then handle the redirect to your application’s appropriate successful or failed page. For an overview of the HPP, see our Overview page. To learn how to enable more value-added services to the HPP, see the Enhance your integration section. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Create the HPP URL First, we create a unique payment link using the Create Link request. This request also retrieves some necessary information to facilitate the redirect and authentication of the customer. Our sample request performs a standard card payment with 3D Secure and uses only mandatory and recommended fields (for the full list of HPP Link fields, see the table). It also includes information on API methods and request data. ### Sample request ```JSON curl 'https://apis.sandbox.globalpay.com/ucp/links' \ --header 'Connection: keep-alive' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer bBj5Bv4RoOz4xTJ7V5XtjLBHLN1h' \ --data-raw '{ { "account_name": "{{hpp}}", "type": "HOSTED_PAYMENT_PAGE", "name": "Mobile Bill Payment", "description": "Test Description", "reference": "{{reference}}", "payer": { "name": "James Mason", "first_name": "James", "last_name": "Mason", "language": "en", "email": "jamesmason@example.com", "mobile_phone": { "country_code": "44", "subscriber_number": "1801555888" }, "billing_address": { "line_1": "bill_street1", "line_2": "bill_street2", "line_3": "bill_street3", "city": "Bill_city", "postal_code": "44", "country": "IE" }, "address_match_indicator": "YES" }, "order": { "amount": "200000", "currency": "EUR", "reference": "{{reference}}", "transaction_configuration": { "channel": "CNP", "country": "GB", "capture_mode": "AUTO", "currency_conversion_mode": "ON", "allowed_payment_methods": [ "CARD", "testpay" ] }, "payment_method_configuration": { "authentications": { "preference": "CHALLENGE_PREFERRED" } }, "shipping_address": { "line_1": "Flat 123", "line_2": "House 456", "line_3": "Btower", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "US" }, "shipping_phone": { "country_code": "99", "subscriber_number": "1801555999" } }, "installments": { "funding_mode": "CONSUMER_FUNDED", "terms": { "max_time_unit_number": "24", "max_amount": "100000" } }, "notifications": { "return_url": "https://example.com/Return", "status_url": "https://example.com/Status" } } ``` ### Request Syntax (Installments) | field | description | Enum / string | | :---- | :---- | :---- | | funding\_mode | Used to filter installment plans based on plan type. MERCHANT\_FUNDED (if sent, will return merchant funded plans only) CONSUMER\_FUNDED (if sent, will return consumer funded plans only) HYBRID\_FUNDED (if sent, will return both merchant and consumer funded plans) BILATERAL (if sent, will return BILATERAL plans only) ANY (if sent, will return all available plans) (default) Note: If not present, request will be sent with default value. | MERCHANT\_FUNDED CONSUMER\_FUNDED HYBRID\_FUNDED BILATERAL ANY | | terms.max\_time \_unit\_number terms.max\_amo unt | Used to retrieve installment plans with specific tenure. Applicable to merchant-funded plans only. Example: max\_term\_months\_merchant\_funded \= 12 — Means that only plans with tenure ≤ 12 months will be retrieved. Merchant-funded plans with tenure \> 12 months will not be returned. Default: 1000 Note: If not present, request will be sent with default value. Used to determine whether to return the longest or shortest tenure/duration plans depending on the amount sent. The amount should be sent in the smallest unit of the required currency. Example: 2000 \= €20.00 Ex value sent 50000 will mean that: For transactions with an amount less or equal than €500.00, the plans with the shortest tenure will be displayed first. For transactions with an amount greater than €500.00, the plans with the longest tenure will be displayed first. Note: If not present, request will be sent with default value: plans with the longest tenure. | String Min \- 1 Max \- 32 String Min \- 1 Max \- 11 | ### Sample response ```JSON { "id": "LNK_mdd0l2kNaKSoSXSEdLfPEoDnY9BykE", "account_name": "transaction_processing_hpp", "url": "https://apis.sandbox.globalpay.com/ucp/hpp/redirect/49f04248-1953-4028- b5c0-2a8cae690241", "status": "ACTIVE", "type": "HOSTED_PAYMENT_PAGE", "usage_mode": "SINGLE", "usage_limit": "1", "name": "Mobile Bill Payment", "description": "Test Description", "expiration_date": "2025-09-16T10:12:02.329Z", "order": { "amount": "200000", "currency": "EUR", "reference": "1234567ō", "transaction_configuration": { "country": "GB", "channel": "CNP" } }, "action": { "id": "ACT_mdd0l2kNaKSoSXSEdLfPEoDnY9BykE", "type": "LINK_CREATE", "time_created": "2025-09-15T10:12:02.329Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test" } } ``` ## Step 2: Redirect the customer Once the link is created, the customer must be redirected using the URL returned in the Create Pay by Link response to facilitate authentication and authorization. You can use a simple JavaScript redirect or HTTP GET (302 redirect). For information on API methods and request/response data, see Links in the API Explorer. In this example, you redirect the customer to the URL using JavaScript. ### Sample redirect ```html Sample Redirect ``` Once redirected to the URL, your customer will be presented with the HPP. ## Testing Installments Our Installments solution is available for testing in our Sandbox environment for registered users of this developer portal. Use our test cards to try different scenarios for your application to handle. For the full list of card numbers, see [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers). Valid amounts to get plans in the sandbox: 100000, 200000, 160000, 80000, 75000, 50000, 45000 ## Manage Payments Source: https://developer.globalpayments.com/docs/payments/manage-payments/overview.md # Manage Payments - Overview We know that simply performing a sale is not the only thing merchants do. That’s why our API has functions for everything you need to run your business successfully. From preventing fraud, to making post-sale adjustments to please your customers, to performing routine end-of-day tasks. We’ve got you covered. ## Pre-sale actions ### [Verify](https://developer.globalpayments.com/docs/payments/manage-payments/verify-guide.md) Check a card before a sale. ## Sale actions ### [Capture](https://developer.globalpayments.com/docs/payments/manage-payments/capture-guide.md) Close pre-authorized transactions. ## Post-sale actions ### [Adjust](https://developer.globalpayments.com/docs/payments/manage-payments/adjust-guide.md) Adjust a bill to add a tip. ### [Increment](https://developer.globalpayments.com/docs/payments/manage-payments/increment-guide.md) Add supplemental charges. ### [Reauth](https://developer.globalpayments.com/docs/payments/manage-payments/reauth-guide.md) Refresh a stale transaction. ### [Refund](https://developer.globalpayments.com/docs/payments/manage-payments/refund-guide.md) Give money back to a cardholder. ### [Reverse](https://developer.globalpayments.com/docs/payments/manage-payments/reverse-guide.md) Roll back a transaction. ## End-of-day actions ### [Batches](https://developer.globalpayments.com/docs/payments/manage-payments/batches-guide.md) Close batches and later review them. ## Adjust Source: https://developer.globalpayments.com/docs/payments/manage-payments/adjust-guide.md # Manage Payments - Adjust > This feature is only available for Customer Present transaction processing. > Please contact Global Payments before coding this feature to confirm it will be available to you when you go live. This guide focuses on sending an adjustment to add a tip to a card-present transaction. ## What is it? Tips, or gratuities, are common in North American restaurants and other service industries. They allow payers to add an additional amount to the transaction for excellent service provided by the merchant’s employees. ## How does it work? The main things to know about making an adjustment: * When processing adjustments, the status of the transaction, such as Pre-Authorized, does not change. * You can change the same transaction data (amount and EMV data) during a Capture request. However, that request will change the status of the transaction — for example, moving a transaction from Pre-Authorized to Captured. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Send an adjustment > Adjustments are available only for **card-present** transactions. To successfully send the command, you need the `trn_id` from the initial transaction. Adjustments can’t be made after the transaction is funded. #### Sample request ```json curl --compressed -X POST "https://apis.sandbox.globalpay.com/ucp/transactions/{id}/adjustment" \ -H "Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ" \ -H "X-GP-Version: 2021-03-22" \ -H "Content-type: application/json" \ -H "Accept: application/json" \ -d ‘{ "amount": "11099", "gratuity_amount": "11099", "payment_method": { "card": { "tag": "string" } } }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); try { Transaction transaction = Transaction.fromId("TRN_uhlhDZgs1P7jIXISu0AqEV0V1OoJHX"); String tagData = "9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001"; Transaction response = transaction.edit() .withTagData(tagData) .withAmount(new BigDecimal("11.09")) .withGratuity(new BigDecimal("11.09")) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Environment.TEST; config.RequestLogger = new RequestFileLogger(@"path\logname.txt"); ServicesContainer.ConfigureService(config); try { Transaction transaction = Transaction.FromId("TRN_uhlhDZgs1P7jIXISu0AqEV0V1OoJHX"); var tagData = "9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001"; var response = transaction.Edit() .WithAmount((decimal)10.01) .WithTagData(tagData) .WithGratuity((decimal)5.01) .Execute(); } catch (Exception e) { // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); try { $transaction = Transaction::fromId('TRN_uhlhDZgs1P7jIXISu0AqEV0V1OoJHX'); $tagData = '9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001'; $response = $transaction->edit() ->withTagData($tagData) ->withAmount(11.09) ->withGratuity(11.09) ->execute(); } catch (GatewayException $ex){ // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response "id" $timeCreated = $response->timestamp; // API raw response "time_created" $status = $response->responseMessage; // API raw response "status" $amount = $response->balanceAmount; // API raw response "amount" $reference = $response->referenceNumber; // API raw response "reference" $batchId = $response->batchSummary->batchReference; // API raw response "batch_id" $authCode = $response->authorizationCode; // API raw response "payment_method.card.authcode" $brandReference = $response->cardBrandTransactionId; //API raw response "payment_method.card.brand_reference" $cardIssuerResponse = $response->cardIssuerResponse; //API raw response "payment_method.result" ``` #### Sample response ```json { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2026-05-03T21:23:39.718Z", "type": "SALE", "status": "CAPTURED", "amount": "11099", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "string", "message": "string", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "ADJUST", "time_created": "2026-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```JSON ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including adjustments. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Adjustments are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Batches Source: https://developer.globalpayments.com/docs/payments/manage-payments/batches-guide.md # Batches - Guide > This feature is only available for Customer Present transaction processing. > Please contact Global Payments before coding this feature to confirm it will be available to you when you go live. This guide focuses on sending an API request to manually close a batch and researching a closed batch using the batch ID. ## What is it? Card-present transactions are managed in batches. Typically, a _batch_ of transactions is an entire business day for a merchant. A batch must be closed for transactions to be settled and funded. Depending on your region, our platform may automatically batch your daily transactions for you. However, in some regions, you may need to batch them yourself on your application. ## How does it work? The main things to know about batches: * Before implementing batches, check with your account manager for any specific market or platform requirements. * The `batch_id` is returned in all transaction responses and is required to submit a batch-close request. * The Batch ID is made up of three parts: * The resource identifier: BAT_ * Our batch ID – Not sequential, unique per terminal * Our batch sequence number – Sequential per terminal, starting at 001 and incrementing with each transaction * A financial transaction (for example, a sale or refund) will create a batch if one is not open. Non-financial commands, such as verify, will not open a batch. * Batch queries are limited to 90 days. * Batch size in all regions except Asia-Pacific is limited to 9,999. In Asia Pacific, the maximum batch size is 900 transactions. * The total combined amount of all transactions in a batch cannot exceed 9,999,999,999.99. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Send a batch-close request Body data is not necessary to close a batch, only the standard header data (including your valid access token). You can close the current batch by sending a POST command to the _/batches_ endpoint with the batch ID returned in every transaction. A successful batch close will return a status of `CLOSED`. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/batches/BAT_611718-215' \ --header 'Authorization: Bearer WVLzMsuEQzSEFfXX9D8tDl8t6YSG' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Content-Type: application/json' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardPresent); config.setEnvironment(Environment.TEST); String configName = "CONFIG_NAME"; ServicesContainer.configureService(config, configName); String batchReference = "BAT_1035455-218"; try { BatchSummary batchSummary = BatchService.closeBatch(batchReference, configName); // API raw response key "id" String batchId = batchSummary.getBatchReference(); // API raw response key "host_breakdown.getcount" Integer hostTotalCnt = batchSummary.getHostTotalCnt(); // API raw response key "host_breakdown.getamount" BigDecimal hostTotalAmt = batchSummary.getHostTotalAmt(); // API raw response key "device_reference" Integer processedDeviceId = batchSummary.getProcessedDeviceId(); // API raw response key "transaction_count" Integer transactionCount = batchSummary.getTransactionCount(); // API raw response key "amount" BigDecimal totalAmount = batchSummary.getTotalAmount(); // API raw response key "sales.getcount" Integer salesCount = batchSummary.getBatchTotals().getSalesCount(); // API raw response key "sales.getamount" BigDecimal salesAmount = batchSummary.getBatchTotals().getSaleAmount(); // API raw response key "refunds.getcount" Integer refundsCount = batchSummary.getBatchTotals().getRefundsCount(); // API raw response key "refunds.getamount" BigDecimal refundsAmount = batchSummary.getBatchTotals().getRefundsAmount(); // API raw response key "funding_debit.getcount" Integer fundingDebitCount = batchSummary.getBatchTotals().getFundingDebitCount(); // API raw response key "funding_credit.getcount" Integer fundingCreditCount = batchSummary.getBatchTotals().getFundingCreditCount(); // API raw response key "funding_debit.getamount" BigDecimal fundingDebitAmount = batchSummary.getBatchTotals().getFundingDebitAmount(); // API raw response key "funding_credit.getamount" BigDecimal fundingCreditAmount = batchSummary.getBatchTotals().getFundingCreditAmount(); // API raw response key "brand_breakdown" HashMap brandBreakdown = batchSummary.getBrandBreakdown(); return; } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "appID"; config.AppKey = "appKey"; config.Channel = Channel.CardPresent; ServicesContainer.ConfigureService(config); var batchSummary = BatchService.CloseBatch("BAT_933340-213"); var status = batchSummary.Status; //CLOSED ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $batchReference = 'BAT_1017430-723'; try { $batch = BatchService::closeBatch($batchReference); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } /** @var \GlobalPayments\Api\Entities\BatchSummary $batchSummary */ $batchSummary = $batch->batchSummary; $batchId = $batchSummary->id; // API raw response key "id" $hostTotalCnt = $batchSummary->hostTotalCnt; // API raw response key "host_breakdown->count" $hostTotalAmt = $batchSummary->hostTotalAmt; // API raw response key "host_breakdown->amount" $processedDeviceId = $batchSummary->processedDeviceId; // API raw response key "device_reference" $transactionCount = $batchSummary->transactionCount; // API raw response key "transaction_count" $totalAmount = $batchSummary->totalAmount; // API raw response key "amount" $salesCount = $batchSummary->batchTotals->salesCount; // API raw response key "sales->count" $salesAmount = $batchSummary->batchTotals->saleAmount; // API raw response key "sales->amount" $refundsCount = $batchSummary->batchTotals->refundsCount; // API raw response key "refunds->count" $refundsAmount = $batchSummary->batchTotals->refundsAmount; // API raw response key "refunds->amount" $fundingDebitCount = $batchSummary->batchTotals->fundingDebitCount; // API raw response key "funding_debit->count" $fundingCreditCount = $batchSummary->batchTotals->fundingCreditCount; // API raw response key "funding_credit->count" $fundingDebitAmount = $batchSummary->batchTotals->fundingDebitAmount; // API raw response key "funding_debit->amount" $fundingCreditAmount = $batchSummary->batchTotals->fundingCreditAmount; // API raw response key "funding_credit->amount" $brandBreakdown = $batchSummary->brandBreakdown; // API raw response key "brand_breakdown" ``` #### Sample response ```JSON { "id": "BAT_933340-213", "status": "CLOSED", "time_created": "2024-01-31T13:33:00Z", "time_last_updated": "2024-01-31T18:08:29.307Z", "time_closed": "2024-01-31T18:08:00Z", "open_action_id": "1945288291", "close_action_id": "ACT_nwmrHEmZ7iT94n1pwkPCCuS17gzhh9", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "site_reference": "140271", "device_reference": "514", "transaction_count": 48, "amount": "31396", "currency": "USD", "gratuity_amount": "100", "sales": { "count": 36, "amount": "45012" }, "refunds": { "count": 12, "amount": "-13616" }, "funding_debit": { "count": 0, "amount": "0" }, "funding_credit": { "count": 48, "amount": "31396" }, "brand_breakdown": [ { "brand": "MASTERCARD", "count": 1, "amount": "100", "gratuity_amount": "0", "sales": { "count": 1, "amount": "100" }, "refunds": { "count": 0, "amount": "0" }, "funding_debit": { "count": 0, "amount": "0" }, "funding_credit": { "count": 1, "amount": "100" } }, { "brand": "VISA", "count": 47, "amount": "31296", "gratuity_amount": "100", "sales": { "count": 35, "amount": "44912" }, "refunds": { "count": 12, "amount": "-13616" }, "funding_debit": { "count": 0, "amount": "0" }, "funding_credit": { "count": 47, "amount": "31296" } } ], "host_breakdown": { "merchant_name": "GP API CP", "reference": "2323", "count": 48, "amount": "31396", "funding_debit": { "sales": { "count": 0, "amount": "0" }, "refunds": { "count": 0, "amount": "0" } }, "funding_credit": { "sales": { "count": 36, "amount": "45012" }, "refunds": { "count": 12, "amount": "-13616" } } }, "action": { "id": "ACT_nwmrHEmZ7iT94n1pwkPCCuS17gzhh9", "type": "CLOSE", "time_created": "2024-01-31T18:08:29.307Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app" } } ``` ## Check batch by ID To query a batch to determine what it contained, send a GET command to the _/batches_ endpoint with the ID you want to investigate. This returns all the relevant data, including the totals for the batch you’re researching. Incidentally, what is returned is separate from our reporting endpoint. #### Sample request ```json curl --compressed -X GET "https://apis.sandbox.globalpay.com/ucp/batches/{id}" \ -H "Authorization: Bearer CdqyD9r7orAGau004u5NecG03JPy" \ -H "X-GP-Version: 2021-03-22" \ -H "Accept: application/json" \ ```JSON #### Sample response ```JSON { "id": "BAT_855049-899", "status": "OPEN", "time_created": "2021-05-03T21:23:39.718Z", "time_closed": "2021-05-03T21:23:39.718Z", "open_action_id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "close_action_id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "merchant_id": "MER_A6A1EC44522F96630ABEA17A", "merchant_name": "ABC INDUSTRIES", "account_id": "TRA_86920f927028745yt34d077d88beb29b", "account_name": "transaction_processing", "site_reference": "string", "device_reference": "string", "batch_transaction_count": 126, "amount": "12000", "currency": "USD", "gratuity_amount": "500", "sales": { "count": 123, "amount": "12300" }, "refunds": { "count": 3, "amount": "300" }, "funding_debit": { "count": 100, "amount": "10000" }, "funding_credit": { "count": 26, "amount": "2300" }, "brand_breakdown": [ { "brand": "VISA", "amount": "8300", "count": 83, "gratuity_amount": "500", "sales": { "count": 80, "amount": "8000" }, "refunds": { "count": 3, "amount": "300" }, "funding_debit": { "count": 80, "amount": "8000" }, "funding_credit": { "count": 3, "amount": "300" } } ], "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "BATCH_SINGLE", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ``` ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and # integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/batches - API Explorer](https://developer.globalpayments.com/api/batches.md) Close and review batches by ID. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Batch commands are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Capture Source: https://developer.globalpayments.com/docs/payments/manage-payments/capture-guide.md # Manage Payments - Capture > 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. This guide focuses on performing a delayed-capture authorization and sending a Capture request to include the transaction for settlement file. ## What is it? Sometimes you may want to pre-authorize a transaction and have a pending charge on the customer’s card, such as bar tabs or lodging reservations. In these cases, you don’t want to finalize the transaction amount, as actions by the customer might change the final amount. ## How does it work? The main things to know about capture: * To capture a transaction, you must use the original ID returned in the authorization response. * You can capture a transaction for any amount up to 115% of the original value. However, to avail of the chargeback protection provided by 3D Secure, you must capture for the full amount. * If you don’t include an amount in your request, the full amount will be captured by default. * In some cases, multiple captures may be performed. This can facilitate use cases like split shipment. However, availability is determined by your setup. Consult your integration support for assistance. ![Diagram of the Capture Process Flow](https://developer.globalpayments.com/gh-assets/manage-payments-diagram.png) ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Perform a delayed-capture authorization > This step creates a transaction that will **not** be paid out, as it is set to be captured later. A pre-authorized transaction like this is necessary for the capture command to be used. First, we process a delayed-capture authorization. This will authorize the funds on the customer’s card, but the transaction won't be placed in the settlement file until we capture it. The amount of time the funds can remain ring-fenced on the customer's card may vary among different issuers and acquirers. Card brands such as Visa and Mastercard have their own rules around how long transactions can wait to be captured. #### Sample request ```json curl -L -X POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ -H 'X-Gp-Version: [custom:gp_api_version]' \ -H 'Accept: application/json' \ -H 'Accept-Encoding: gzip' \ -H 'Authorization: Bearer db670P7tddBGi72UdMRhnoiF8kh9' \ -H 'Content-Type: application/json' \ -d '{ "account_name": "Transaction_Processing", "type": "SALE", "channel": "CNP", "capture_mode": "LATER", "amount": "1999", "currency": "CHF", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "country": "BG", "payment_method": { "name": "James Mason", "entry_mode": "MOTO", "card": { "number": "4263970000005262", "expiry_month": "05", "expiry_year": "25", "cvv": "852", "cvv_indicator": "PRESENT", "avs_address": "Flat 123", "avs_postal_code": "50001" } } } ' ```json ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); config.setCountry("BG"); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCvn("852"); card.setCardHolderName("James Mason"); card.setEntryMethod(ManualEntryMethod.Moto); Address billingAddress = new Address(); billingAddress.setStreetAddress1("Flat 123"); billingAddress.setPostalCode("50001"); try { Transaction response = card.authorize(new BigDecimal("19.99")) .withCurrency("CHF") .withClientTransactionId("93459c78-f3f9-427c-84df-ca0584bb55bf") .withAddress(billingAddress) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getAuthorizedAmount(); // API raw response key "payment_method->card->avs_postal_code_result" String avsResponseCode = response.getAvsResponseCode(); // API raw response key "payment_method->card->avs_address_result" String avsAddressResponse = response.getAvsAddressResponse(); // API raw response key "payment_method->card->cvv_result" String cvnResponseMessage = response.getCvnResponseMessage(); // API raw response key "payment_method->card->brand_reference" String cardBrand = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // capture_mode == "MULTIPLE" boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->card->authcode" String $authCode = response.getAuthorizationCode(); // API raw response key "risk_assessment->mode" String fraudResponseMode = response.getFraudFilterResponse().getFraudResponseMode(); // API raw response key "risk_assessment->result" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // API raw response key "risk_assessment->rules" List fraudResponseRules = response.getFraudFilterResponse().getFraudResponseRules(); // API raw response key "payment_method->card->brand_reference" String brandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); // API raw response key "payment_method->card->provider->cvv_result" String cardIssuerCvv = response.getCardIssuerResponse().getCvvResult(); // API raw response key "payment_method->card->provider->avs_address_result" String cardIssuerAvsAddressResult = response.getCardIssuerResponse().getAvsAddressResult(); // API raw response key "payment_method->card->provider->avs_postal_code_result" String cardIssuerAvsPostalCodeResult = response.getCardIssuerResponse().getAvsPostalCodeResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "4gPqnGBkppGYvoE5UX9EWQlotTxGUDbs"; config.AppKey = "FQyJA5VuEQfcji2M"; config.Channel = Channel.CardNotPresent; config.RequestLogger = new RequestConsoleLogger(); config.Country = "BG"; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = ExpMonth; card.ExpYear = ExpYear; card.Cvn = "123"; card.CardPresent = true; card.EntryMethod = ManualEntryMethod.Moto; try { var transaction = card.Authorize(7.8m) .WithCurrency("CHF") .Execute(); var response = transaction.ResponseCode; //SUCCESS var status = transaction.ResponseMessage; //PREAUTHORIZED } catch (Exception) { //TODO: Add your exception handling here } ```dotnet ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->country = 'BG'; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = "4263970000005262"; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = "852"; $card->cardHolderName = "James Mason"; $card->entryMethod = ManualEntryMethod::MOTO; $billingAddress = new Address(); $billingAddress->streetAddress1 = "Flat 123"; $billingAddress->postalCode = "50001"; try { $response = $card->authorize(19.99) ->withCurrency('CHF') ->withClientTransactionId('93459c78-f3f9-427c-84df-ca0584bb55bf') ->withAddress($billingAddress) ->execute(); } catch (GatewayException $ex) { // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" //API raw response key "payment_method->card->avs_postal_code_result" $avsResponseCode = $response->avsResponseCode; //API raw response key "payment_method->card->->avs_address_result" $avsAddressResponse = $response->avsAddressResponse; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "risk_assessment->mode" $fraudResponseMode = $response->fraudFilterResponse->fraudResponseMode; //API raw response key "risk_assessment->result" $fraudResponseResult = $response->fraudFilterResponse->fraudResponseResult; //API raw response key "risk_assessment->rules" $fraudResponseRules = $response->fraudFilterResponse->fraudResponseRules; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; //API raw response key "payment_method->card->provider->cvv_result" $cardIssuerCvv = $response->cardIssuerResponse->cvvResult; //API raw response key "payment_method->card->provider->avs_address_result" $cardIssuerAvsAddressResult = $response->cardIssuerResponse->avsAddressResult; //API raw response key "payment_method->card->provider->avs_postal_code_result" $cardIssuerAvsPostalCodeResult = $response->cardIssuerResponse->avsPostalCodeResult; ```php #### Sample response ```json { "id": "TRN_vMpI7vjdSs3c6ona5QncNLDIooCnTs_ca0584bb55bf", "time_created": "2024-08-12T13:17:53.539Z", "type": "SALE", "status": "PREAUTHORIZED", "channel": "CNP", "capture_mode": "LATER", "amount": "1999", "currency": "CHF", "country": "BG", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "93459c78-f3f9-427c-84df-ca0584bb55bf", "payment_method": { "result": "00", "message": "(00)[ test system ] AUTHORISED", "entry_mode": "MOTO", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "123456", "brand_reference": "pWx303GMt3Rtlxdf", "brand_time_created": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "risk_assessment": [ { "mode": "ACTIVE", "result": "ACCEPTED", "rules": [ { "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd", "description": "Cardholder Name Rule", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3", "description": "CardNumber block", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e", "description": "Amount test", "mode": "ACTIVE", "result": "ACCEPTED" } ] } ], "batch_id": "", "action": { "id": "ACT_vMpI7vjdSs3c6ona5QncNLDIooCnTs", "type": "PREAUTHORIZE", "time_created": "2024-08-12T13:17:53.539Z", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "dev_portal_demo" } } ```JSON ## Step 2: Capture a transaction If successfully authorized, the funds will be ring-fenced on the customer's account. When you want to include the transaction in the next settlement file (also known as a _batch_), you can simply send a Capture (Settle) request. When the transaction is captured with the acquirer, the funds are deducted from the customer’s account and settled into your account. #### Sample request ```json curl -L -X POST 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_6uKEyxaJMeIdyfniUVJs9nKMLpaniX/capture' \ -H 'AUTHORIZATION: Bearer WVLzMsuEQzSEFfXX9D8tDl8t6YSG' \ -H 'ACCEPT: application/json' \ -H 'ACCEPT-ENCODING: gzip' \ -H 'X-GP-VERSION: 2021-03-22' \ -H 'CONTENT-TYPE: application/json' \ -d '{ "amount": "11099", "gratuity_amount": "11099", "capture_sequence": "FIRST", "total_capture_count": "number", "lodging": { "booking_reference": "string", "duration_days": "number", "room_tax_amount": "string", "date_checked_in": "string", "date_checked_out": "string", "daily_rate_amount": "string", "charge_items": "array" }, "payment_method": { "card": { "tag": "string" } } }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); LodgingData lodgingInfo = new LodgingData(); lodgingInfo.setBookingReference("s9RpaDwXq1sPRkbP"); lodgingInfo.setStayDuration(10); lodgingInfo.setCheckInDate(DateTime.now()); lodgingInfo.setCheckOutDate(DateTime.now().plusDays(7)); lodgingInfo.setRate(new BigDecimal("13.49")); String tag = "string"; Transaction transaction = Transaction.fromId("TRN_xk3noK4R3acBcujTLB5aoceH2THh6h_642f31d98ac7"); try { Transaction response = transaction.capture(new BigDecimal("11.99")) .withGratuity(new BigDecimal("11.99")) .withMultiCapture(1, 1) .withLodgingData(lodgingInfo) .withTagData(tag) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "payment_method->batch_id" String batchReference = response.getBatchSummary().getBatchReference(); // capture_mode == "MULTIPLE" boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->card->authcode" String $authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->brand_reference" String brandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "appId"; config.AppKey = "appKey"; config.Channel = Channel.CardNotPresent; config.RequestLogger = new RequestConsoleLogger(); config.Country = "BG"; ServicesContainer.ConfigureService(config); try { Transaction transaction = Transaction.FromId("TRN_r4qdItNRLydA8PVh0wx21WLoArNsAe_198be20b5355") var capture = transaction.Capture(8.8m) .WithGratuity(1m) .Execute(); var response = capture.ResponseCode; //SUCCESS var status = capture.ResponseMessage; //CAPTURED } catch (Exception) { //TODO: Add your exception handling here } ```dotnet ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $lodgingInfo = new LodgingData(); $lodgingInfo->bookingReference = 's9RpaDwXq1sPRkbP'; $lodgingInfo->durationDays = 10; $lodgingInfo->checkedInDate = date('Y-m-d H:i:s'); $lodgingInfo->checkedOutDate = date('Y-m-d H:i:s', strtotime("+7 days")); $lodgingInfo->dailyRateAmount = '13.49'; $tag = 'string'; $trn = Transaction::fromId('TRN_xk3noK4R3acBcujTLB5aoceH2THh6h_642f31d98ac7'); try { $response = $trn->capture(11.99) ->withGratuity(11.99) ->withMultiCapture(StoredCredentialSequence::FIRST, 1) ->withLodgingData($lodgingInfo) ->withTagData($tag) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" // API raw response key "payment_method->batch_id" $batchReference = $response->batchSummary->batchReference; $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ```
#### Sample response ```json { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2026-05-03T21:23:39.718Z", "type": "SALE", "status": "CAPTURED", "amount": "11099", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "string", "message": "string", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "ADJUST", "time_created": "2026-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```php ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including captures. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Captures are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Increment Source: https://developer.globalpayments.com/docs/payments/manage-payments/increment-guide.md # Manage Payments - Increment > 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. This guide focuses on incrementing an existing authorized transaction. ## What is it? Increment is an action used to add a supplemental charge to the authorized amount for an existing transaction before it is batched. This is commonly done in a lodging scenario where upcharges for extra days might be necessary. The increment action does not change the status of a transaction. If successful, it increases the amount of the existing transaction. ## How does it work? The main things to know about increment: * Availability in production depends on your configuration * Only works on transactions that have not been captured (same day or in a delayed-capture status) ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Increment an Auth In this step, we increment an existing authorized transaction. #### Sample request ```json curl --compressed -X POST "https://apis.sandbox.globalpay.com/ucp/transactions/TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d/incremental" \ -H "Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ" \ -H "X-GP-Version: 2021-03-22" \ -H "Content-type: application/json" \ -H "Accept: application/json" \ -d { "amount": "11099", "lodging": { "booking_reference": "string", "duration_days": "number", "room_tax_amount": "string", "date_checked_in": "string", "date_checked_out": "string", "daily_rate_amount": "string", "charge_items": "array" } } ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); LodgingData lodgingInfo = new LodgingData(); lodgingInfo.setBookingReference("s9RpaDwXq1sPRkbP"); lodgingInfo.setStayDuration(10); lodgingInfo.setCheckInDate(DateTime.now()); lodgingInfo.setCheckOutDate(DateTime.now().plusDays(7)); lodgingInfo.setRate(new BigDecimal("13.49")); ArrayList items = new ArrayList<>(); items.add( new LodgingItems() .setTypes(LodgingItemType.NO_SHOW.toString()) .setReference("item1") .setTotalAmount("13.49") .setPaymentMethodProgramCodes(new String[]{PaymentMethodProgram.ASSURED_RESERVATION.toString()})); lodgingInfo.setItems(items); Transaction transaction = Transaction.fromId("TRN_jKNcGl8EyIBNkDiBIKs8EoAynLlbaw"); try { Transaction response = transaction.additionalAuth(new BigDecimal("110.99")) .withCurrency("USD") .withLodgingData(lodgingInfo) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getAuthorizedAmount(); // capture_mode == "MULTIPLE" boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->card->authcode" String $authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->brand_reference" String brandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); var lodgingInfo = new LodgingData { bookingReference = "s9RpaDwXq1sPRkbP", StayDuration = 10, CheckInDate = DateTime.Now, CheckOutDate = DateTime.Now.AddDays(7), Rate = (decimal)13.49 }; var item1 = new LodgingItems { Types = LodgingItemType.NO_SHOW.ToString(), Reference = "item1", paymentMethodProgramCodes = new [] { PaymentMethodProgram.ASSURED_RESERVATION.ToString() } }; lodgingInfo.Items = new List() { item1 }; Transaction transaction = Transaction.FromId("TRN_5rfiei5p4NLO2YeGFDS1tFp394bgt9"); try { Transaction response = transaction.AdditionalAuth(110.99m) .WithCurrency("USD") .WithLodgingData(lodgingInfo) .Execute(); // API raw response key "id" var id = response.TransactionId; // API raw response key "amount" var amount = response.AuthorizedAmount; // capture_mode === 'MULTIPLE' var multiCapture = response.MultiCapture; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "payment_method->card->brand_reference" var brandReference = response.CardBrandTransactionId; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $lodgingInfo = new LodgingData(); $lodgingInfo->bookingReference = 's9RpaDwXq1sPRkbP'; $lodgingInfo->durationDays = 10; $lodgingInfo->checkedInDate = date('Y-m-d H:i:s'); $lodgingInfo->checkedOutDate = date('Y-m-d H:i:s', strtotime("+7 days")); $lodgingInfo->dailyRateAmount = '13.49'; $item1 = new LodgingItems(); $item1->types = [LodgingItemType::NO_SHOW]; $item1->reference = 'item1'; $item1->totalAmount = '13.49'; $item1->paymentMethodProgramCodes = [PaymentMethodProgram::ASSURED_RESERVATION]; $lodgingInfo->items = [$item1]; $transaction = Transaction::fromId('TRN_q88KwtpIeYvbHMYvi3R9ZrqcxtFcS0'); try { $response = $transaction->additionalAuth(110.99) ->withCurrency('USD') ->withLodgingData($lodgingInfo) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->authorizedAmount; // API raw response key "amount" $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ```php #### Sample response ```json { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2026-05-03T21:23:39.718Z", "type": "SALE", "status": "CAPTURED", "amount": "11099", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "string", "message": "string", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "ADJUST", "time_created": "2026-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```JSON ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including incrementals. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Increments are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Reauth Source: https://developer.globalpayments.com/docs/payments/manage-payments/reauth-guide.md # Manage Payments - ReAuth > 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. This guide focuses on sending a Re-Authorization (ReAuth) request to receive a more recent authcode. ## What is it? This action is used to refresh the authorization associated with a transaction when too much time has passed since the transaction was authorized. The card issuer might return the withheld funds to the cardholder if the payment is not captured within a certain amount of time. Therefore, the transaction needs to get a more recent authcode. Additionally, you can use a Re-Authorization request in cases where the amount you want to deduct from the customer's card is less than the originally authorized amount or if you need to reauthorize a transaction that was reversed in error. ## How does it work? The main things to know about ReAuth: * The amount submitted in a Re-Authorization request must be less than 200% of the original pre-authorization amouount (ignoring any increments). * Availability in production depends on your live configuration. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## ReAuth a transaction In this step, we reauthorize a transaction to receive a more recent authcode. #### Sample request ```json ```json curl -L -X POST 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d/reauthorization' \ -H 'Authorization: Bearer WVLzMsuEQzSEFfXX9D8tDl8t6YSG' \ -H 'X-GP-Version: 2021-03-22' \ -H 'Accept: application/json' \ -H 'Content-type: application/json' \ -H 'Accept-Encoding: gzip' \ -d '{ "amount": "11099" }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Transaction transaction = Transaction.fromId("TRN_Txdt3Drc2N4HU8X8JWov4P3bNL1w3q"); try { Transaction response = transaction.reauthorize(new BigDecimal("11.99")) .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchReference = response.getBatchSummary().getBatchReference(); // API raw response key "payment_method->card->brand"; String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // capture_mode === 'MULTIPLE' boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->brand_reference" String brandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); Transaction transaction = Transaction.FromId("TRN_Txdt3Drc2N4HU8X8JWov4P3bNL1w3q"); try { Transaction response = transaction.Reauthorize(11.99m) .Execute(); // API raw response key "id" var id = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; // API raw response key "batch_id" var batchReference = response.BatchSummary.BatchReference; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; // capture_mode === 'MULTIPLE' var multiCapture = response.MultiCapture; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "payment_method->card->brand_reference" var brandReference = response.CardBrandTransactionId; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $transaction = Transaction::fromId('TRN_Txdt3Drc2N4HU8X8JWov4P3bNL1w3q'); try { $response = $transaction->reauthorized(11.99) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" $batchReference = $response->batchSummary->batchReference; // API raw response key "batch_id" // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $transactionStatus = $response->responseMessage;// API raw response key "status" $timeCreated = $response->timestamp; // API raw response key "time_created" // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ```php #### Sample response ```json { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2026-05-03T21:23:39.718Z", "type": "SALE", "status": "CAPTURED", "amount": "11099", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "string", "message": "string", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "ADJUST", "time_created": "2026-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ``` ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including reauths. ### [SDKs - Libraries JAVA,.NET,PHP](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing ReAuths are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Refund Source: https://developer.globalpayments.com/docs/payments/manage-payments/refund-guide.md # Manage Payments - Refund > 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. This guide focuses on refunding a transaction to give money back to a cardholder. ## What is it? Once a transaction is captured and the funds are deducted from the customer’s account, you can refund the full or partial amount back to them without having to obtain their card details again. The payment method associated with the original sale is used to refund the payer. ## How does it work? The main things to know about refunds: * You can process a refund for any amount up to 115% of the original transaction value. * In this type of request, you must specify the amount and currency. * If the amount is not specified in the refund request, the full amount of the sale will be refunded. * Refunds can only be processed for a fixed amount of time after the original authorization. Limits differ among acquirers and can range from 6 to 13 months. For more information, contact your account manager. ![Diagram of the Refund Process Flow](https://developer.globalpayments.com/gh-assets/manage-payments-diagram.png) ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Refund a transaction In this step, we refund a transaction to give money back to a cardholder. #### Sample request ```json curl --compressed -X POST "https://apis.sandbox.globalpay.com/ucp/transactions/{id}/refund" \ -H "Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ" \ -H "X-GP-Version: 2021-03-22" \ -H "Content-type: application/json" \ -H "Accept: application/json" \ -d { "amount": "1199" } ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Transaction transaction = Transaction.fromId("TRN_TmpyYh2dXKJQMWT79F6KXfT685wotJ_23b4164fbddf"); try { Transaction response = transaction.refund(new BigDecimal("11.99")) .withCurrency("USD") .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchReference = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "payment_method->card->brand"; String cardType = response.getCardDetails().getBrand(); // API raw response key "payment_method->card->masked_number_last4" String maskedNumberLast4 = response.getCardDetails().getMaskedNumberLast4(); // capture_mode === 'MULTIPLE' boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->brand_reference" String brandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); Transaction transaction=Transaction.FromId("TRN_TmpyYh2dXKJQMWT79F6KXfT685wotJ_23b4164fbddf"); try { Transaction response = transaction.Refund(11.99m) .WithCurrency("USD") .Execute(); // API raw response key "id" var id = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; // API raw response key "batch_id" var batchReference = response.BatchSummary.BatchReference; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; // capture_mode === 'MULTIPLE' var multiCapture = response.MultiCapture; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "payment_method->card->brand_reference" var brandReference = response.CardBrandTransactionId; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $transaction = Transaction::fromId('TRN_TmpyYh2dXKJQMWT79F6KXfT685wotJ_23b4164fbddf'); try { $response = $transaction->refund(11.99) ->withCurrency('USD') ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response key "id" $transactionId = $response->transactionId; // API raw response key "amount" $amount = $response->balanceAmount; // API raw response key "batch_id" $batchReference = $response->batchSummary->batchReference; // API raw response key "type" $transactionType = $response->originalTransactionType; // API raw response key "status" $transactionStatus = $response->responseMessage; // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; // capture_mode === 'MULTIPLE' $multiCapture = $response->multiCapture; // API raw response key "reference" $referenceNumber = $response->referenceNumber; // API raw response key "action->result_code" $responseCode = $response->responseCode; // API raw response key "time_created" $timeCreated = $response->timestamp; // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ```php #### Sample response ```json { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2026-05-03T21:23:39.718Z", "type": "SALE", "status": "CAPTURED", "amount": "11099", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "string", "message": "string", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "ADJUST", "time_created": "2026-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```JSON ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including refunds. ### [SDKs - Libraries JAVA,.NET,PHP](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Refunds are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Reverse Source: https://developer.globalpayments.com/docs/payments/manage-payments/reverse-guide.md # Manage Payments - Reverse > 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. This guide focuses on reversing a transaction using the ID from the original transaction before settlement has occurred. ## What is it? Before capturing a transaction, you can void an authorization, capture, refund, or credit request. If the transaction was already placed in the next settlement file (or batch), this will remove it. Transactions can be reversed in full or partially reversed. For this type of request, you need the ID from the original transaction. ## How does it work? The main things to know about reverse: * The `TRN_id` is required for a reversal. * Transactions already settled can’t be reversed. * If a delayed-capture transaction is reversed, the initial authorization will be canceled. * If no amount is provided, the entire transaction will be reversed. * The `reference` field can be used in place of the `TRN_id` in the URL. ![Diagram of the Reversal Process Flow](https://developer.globalpayments.com/gh-assets/manage-payments-diagram.png) ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Reverse a transaction In this step, we reverse a transaction. #### Sample request ```json curl -L -X POST 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d/reversal' \ -H 'Authorization: Bearer WVLzMsuEQzSEFfXX9D8tDl8t6YSG' \ -H 'X-GP-Version: 2021-03-22' \ -H 'Accept: application/json' \ -H 'Content-type: application/json' \ -H 'Accept-Encoding: gzip' \ -d '{ "amount": "1999" }' ```JSON ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Transaction transaction = Transaction.fromId("TRN_OlVvoSKMFXIVaxXIE7iTJvPMG5MHeH_5b23a3202d99"); try { Transaction response = transaction.reverse() .execute(); // API raw response key "id" String transactionId = response.getTransactionId(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); // API raw response key "batch_id" String batchReference = response.getBatchSummary().getBatchReference(); // API raw response key "type" TransactionType transactionType = response.getTransactionReference().getOriginalTransactionType(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // capture_mode === 'MULTIPLE' boolean multiCapture = response.isMultiCapture(); // API raw response key "reference" String referenceNumber = response.getReferenceNumber(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "time_created" String timeCreated = response.getTimestamp(); // API raw response key "payment_method->card->authcode" String authCode = response.getAuthorizationCode(); // API raw response key "payment_method->card->brand_reference" String brandReference = response.getCardBrandTransactionId(); // API raw response key "payment_method->card->provider->result" String cardIssuerResult = response.getCardIssuerResponse().getResult(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); Transaction transaction = Transaction.FromId("TRN_OlVvoSKMFXIVaxXIE7iTJvPMG5MHeH_5b23a3202d99"); try { Transaction response = transaction.Reverse() .Execute(); // API raw response key "id" var id = response.TransactionId; // API raw response key "amount" var amount = response.BalanceAmount; // API raw response key "batch_id" var batchReference = response.BatchSummary.BatchReference; // API raw response key "status" var transactionStatus = response.ResponseMessage; // capture_mode === 'MULTIPLE' var multiCapture = response.MultiCapture; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "payment_method->card->brand_reference" var brandReference = response.CardBrandTransactionId; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $transaction = Transaction::fromId('TRN_OlVvoSKMFXIVaxXIE7iTJvPMG5MHeH_5b23a3202d99'); try { $response = $transaction->reverse() ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $transactionId = $response->transactionId; // API raw response key "id" $amount = $response->balanceAmount; // API raw response key "amount" $batchReference = $response->batchSummary->batchReference; // API raw response key "batch_id" $transactionType = $response->originalTransactionType; // API raw response key "type" $transactionStatus = $response->responseMessage;// API raw response key "status" $multiCapture = $response->multiCapture; // capture_mode === 'MULTIPLE' $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $timeCreated = $response->timestamp; // API raw response key "time_created" // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ```php #### Sample response ```json { "id": "TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2026-05-03T21:23:39.718Z", "type": "SALE", "status": "CAPTURED", "amount": "1999", "currency": "USD", "country": "US", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "batch_id": "BAT_234234234", "payment_method": { "result": "string", "message": "string", "card": { "authcode": "string", "brand_reference": "string" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "ADJUST", "time_created": "2026-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```json ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token ### [/transactions - API Explorer](https://developer.globalpayments.com/api/transactions.md) See the full transaction endpoint, including reversals. ### [SDKs - Libraries JAVA,.NET,PHP](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Reversals are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Verify Source: https://developer.globalpayments.com/docs/payments/manage-payments/verify-guide.md # Manage Payments - Verify > 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. This guide focuses on verifying a customer’s payment card and checking the balance of an EBT debit card (US only) before a sale. ## What is it? In some cases, you may want to confirm a payment method can be used in the creation of a transaction. The verify function allows you to query a card and determine if it's available for payment. ## How does it work? The main thing to know about verify: * The verify function does not authorize a transaction. A secondary request must be sent to complete an authorization. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Verify a card In this step, we verify a card to confirm that it can be used in a transaction. #### Sample request ```json curl --compressed -X POST "https://apis.sandbox.globalpay.com/ucp/verifications" \ -H "Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ" \ -H "X-GP-Version: 2021-03-22" \ -H "Content-type: application/json" \ -H "Accept: application/json" \ -d “{ "account_name": "Transaction_Processing", "channel": "CNP", "currency": "USD", "reference": "MY_TRANS_REF_12345", "country": "US", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "05", "expiry_year": "25" } } }” ```JSON ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData { Number = "4263970000005262", ExpMonth = DateTime.Now.Month, ExpYear = DateTime.Now.Year + 1, Cvn = "852", CardHolderName = "James Mason" }; try { Transaction response = card.Verify() .WithCurrency("USD") .WithClientTransactionId("MY_TRANS_REF_12345") .Execute(); // API raw response key "id" var id = response.TransactionId; // API raw response key "payment_method->card->brand"; var cardType = response.CardDetails.Brand; // API raw response key "payment_method->card->masked_number_last4" var maskedNumberLast4 = response.CardDetails.MaskedNumberLast4; // API raw response key "payment_method->card->cvv_result" var cvnResponseMessage = response.CvnResponseMessage; // API raw response key "status" var transactionStatus = response.ResponseMessage; // API raw response key "reference" var referenceNumber = response.ReferenceNumber; // API raw response key "action->result_code" var responseCode = response.ResponseCode; // API raw response key "time_created" var timeCreated = response.Timestamp; // API raw response key "payment_method->card->authcode" var authCode = response.AuthorizationCode; //API raw response key "payment_method->card->brand_reference" var brandReference = response.CardBrandTransactionId; //API raw response key "payment_method->card->provider->result" var cardIssuerResult = response.CardIssuerResponse.Result; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = "4263970000005262"; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = "852"; $card->cardHolderName = "James Mason"; try { $response = $card->verify() ->withCurrency('USD') ->withClientTransactionId('MY_TRANS_REF_12345') ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $id = $response->transactionId; // API raw response key "id" // API raw response key "payment_method->card->brand"; $cardType = $response->cardDetails->brand; // API raw response key "payment_method->card->masked_number_last4" $maskedNumberLast4 = $response->cardDetails->maskedNumberLast4; // API raw response key "payment_method->card->cvv_result" $cvnResponseMessage = $response->cvnResponseMessage; $type = $response->originalTransactionType; // API raw response key "type" $transactionStatus = $response->responseMessage;// API raw response key "status" $referenceNumber = $response->referenceNumber; // API raw response key "reference" $responseCode = $response->responseCode; // API raw response key "action->result_code" $timeCreated = $response->timestamp; // API raw response key "time_created" // API raw response key "payment_method->card->authcode" $authCode = $response->authorizationCode; //API raw response key "payment_method->card->brand_reference" $brandReference = $response->cardBrandTransactionId; //API raw response key "payment_method->card->provider->result" $cardIssuerResult = $response->cardIssuerResponse->result; ``` #### Sample response ```json { "id": "VER_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2021-05-03T21:23:39.718Z", "status": "VERIFIED", "channel": "CP", "currency": "USD", "country": "US", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_86920f927028745yt34d077d88beb29b", "account_name": "transaction_processing", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "payment_method": { "id": "PMT_31087d9c-e68c-4389-9f13-39378e166ea5", "result": "string", "message": "string", "entry_mode": "MOTO", "fingerprint_presence_indicator": "EXISTS", "fingerprint": "string", "card": { "masked_number_last4": "XXXXXXXXXXXX7025", "brand": "VISA", "brand_reference": "string", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "PROMPT" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "VERIFY", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```php ## EBT balance inquiry > Because the EBT card type is only available in the United States, this function is only possible in a US card-present, in-store environment. By adding the funding and `pin_block` parameters to the request, the verification will return the `available_balance` field in the response — underneath the card object. This allows you to query an EBT card for its current balance. #### Sample request ```json curl --compressed -X POST "https://apis.sandbox.globalpay.com/ucp/verifications" \ -H "Authorization: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ" \ -H "X-GP-Version: 2021-03-22" \ -H "Content-type: application/json" \ -H "Accept: application/json" \ -d “{ "account_name": "Transaction_Processing", "channel": "CNP", "currency": "USD", "reference": "MY_TRANS_REF_12345", "country": "US", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "05", "expiry_year": "25" "funding": "CASH_BENEFITS", "pin_block": "{{test card PIN block}}" } } }” ```JSON #### Sample response ```json { "id": "VER_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "time_created": "2021-05-03T21:23:39.718Z", "status": "VERIFIED", "channel": "CP", "currency": "USD", "country": "US", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_86920f927028745yt34d077d88beb29b", "account_name": "transaction_processing", "reference": "becf9f3e-4d33-459c-8ed2-0c4affc9555e", "payment_method": { "id": "PMT_31087d9c-e68c-4389-9f13-39378e166ea5", "result": "string", "message": "string", "entry_mode": "MOTO", "fingerprint_presence_indicator": "EXISTS", "fingerprint": "string", "card": { "masked_number_last4": "XXXXXXXXXXXX7025", "available_balance": "1600", "brand": "EBT", "brand_reference": "string", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "PROMPT" } }, "action": { "id": "ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "type": "VERIFY", "time_created": "2021-05-03T21:23:39.718Z", "result_code": "SUCCESS", "app_id": "uzFr7t4VOqxdLDI44hHmXIjHtOOE8d", "app_name": "my_lovely_app" } } ```JSON ## Integration references To get a deeper understanding of this function, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [/accesstoken - API Explorer](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [/verifications - API Explorer](https://developer.globalpayments.com/api/verifications.md) See the verifications endpoint used for all verify functions. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Testing Verifications are available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/docs/getting-started/postman-collection.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/responses) View successful responses, HTTP status codes, action response data, and errors. ## Risk Management Source: https://developer.globalpayments.com/docs/risk-management/overview.md # Risk Management ### [3D Secure & SCA](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) Add strong customer authentication to your online payments flow. ### [Fraud Management](https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md) Use Fraud Filters and Decision Management to better identify customers and reduce fraud. ### [Manage Limits](https://developer.globalpayments.com/docs/partners/embedded/request-limit-overview) Proactively monitor merchant limits. ## Overview Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md # 3D Secure & Strong Customer Authentication 3D Secure (3DS) is the authentication protocol used by card brands, such as Visa and Mastercard, to enable merchants to gain protection from fraud in a card-not-present (CNP) environment and to comply with European strong customer authentication (SCA) regulations set in PSD2. When 3DS2 is used with an authorization request requiring the customer to authenticate the card used in a transaction, the financial liability can shift from the merchant to the issuer in the event of a fraud-related chargeback. ## How does 3DS work? #### High-level steps An end-to-end 3DS authentication involves multiple steps with different components. The table below describes the high-level steps: | 3DS Step | Description | | -------- | ------- | | Check Enrollment | Confirm that the card is enrolled in 3DS and which versions it supports. Our platform currently supports 3DS Version 2.2. | | Device Profiling (Conditional) | Facilitate the issuer’s access control server (ACS) gathering data about the cardholder’s device (depends on whether the Issuer’s ACS supports this). | | Initiate Authentication | The transaction, cardholder, and browser information is sent as part of the authentication request to the issuer. The following outcomes can occur:
  • Frictionless Successful Authentication (Proceed to Authorization)
  • Frictionless Unsuccessful Authentication (Halt Transaction)
  • Challenge Required
| Present the Challenge (Conditional) | If the issuer determines that a challenge is required, the ACS must be displayed to the cardholder. The following outcomes can occur:
  • Challenge Completed Successfully (Proceed to Authorization)
  • Challenge Not Completed Successfully (Halt Transaction)
| Obtain Authentication Data (Conditional) | If the cardholder completes the challenge successfully, obtain the necessary data for authorization. | | Challenge required | Issuer requires more authentication and customer gets sent notification for more information. | | Authorization | Once the authentication is complete and a chargeback liability shift is available, proceed to authorization. | #### 3D Secure components Although there are multiple components that work together to perform a 3DS authentication, you'll primarily work with our server-side SDKs and client-side libraries and/or our REST API (depending on your integration type), as well as the issuer’s ACS. However, it’s worth familiarizing yourself with all of the components and who provides them (see table below). | Component Name | Provider | Description | | -------- | ------- | ------- | | Server-Side SDKs | Us | Collection of tools provided in a variety of languages to handle the communication between your application or website and our REST API. | | Client-Side Libraries | Us | Used with our REST API to provide an out-of-the-box payment form with secure data-capture fields. With 3DS, they also handle communication with the issuer's ACS. | | REST API | Us | A single integration point used to connect into numerous regions, channels, and payment methods worldwide. The REST API handles all communications with us, including with the 3DS server. | | 3DS Server | Us | Responsible for interfacing with the directory servers of the different card networks. | | Directory Server | Card Networks | The entry point into the 3DS ecosystem for card networks (Visa, Mastercard, etc.), including the issuer’s ACS. | | Access Control Server | (Card) Issuer | Responsible for the outcome of the authentication as well as providing the challenge to the cardholder if it’s a non-frictionless authentication. Note that the access control server is controlled by an entity external to Global Payments. | ## Liability shift Liability shift typically means that the responsibility for covering losses from fraudulent transactions transfers from the merchant to the issuing bank when the merchant authenticates the transaction using a 3DS protocol. If the merchant does not use a 3DS method to authenticate a credit card transaction, they remain liable for chargebacks and fraud-related losses. There are some differences in the liability shift offered by Mastercard, Visa, and American Express (AMEX). The following tables include the transaction status, electronic commerce indicator (ECI), authentication value, authentication flow, liability, and recommendation for each card brand. #### Mastercard | Transaction Status | ECI | Authentication Value | Authentication Flow | Liability | Recommendation | | -------- | ------- | ------- | -------- | ------- | ------- | | Authentication Successful | 2 | Present | Challenge/Frictionless | Issuer | Proceed to Authorization | | Authentication Successful | N2 | Present | Challenge Frictionless | Issuer | Proceed to Authorization | | Authentication Attempted | 1 | Present | Frictionless | Issuer | Proceed to Authorization | | Authentication Unavailable | 0 | Not Present | Challenge/Frictionless | Merchant | No liability shift; consider whether to proceed to Authorization | | Authentication Failed/Rejected | 0 | Not Present | Challenge/Frictionless | Merchant | No liability shift; do not proceed to Authorization | | Authentication Failed/Rejected | N0 | Not Present | Challenge Frictionless | Merchant | No liability shift; do not proceed to Authorization | #### Visa | Transaction Status | ECI | Authentication Value | Authentication Flow | Liability | Recommendation | | -------- | ------- | ------- | -------- | ------- | ------- | | Authentication Successful | 5 | Present | Challenge/Frictionless | Issuer | Proceed to Authorization | | Authentication Attempted | 6 | Present | Frictionless | Issuer | Proceed to Authorization | | Authentication Unavailable | 7 | Not Present | Challenge/Frictionless | Merchant | No liability shift; consider whether to proceed to Authorization | | Authentication Failed/Rejected | 7 | Not Present | Challenge/Frictionless | Merchant | No liability shift; do not proceed to Authorization | #### AMEX | Transaction Status | ECI | Authentication Value | Authentication Flow | Liability | Recommendation | | -------- | ------- | ------- | -------- | ------- | ------- | | Authentication Successful | 5 | Present | Challenge/Frictionless | Issuer | Proceed to Authorization | | Authentication Attempted | 6 | Present | Frictionless | Issuer | Proceed to Authorization | | Authentication Unavailable | 7 | Not Present | Challenge/Frictionless | Merchant | No liability shift; consider whether to proceed to Authorization | | Authentication Failed/Rejected | 7 | Not Present | Challenge/Frictionless | Merchant | No liability shift; do not proceed to Authorization | ## Get integrated We provide multiple ways of adding 3DS and SCA to your payment flow. The most popular integration is via our [browser authentication guide](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md), but we do provide in-app and many more [3DS options](https://developer.globalpayments.com/docs/risk-management/3D-secure/3DS-more-overview.md). ## Browser Authentication Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md # 3D Secure - Browser Authentication 3D Secure (3DS) is the authentication protocol used by card brands, such as Visa and Mastercard, to enable merchants to gain protection from fraud in a card-not-present environment and to comply with European strong customer authentication (SCA) regulations set in PSD2. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Set up notification URLs](#set-up-notification-urls) ### Set up notification URLs Before testing or implementing 3D Secure 2, you first need to set up two endpoint URLs in your application or website so that data and event notifications can be received from the issuer’s ACS. Each endpoint must be configured to accept an HTTP POST with Base64 encoded values. The issuer’s ACS uses notifications at two important points during authentication: * Method URL notification – Informs your application or website that the issuer’s ACS completed device profiling of the browser (if supported by the issuer). * Challenge notification – Informs your application or website that the challenge presented to the customer on the issuer’s ACS is complete. The POST also contains key authentication data, including whether the customer completed the challenge successfully or not. > The following guides assume you will be using the 3DS library as part of your integration. > > The globalpayments-3ds.js library does not have a CDN. The merchant can install it via npm (npm i globalpayments-3ds), then they can find the final build in node_modules/globalpayments-3ds/dist/ - this needs to be added somewhere publicly available and referenced in the scripts below. #### Sample Method URL Notification endpoint We consume the POST sent by the issuer’s ACS, decode it, and prepare the string to be returned to the client side and return it to the client as HTML. ```java /* * this sample code is not specific to the Global Payments SDK and is intended as a simple example and * should not be treated as Production-ready code. You'll need to add your own message parsing and * security in line with your application or website */ @RequestMapping("/methodUrlResponse") public void consumeMethodUrlResponse(String threeDSMethodData) throws UnsupportedEncodingException { // sample ACS response for Method URL Response Notification // String threeDSMethodData = "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImFmNjVjMzY5LTU5YjktNGY4ZC1iMmY2LTdkN2Q1ZjVjNjlkNSJ9"; try { byte[] decodedBytes = Base64.getDecoder().decode(threeDSMethodData); String methodUrlResponseString = new String(decodedBytes); Gson gson = new Gson(); // map to a custom class MethodUrlResponse MethodUrlResponse response = gson.fromJson(methodUrlResponseString, MethodUrlResponse.class); String threeDSServerTransID = response.getThreeDSServerTransID(); // // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 // TODO: notify client-side that the Method URL step is complete // optional to return decoded JSON string, see below } catch(Exception e) { // TODO: add your exception handling here } } ``` ```dotnet /* * this sample code is not specific to the Global Payments SDK and is intended as a simple example and * should not be treated as Production-ready code. You'll need to add your own message parsing and * security in line with your application or website */ var threDSMethodData = Request.Form["threeDSMethodData"]; // sample ACS response for Method URL Response Notification // threeDSMethodData = "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImFmNjVjMzY5LTU5YjktNGY4ZC1iMmY2LTdkN2Q1ZjVjNjlkNSJ9"; try { byte[] data = Convert.FromBase64String(threeDSMethodData); string methodUrlResponseString = Encoding.UTF8.GetString(data); // map to a custom class MethodUrlResponse MethodUrlResponse methodUrlResponse = JsonConvert.DeserializeObject(methodUrlResponseString); string threeDSServerTransID = methodUrlResponse.ThreeDSServerTransID; // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 // TODO: notify client-side that the Method URL step is complete (optional - return decoded JSON string), see below } catch (Exception exce) { // TODO: add your exception handling here } ``` ```php $convertedThreeDSMethodData->threeDSServerTransID, ]); /** If you have the backend and the frontend hosted on different domains, * or if they are served over different protocols, * you will need to specify the base url for the frontend domain as the second parameter * for the handleMethodNotification method (eg. http://localhost:3000). */ $response = << END; echo $response; exit; ``` #### Sample Challenge Notification endpoint We consume the POST sent by the issuer’s ACS, decode it, and prepare the string to be returned to the client side and return it to the client as HTML. ```java /* * this sample code is not specific to our SDK and is intended as a simple example and * should not be treated as Production-ready code. You'll need to add your own message parsing and * security in line with your application or website */ @RequestMapping("/challengeUrlResponse") public void consumeChallengeUrlResponse(@RequestParam("cres") String cres) throws UnsupportedEncodingException { // example CRes (Challenge Result) sent by the ACS /* String cres = "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImFmNjVjMzY5LTU5YjktNGY4ZC1iMmY2LTdkN2Q1ZjVjNjlkNSIsImF" + "jc1RyYW5zSUQiOiIxM2M3MDFhMy01YTg4LTRjNDUtODllOS1lZjY1ZTUwYThiZjkiLCJjaGFsbGVuZ2VDb21wbGV0a" + "W9uSW5kIjoiWSIsIm1lc3NhZ2VUeXBlIjoiQ3JlcyIsIm1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAiLCJ0cmFuc" + "1N0YXR1cyI6IlkifQ=="; */ try { byte[] decodedBytes = Base64.getDecoder().decode(cres); String challengeUrlResponseString = new String(decodedBytes); Gson gson = new Gson(); // map to a custom class ChallengeUrlResponse which has String variables for each response element ChallengeUrlResponse challengeUrlResponse = gson.fromJson(challengeUrlResponseString, ChallengeUrlResponse.class); String threeDSServerTransID = challengeUrlResponse.getThreeDSServerTransID(); // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 String acsTransId = challengeUrlResponse.getAcsTransID(); // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 String messageType = challengeUrlResponse.getMessageType(); // Cres String messageVersion = challengeUrlResponse.getMessageVersion(); // 2.1.0 String transStatus = challengeUrlResponse.getTransStatus(); // Y // TODO: simple example of how to prepare the JSON string for JavaScript Library (optional) Hashtable responseObject = new Hashtable(); responseObject.put("threeDSServerTransID", threeDSServerTransID); responseObject.put("transStatus", transStatus); String responseString = gson.toJson(responseObject); // TODO: notify client-side that the Challenge step is complete, see below } catch(Exception e) { // TODO: Add your exception handling here } } ``` ```dotnet /* * this sample code is not specific to our SDK and is intended as a simple example and * should not be treated as Production-ready code. You'll need to add your own message parsing and * security in line with your application or website */ var cres = Request.Form["cres"]; // Example CRes (Challenge Result) sent by the ACS // var cRes = "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImFmNjVjMzY5LTU5YjktNGY4ZC1iMmY2LTdkN2Q1ZjVjNjlkNSIsImF" // + "jc1RyYW5zSUQiOiIxM2M3MDFhMy01YTg4LTRjNDUtODllOS1lZjY1ZTUwYThiZjkiLCJjaGFsbGVuZ2VDb21wbGV0a" // + "W9uSW5kIjoiWSIsIm1lc3NhZ2VUeXBlIjoiQ3JlcyIsIm1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAiLCJ0cmFuc" // + "1N0YXR1cyI6IlkifQ=="; try { byte[] data = Convert.FromBase64String(cres); string challengeUrlResponseString = Encoding.UTF8.GetString(data); // map to a custom class ChallengeUrlResponse which has String variables for each response element ChallengeUrlResponse challengeUrlResponse = JsonConvert.DeserializeObject(challengeUrlResponseString); var threeDSServerTransID = challengeUrlResponse.ThreeDSServerTransID; // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 var acsTransId = challengeUrlResponse.AcsTransID; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 var messageType = challengeUrlResponse.MessageType; // Cres var messageVersion = challengeUrlResponse.MessageVersion; // 2.1.0 var transStatus = challengeUrlResponse.TransStatus; // Y // TODO: prepare the JSON string for JavaScript Library (optional) challengeUrlResponseString = JsonConvert.SerializeObject(new { threeDSServerTransID = threeDSServerTransID, transStatus = transStatus }); // TODO: notify client-side that the Challenge URL step is complete, see below } catch (Exception exce) { // TODO: add your exception handling here } ``` ```php $convertedCRes->threeDSServerTransID, 'transStatus' => $convertedCRes->transStatus ?? '', ]); // $serverTransID = $convertedObject['threeDSServerTransID']; // af65c369-59b9-4f8d-b2f6-7d7d5f5c69d5 // $acsTransID = $convertedObject['acsTransID']; // 13c701a3-5a88-4c45-89e9-ef65e50a8bf9 // $messageType = $convertedObject['messageType']; // Cres // $messageVersion = $convertedObject['messageVersion']; // 2.1.0 // $transStatus = $convertedObject['transStatus']; // Y /** If you have the backend and the frontend hosted on different domains, * or if they are served over different protocols, * you will need to specify the base url for the frontend domain as the second parameter * for the handleChallengeNotification method (eg. http://localhost:3000). */ $response = << END; echo $response; exit; ``` ## Step 1: Create single-use token In this step, we create a single-use token to use in place of the card details for the 3D Secure authentication steps and when creating the sale transaction. Single-use tokens can be created directly via our API. > This step assumes that you are using your own PCI-compliant card form. Alternatively, we can look after the PCI security compliance for you via our [Hosted Fields](https://developer.globalpayments.com/docs/payments/online/hosted-fields-guide.md) or [Drop-In UI](https://developer.globalpayments.com/docs/payments/online/drop-in-ui-overview.md) solution, which captures the customer card details on your behalf. The first API call in this step is to request a single-permission access token that allows you to request and create your single-use token. #### Sample request - Single permission token ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "secret": "b5bbcc9f923d0afd2d91a9539612974647aba8f630cacef8f8d0e6a580a6b09453442615cfafa32e0e5b446938fc80a9db6b5b3c36d27efd50da29d01a662db2", "grant_type": "client_credentials", "nonce": "2024-09-25T19:00:19.003Z", "interval_to_expire": "10_MINUTES", "permissions": [ "PMT_POST_Create_Single" ] }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setPermissions(new String[]{"PMT_POST_Create_Single"}); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4222000006285344"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCvn("987"); try { Transaction response = card.tokenize(true, PaymentMethodUsageMode.SINGLE) .execute(); // API raw response key "id" String tokenId = response.getToken(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardNotPresent; $config->permissions = ['PMT_POST_Create_Single']; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = "4222000006285344"; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = "987"; try{ $response = $card->tokenize(true, PaymentMethodUsageMode::SINGLE) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: add your error handling here } // API raw response key "id" $tokenId = $response->token; //PMT_e7cc73be-c133-455e-8b10-0d2784f0101c ``` #### Sample response - Single permission token ```json { "token": "p3Pjk5Jyx6GDVjbIUDUAP9kM1dtu", "type": "Bearer", "scope": { "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "accounts": [ { "id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8", "name": "tokenization", "permissions": [ "PMT_POST_Create_Single" ] } ] }, "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "TEST_APP", "time_created": "2024-09-25T19:00:19.648Z", "seconds_to_expire": 599, "interval_to_expire": "10_MINUTES", "email": "your.name@email.com" } ``` #### Sample request - Tokenize card ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/payment-methods' \ --header 'accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Accept-Encoding: gzip' \ --header 'Authorization: Bearer p3Pjk5Jyx6GDVjbIUDUAP9kM1dtu' \ --header 'Content-Type: application/json' \ --data-raw '{ "usage_mode": "SINGLE", "reference": "2f2462be-74c4-4a63-ad5c-8da350f5f60c", "name": "James Mason", "card": { "number": "4222000006285344", "expiry_month": "12", "expiry_year": "25", "cvv": "987" } }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("APP_ID"); config.setAppKey("APP_KEY"); config.setChannel(Channel.CardNotPresent.getValue()); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(new DateTime().getMonthOfYear()); card.setExpYear(new DateTime().getYear() + 1); card.setCvn("131"); Transaction response = null; try { response = card .tokenize(true, PaymentMethodUsageMode.SINGLE) .execute(); } catch (ApiException $e) { // TODO: add your error handling here } String tokenId = response.getToken(); //PMT_1c22346c-aafe-47f3-a1c5-231bdb734521 ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "APP_ID"; config.AppKey = "APP_KEY"; config.Channel = Channel.CardPresent; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.Cvn = "131"; try { var token = card.Tokenize("default", PaymentMethodUsageMode.Single); //PMT_1c22346c-aafe-47f3-a1c5-231bdb734521 } catch (ApiException e) { // TODO: add your error handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'APP_ID'; $config->appKey = 'APP_KEY'; $config->channel = Channel::CardPresent; ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = "4263970000005262"; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = "131"; try{ $response = $card->tokenize(true, PaymentMethodUsageMode::SINGLE) ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } $tokenId = $response->token; //PMT_1c22346c-aafe-47f3-a1c5-231bdb734521 ``` #### Sample response ```json { "id": "PMT_1c22346c-aafe-47f3-a1c5-231bdb734521", "time_created": "2022-10-06T11:36:44.316Z", "status": "ACTIVE", "usage_mode": "SINGLE", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TKA_b3a46f0f351f43cfad20acf5c32fea50", "account_name": "tokenization", "reference": "2f2462be-74c4-4a63-ad5c-8da350f5f60c", "card": { "masked_number_last4": "XXXXXXXXXXXX5344", "brand": "VISA", "expiry_month": "12", "expiry_year": "25" }, "action": { "id": "ACT_hboxaxUONzfojemgWfDoAE7O0JK7qO", "type": "PAYMENT_METHOD_CREATE", "time_created": "2022-10-06T11:36:44.316Z", "result_code": "SUCCESS", "app_id": "grf9Q3tGYqglXOmYXYGAeYfFvsmnXAGe", "app_name": "demo_app" } } ``` ## Step 2: Generate full access token Now that you have your single-use token stored, you need to use the _/accesstoken_ endpoint again to generate a full permission access token to proceed on your 3D Secure integration. Below are sample request and expected response to allow you move to Step 3. #### Sample request - Full access token ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/accesstoken' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "secret": "9e6ab70379a06aa41aebe3aac68100254fec77b338b579ae40ee8b45a9452d405e1b990ce942d63cd3c63ea2ff6c34bf563b57ff4e05cca32eeda2f670e5f966", "grant_type": "client_credentials", "nonce": "2024-09-25T19:25:35.813Z" }' ``` #### Sample response - Full access token ```json { "token": "yuolhwoZKLmPSFK04rEoZIEwfZyZ", "type": "Bearer", "scope": { "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "accounts": [ { "id": "TRA_27c901760029495f813afbb0dab197ef", "name": "transaction_processing", "permissions": [ "TRN_POST_Authorize", "TRN_POST_Force", "TRN_POST_Refund", "TRN_POST_Capture", "TRN_POST_Reverse", "TRN_POST_Adjust", "TRN_POST_Initiate", "BAT_POST_Close", "TRN_POST_Refund_Standalone", "VER_POST_Verify", "TRN_POST_Reauthorize", "INS_POST_Query", "TRN_GET_Single", "TRN_POST_Confirm", "DEV_POST_Sync", "ACT_GET_Single", "ACT_GET_List", "TRN_GET_List", "TRN_POST_Capture_Multiple", "ACT_POST_Multiple", "APP_GET_Single", "AUT_POST_Initiate", "CCS_POST_DCC", "ACC_GET_Single_Platform", "ACC_GET_Single", "APP_POST_Search_PFCValidate", "ACT_POST_Auto_Action", "PFC_GET_List", "PFC_GET_Single", "TRN_POST_Incremental", "AUT_POST_Results", "BAT_GET_Single", "ACC_GET_List", "GET_Single", "AUT_POST_Check_Availability", "APP_GET_List", "TRN_POST_Split", "AUT_GET_Single", "AUT_GET_List", "TRN_POST_Hold", "TRN_POST_Release" ] }, { "id": "TKA_c1de85a8a5844c56abd9ca07bbd792c8", "name": "tokenization", "permissions": [ "PMT_POST_Create", "PMT_PATCH_Edit", "PMT_Delete", "PMT_GET_List", "PMT_GET_Single", "PMT_POST_Search", "ACT_POST_Multiple", "PMT_POST_Create_Single", "ACC_GET_Single", "GET_Single", "ACT_POST_Auto_Action", "APP_POST_Search_PFCValidate", "ACC_GET_List", "ACT_GET_List", "ACT_GET_Single", "PYR_GET_Single", "PYR_POST_Edit", "PYR_GET_List", "PYR_POST_Create" ] } ] }, "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Test_APP", "time_created": "2024-09-25T19:25:43.008Z", "seconds_to_expire": 86399, "email": "your.name@email.com" } ``` ## Step 3: Check version and enrollment The authentication process begins with determining if the card is enrolled in 3D Secure 2. Authentication is not completed during this step. When [Step 5.1 frictionless](#step-51-frictionless-flow) or [Step 5.2 challenge](#step-52-challenge-flow) is completed, the relevant authentication fields are returned by the issuing bank. Please consult the [Check Availability](https://developer.globalpayments.com/api/authentications.md) method in our API Explorer for more details. If the card is enrolled, the exact version of 3D Secure 2 will be returned (2.x.x) along with the necessary Method URL to facilitate the gathering of device data by the issuer’s ACS (if supported by the issuer). #### Sample Check Version (client side) The Check Version method facilitates requests to your server-side code to check the enrolled version of 3D Secure for the customer’s card. This method also automatically handles the response from the version check. When a card is enrolled and a method URL is present, the method opens a hidden iFrame to the issuer’s ACS to facilitate device-profiling requirements. The method requires two parameters: the server-side endpoint responsible for checking the enrollment of the card and the card data. In our example, we pass the single-use token we created in Step 1. Optionally, we can also send any data from the client-side. For additional details on what can be sent from the client-side, see the [3D Secure Helper Library](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/3DS2.md#3DS-helper-library) in our SDK Reference. ```javascript ``` ## Step 7: Get authentication result At this point, we know the customer has successfully completed the challenge. However, unlike in a frictionless scenario, our application doesn’t have all the data we need to proceed to authorization. When the customer completes the challenge, the Issuer’s ACS also sends the outcome to our 3D Secure solution, with the full authentication data. The Get Result method in the API allows us to retrieve the necessary data for authorization, including: * ECI * Authentication value * DS Trans ID (Directory Server Transaction ID) * Message version If the customer canceled during the challenge or the authentication did not proceed for another reason, the summary endpoint will include this information. You can then update your application or website accordingly. If you decide not to use our 3D Secure Authentication resource and do not send the Authentication ID (AUT_ID) returned by Authentication resource in the Authorization request or you are using a third party 3D Secure provider, you will be required to include the following fields in the Authorization request. * message_version * eci * value * server_trans_ref * ds_trans_ref Please refer to the [Sample Request for Third-party 3DS Authentication](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md#sample-request-for-third-party-3ds-authentication) in Step 8 - Authorization with 3DS2 data. When a liability shift is obtained via the 3D Secure process then these values above or the `AUT_ID` must be passed in the Authorization request. If not submitted, then the liability shift will not be granted in the event of a chargeback. ### Sample Obtain Authentication data (server side) In our example, we only need to submit the REST API reference for the transaction, the `AUT_ID`. This returns all the information required to complete a 3D Secure authorization. #### Sample request ```json https://apis.sandbox.globalpay.com/ucp/authentications/AUT_5dad4214-78a9-4003-a5a0-737ffa38181c/result ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("app_id"); config.setAppKey("app_key"); config.setEnvironment(Environment.TEST); config.setCountry("IE"); config.setChannel(Channel.CardNotPresent.getValue()); ServicesContainer.configureService(config); // TODO: consume data sent from the payment form (requestData) CreditCardData paymentMethod = new CreditCardData(); paymentMethod.setToken(requestData.get("paymentToken").getAsString()); if (requestData.get("serverTransactionId") != null) { try { String serverTransactionId = requestData.get("serverTransactionId"); threeDSecureData = Secure3dService .getAuthenticationData() .withServerTransactionId(serverTransactionId) .execute(); } catch (ApiException $e) { // TODO: add your error handling here } } ``` ```dotnet // TODO: configure client & request settings GpApiConfig config = new GpApiConfig(); config.AppId = "app_id"; config.AppKey = "app_key"; config.Environment = Entities.Environment.TEST; config.Country = "IE"; config.Channel = Channel.CardNotPresent; ServicesContainer.ConfigureService(config); // TODO: consume card data sent from the JS Library (requestData) CreditCardData paymentMethod = new CreditCardData(); paymentMethod.Token = requestData.GetValue("paymentToken"); if (requestData.GetValue("serverTransactionId") != null) { try { string serverTransactionId = requestData.GetValue("serverTransactionId"); threeDSecureData = Secure3dService .GetAuthenticationData() .WithServerTransactionId(serverTransactionId) .Execute(); } catch (ApiException e) { // TODO: add your error handling here } } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->country = 'IE'; // TODO: consume data sent from the payment form ($requestData) $paymentMethod = new CreditCardData(); $paymentMethod->token = $requestData['paymentToken']; if (!empty($requestData['serverTransactionId'])) { try { $serverTransactionId = $requestData['serverTransactionId']; $threeDSecureData = Secure3dService::getAuthenticationData() ->withServerTransactionId($serverTransactionId) ->execute(); } catch (ApiException $e) { // TODO: add your error handling here } } ``` #### Sample response ```json { "id": "AUT_3df53b41-22eb-4db8-9861-56c28e0a37fb", "time_created": "2022-06-03T15:53:01.974", "status": "SUCCESS_AUTHENTICATED", "channel": "CNP", "amount": "1999", "currency": "EUR", "country": "IE", "source": "BROWSER", "three_ds": { "acs_trans_ref": "e0d13dd0-e354-41ec-8c03-435b033a82d6", "ds_trans_ref": "3d2f6746-6e41-4136-9650-4929c3932801", "server_trans_ref": "3df53b41-22eb-4db8-9861-56c28e0a37fb", "acs_reference_number": "", "liability_shift": "YES", "authentication_type": "OUT_OF_BAND_CHALLENGE", "authentication_value": "AAkBBVKDWAAAACcQl4FUdAoPFg0=", "eci": "05", "status": "AUTHENTICATION_SUCCESSFUL", "status_reason": "", "redirect_url": "https://apis.sandbox.globalpay.com/ucp/authentications/redirect/eyJpZCI6IkFVVF8zZGY1M2I0MS0yMmViLTRkYjgtOTg2MS01NmMyOGUwYTM3ZmIiLCJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl83ZTNlMmM3ZGYzNGY0MjgxOWIzZWRlZTMxMDIyZWUzZiIsImFjY291bnRfaWQiOiJUUkFfYzk5NjdhZDdkOGVjNGI0NmI2ZGQ0NGE2MWNkZTlhOTEiLCJtZXJjaGFudF9uYW1lIjoiU2FuZGJveF9tZXJjaGFudF8zIiwiYWNjb3VudF9uYW1lIjoidHJhbnNhY3Rpb25fcHJvY2Vzc2luZyIsImFjc191cmwiOiJodHRwczovL2FjczJwLnRlc3QuZ3BlLmN6L3Rkcy9jaGFsbGVuZ2UvYnJ3L2UwZDEzZGQwLWUzNTQtNDFlYy04YzAzLTQzNWIwMzNhODJkNiIsIm1lc3NhZ2VfdmVyc2lvbiI6IjIuMS4wIiwiYXBwX2lkIjoiZ3JmOVEzdEdZcWdsWE9tWVhZR0FlWWZGdnNtblhBR2UiLCJhcHBfbmFtZSI6Imhvc3RlZF9maWVsZHMiLCJhcHBfZGV2ZWxvcGVyIjoiamFzb24uYmFqYXJpYXNAZ2xvYmFscGF5LmNvbSJ9", "acs_challenge_request_url": "https://acs2p.test.gpe.cz/tds/challenge/brw/e0d13dd0-e354-41ec-8c03-435b033a82d6", "authentication_source": "BROWSER", "challenge_value": "ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcSIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjEuMCIsCiAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICIzZGY1M2I0MS0yMmViLTRkYjgtOTg2MS01NmMyOGUwYTM3ZmIiLAogICJhY3NUcmFuc0lEIiA6ICJlMGQxM2RkMC1lMzU0LTQxZWMtOGMwMy00MzViMDMzYTgyZDYiLAogICJjaGFsbGVuZ2VXaW5kb3dTaXplIiA6ICIwNCIKfQ", "message_category": "PAYMENT_AUTHENTICATION", "message_version": "2.1.0", "challenge_status": "NOT_MANDATED", "authentication_request_type": "", "acs_decoupled_response_indicator": "", "whitelist_status": "", "message_extension": [] }, "action": { "id": "ACT_LmP0hFBVsqmimUGlBHwhAUaCYDQE3I", "type": "GET_CHALLENGE_RESULT", "time_created": "2022-06-03T15:53:01.974", "result_code": "SUCCESS", "app_id": "U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name": "demo_app" } } ``` ## Step 8: Authorization with 3DS2 data Now that the 3D Secure 2 process is complete, and depending on the ECI value returned, we can proceed to authorization while including the authentication data. Like we did in a frictionless scenario, here we check the ECI value to ensure it affords the merchant a liability shift. If it does, we proceed to authorization. At this point, the transaction is processed as normal and may be successful or declined based on standard criteria: sufficient funds, correct security code entered, and so forth. ### Authentication endpoint #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer yuolhwoZKLmPSFK04rEoZIEwfZyZ' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "transaction_processing", "channel": "CNP", "type": "SALE", "amount": "1999", "currency": "EUR", "reference": "Test_1234sdfsd", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_1c22346c-aafe-47f3-a1c5-231bdb734521", "authentication": { "id": "AUT_df8cf033-3c3f-4bc6-af75-73da2acb2f7c" } } }' ``` ```java if (!threeDSecure.getLiabilityShift().equals("YES") || (!threeDSecure.getStatus().equals("SUCCESS_AUTHENTICATED") && !threeDSecure.getStatus().equals("SUCCESS_ATTEMPT_MADE"))) { ) { // TODO: avoid authorization and ask the customer to try another card instead // e.g. available response data // String liabilityShift = threeDSecureData.getLiabilityShift(); // NO // String status = threeDSecureData.getStatus(); // NOT_AUTHENTICATED // String statusReason = threeDSecureData.getStatusReason(); // CARD_AUTHENTICATION_FAILED } paymentMethod.setThreeDSecure(threeDSecureData); try { // TODO: proceed to authorization with liability shift gatewayResponse = paymentMethod .authorize(requestData.get("amount").asBigDecimal()) .withCurrency(requestData.get("currency").getAsString()) .execute(); // TODO: handle gateway response // e.g. available response data // String responseCode = gatewayResponse.getResponseCode(); // SUCCESS // String responseMessage = gatewayResponse.getResponseMessage(); // PREAUTHORIZED // String authCode = gatewayResponse.getTransactionReference().getAuthCode(); // 00 // String transactionId = gatewayResponse.getTransactionReference().getTransactionId(); // TRN_87qJ8EIe4EyNGda9xAWPoa4awo6FbE_2189ef712481 } catch (Exception e) { // TODO: add your error handling here } ``` ```dotnet if (!threeDSecureData.LiabilityShift.Equals("YES") || !threeDSecureData.Status.Equals("SUCCESS_AUTHENTICATED") || !threeDSecureData.Status.Equals("SUCCESS_ATTEMPT_MADE") ) { // TODO: avoid authorization and ask the customer to try another card instead // e.g. available response data // String liabilityShift = threeDSecureData.getLiabilityShift(); // NO // String status = threeDSecureData.getStatus(); // NOT_AUTHENTICATED // String statusReason = threeDSecureData.getStatusReason(); // CARD_AUTHENTICATION_FAILED } paymentMethod.ThreeDSecure = threeDSecureData; try { // TODO: proceed to authorization with liability shift gatewayResponse = paymentMethod .Authorize(requestData.GetValue("amount").ToAmount()) .WithCurrency(requestData.GetValue("currency")) .Execute(); // TODO: handle gateway response // e.g. available response data // String responseCode = gatewayResponse.getResponseCode(); // SUCCESS // String responseMessage = gatewayResponse.getResponseMessage(); // PREAUTHORIZED // String authCode = gatewayResponse.getTransactionReference().getAuthCode(); // 00 // String transactionId = gatewayResponse.getTransactionReference().getTransactionId(); // TRN_87qJ8EIe4EyNGda9xAWPoa4awo6FbE_2189ef712481 } catch (Exception e) { // TODO: add your error handling here } ``` ```php liabilityShift !== 'YES' || ! in_array($threeDSecureData->status, [ Secure3dStatus::SUCCESS_AUTHENTICATED, Secure3dStatus::SUCCESS_ATTEMPT_MADE ])) { // TODO: avoid authorization and ask the customer to try another card instead // e.g. available response data // $liabilityShift = $threeDSecureData->liabilityShift; // NO // $status = $threeDSecureData->status; // NOT_AUTHENTICATED // $statusReason = $threeDSecureData->statusReason; // CARD_AUTHENTICATION_FAILED } $paymentMethod->threeDSecure = $threeDSecureData; } try { // TODO: proceed to authorization with liability shift $gatewayResponse = $paymentMethod->authorize($requestData['amount']) ->withCurrency($requestData['currency']) ->execute(); // TODO: handle gateway response // e.g. available response data // $responseCode = $gatewayResponse->responseCode; // SUCCESS // $responseMessage = $gatewayResponse->responseMessage; // PREAUTHORIZED // $authCode = $gatewayResponse->transactionReference->authCode; // 00 // $transactionId = $gatewayResponse->transactionReference->transactionId; // TRN_87qJ8EIe4EyNGda9xAWPoa4awo6FbE_2189ef712481 } catch (Exception $e) { // TODO: add your error handling here } ``` ### [Conditional] Third-party 3DS Authentication #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer yuolhwoZKLmPSFK04rEoZIEwfZyZ' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "transaction_processing", "channel": "CNP", "type": "SALE", "amount": "1999", "currency": "EUR", "reference": "Test_1234sdfsd", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_1c22346c-aafe-47f3-a1c5-231bdb734521", "authentication": { "three_ds": { "message_version": "2.2.0", "eci": "05", "value": "ODQzNjgwNjU0ZjM3N2JmYTg0NTM=", "server_trans_ref": "ad0fffeb-bfff-44d0-881f-b857fe77c5a2", "ds_trans_ref": "c272b04f-6e7b-43a2-bb78-90f4fb94aa25", } } } }' ``` #### Sample response ```json "id": "TRN_pVOW1K2sc8hRP4Nymi0qveBP7gcFGb_st_1234sdfsd", "time_created": "2022-06-01T09:42:42.252Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "IE", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "Test_1234sdfsd", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "DxKmQE8NmDuXC1uV", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1099150", "action": { "id": "ACT_pVOW1K2sc8hRP4Nymi0qveBP7gcFGb", "type": "AUTHORIZE", "time_created": "2022-06-01T09:42:42.252Z", "result_code": "SUCCESS", "app_id": "grf9Q3tGYqglXOmYXYGAeYfFvsmnXAGe", "app_name": "demo_app" } } ``` ## Sample Hosted Fields and 3DS2 The following is a complete client-side example for Hosted Fields and 3D Secure 2. ```xml
// Configure account window.GlobalPayments.configure({ accessToken: gpApiAccessToken, env: 'sandbox', apiVersion: '2021-03-22', }); const paymentForm = document.getElementById("payment-form"); // Create Form const cardForm = GlobalPayments.creditCard.form("#credit-card", { style: "gp-default" }); cardForm.on("token-success", (response) => { // Add payment token to form as a hidden input const token = document.createElement("input"); token.type = "hidden"; token.id = "payment-token"; token.name = "paymentToken"; token.value = response.paymentReference; paymentForm.appendChild(token); const start3DSButton = document.getElementById("start"); start3DSButton.click(); }); cardForm.on("token-error", (response) => { // Show error to the consumer }); cardForm.on("error", (response) => { // Show error to the consumer }); const { checkVersion, initiateAuthentication, ChallengeWindowSize, } = GlobalPayments.ThreeDSecure; // Add submit click event handler document.addEventListener(“DOMContentLoaded”, () => { const checkVersionButton = document.getElementById(“start”); if (!checkVersionButton) { return; } checkVersionButton.addEventListener(“click”, start3DS); }); // Handle 3DS 2.0 workflow const start3DS = async (e) => { e.preventDefault(); try { const versionCheckData = await checkVersion(“/ThreeDSecure/CheckEnrollment / ”, { card: { reference: document.getElementById(“payment - token”).value, }, order: { amount: document.getElementById("amount").value, currency: document.getElementById("currency").value, } }); if (versionCheckData.status === "NOT_ENROLLED" && versionCheckData.liabilityShift !== "YES") { // TODO: avoid authorization and ask the customer to try another card instead return false; } if (versionCheckData.liabilityShift === "YES") { // TODO: proceed with authorization paymentForm.submit(); return true; } const authenticationData = await initiateAuthentication(“/ThreeDSecure/InitiateAuthentication / ”, { card: { reference: document.getElementById(“payment - token”).value, }, order: { amount: document.getElementById("amount").value, currency: document.getElementById("currency").value, // shipping address // billing address }, payer: { email: "john.smith@example.com", }, versionCheckData: versionCheckData, challengeWindow: { windowSize: ChallengeWindowSize.Windowed600x400, displayMode: “lightbox”, } }); // You have a liability shift and fraud protection if (authenticationData.liabilityShift === "YES" && (authenticationData.result === "SUCCESS_AUTHENTICATED" || authenticationData.result === "SUCCESS_ATTEMPT_MADE")) { // TODO: proceed with authorization paymentForm.submit(); return true; } // Add serverTransactionId to form as a hidden input const serverTransactionId = document.createElement("input"); serverTransactionId.type = "hidden"; serverTransactionId.name = "serverTransactionId"; serverTransactionId.value = authenticationData.serverTransactionId || authenticationData.challenge.response.data.threeDSServerTransID || versionCheckData.serverTransactionId; // Submit data to the integration's backend for processing paymentForm.appendChild(serverTransactionId); paymentForm.submit(); return true; } catch (error) { console.log(error); console.error(“An error occurred”, error.reasons); return false; } return false; }; ``` ## Integration references To get a deeper understanding of 3D Secure, we’ve provided some references for both API and SDK integrations. ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [API /authentications](https://developer.globalpayments.com/api/authentications.md) The full 3D secure resource for your reference. ### [SDK - 3DS guide](https://developer.globalpayments.com/docs/integration-options/sdk/sdk-reference/3DS2.md) 3DS integration is supported via our JavaScript 3DS library. ## Testing 3D Secure Our 3D Secure solution is available for testing in our free Sandbox environment registered users of this developer portal. Use our resources below to start testing different scenarios. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) Download for multiple use cases under the 3D Secure folder. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Overview Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/exemptions/overview.md # Exemptions - Overview In this article, we discuss how merchants can use our 3D Secure 2 Exemption Optimization and accompanying solutions to solve for both compliant transactions and a seamless customer experience. Exemptions are part of the European strong customer authentication (SCA) regulations set in PSD2. The idea is to allow for an easier payment experience with less friction for the customer under certain conditions. This includes transactions where the value of the payment is low or where robust risk analysis is performed. Exemptions might be applied by the issuer based on the transaction details or might be specifically requested by the merchant, with their acquirer’s permission. 3D Secure 2, the authentication protocol used by card brands such as Visa and Mastercard, provides a framework for merchants to benefit from SCA exemptions. ## When to request an exemption You can flag an exemption request during both the 3D Secure 2 authentication and the payment authorization. Or, you can choose to flag an exemption during the payment authorization step only. Submitting the request during both steps ensures the best chance that the exemption will be applied, as the issuer receives much more data about the transaction and the customer. For certain low-risk transactions, however, you may want to flag an exemption in just the authorization message to see if the issuer will approve the exemption without the use of 3D Secure 2. > When a merchant requests an exemption (whether via authentication or directly in authorization) and it's successfully applied, they'll no longer be able to avail of a liability shift if a fraud-related chargeback occurs. ## Available exemptions The following table provides the available exemptions and indicates whether they are applicable to be flagged during 3D Secure 2 authentication, authorization, or both. | Exemption | Description | Authentication | Authorization | | --- | --- | --- | --- | | Transaction Risk Analysis | Allows for transactions to be exempted from SCA if a robust risk analysis is performed. Whether it can be applied also depends on fraud thresholds pertaining to your acquirer. | Y | Y | | Low-Value Transactions | Transactions up to 30 EUR (or converted equivalent) can be exempted from SCA, dependent on the following criteria:
  • Up to a maximum of five (5) consecutive transactions
  • Or, up to a cumulative limit of 100 EUR (or converted equivalent)
| N | Y | | Trusted Beneficiary | Customers can add a merchant to a list of “trusted beneficiaries” held by the issuer. Subsequent payments to trusted merchants can then be exempted from SCA. | Y | Y | | Secure Corporate Payments | Transactions that meet the following criteria:
  • Initiated by a corporate customer using, for example, a virtual card
  • Originated in a secure corporate environment such as a company-wide travel and expenses system
| N | Y | ## Issuer response The following table provides the values in the response for exemptions that are available to request in the authentication message. The response indicates if the issuer accepted the exemption request or not. | Card Type | ECI | Authentication Value | Authentication Status | Authentication Status Reason | | --- | --- | --- | --- | --- | | Visa | 07 or Blank | Present | AUTHENTICATION_SUCCESSFUL | N/A | | Mastercard | 06 | Leading indicator is kN (optional) | 3D Secure 2.2: AUTHENTICATION_SUCCESSFUL 3D Secure 2.1: AUTHENTICATION_FAILED| 3D Secure 2.2: SCHEME_STATUS_REASON81 3D Secure 2.1: SCHEME_STATUS_REASON81 | If `ECI == 06`, and there is a present Authentication value, the transaction can be treated as successfully authenticated. The presence or absence of `kN` does not impact the success outcome. If the ECI is **not** present or is not the expected value, the transaction **cannot** be treated as successfully authenticated, regardless of Authentication Value. ### 3DS Version-Specific Behavior | 3DS Version | Authentication Status | Authentication Status Reason | | --- | --- | --- | | 3DS 2.2 | CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY | N/A | ### Exemption Logic – Consistent Across Schemes Under the updated scheme logic for 3DS 2.2, if the expected values are present (e.g. **ECI + Authentication Value**), transactions may proceed with exemptions applied — **regardless of card scheme**. ## Next steps Check out the following guides to learn more about our exemption solutions. ### [Transaction Risk Analysis](https://developer.globalpayments.com/docs/TRA) Identify customer exemptions and avoid unnecessary authentications. ### [Low-Value Transactions](https://developer.globalpayments.com/docs/low-value-transactions) Avoid unnecessary authentications for transactions under a certain amount. ### [Trusted Beneficiary](https://developer.globalpayments.com/docs/trusted-beneficiary) Use a trusted merchant list to avoid unnecessary authentications. ### [Secure Corporate Payments](https://developer.globalpayments.com/docs/secure-corp-payments) Request an exemption for corporate customer transactions. ## Transaction Risk Analysis Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/exemptions/transaction-risk-analysis.md # Transaction Risk Analysis Our Exemption Optimization Service (EOS) can perform real-time Transaction Risk Analysis (TRA) and respond with an outcome on exemption eligibility. Once eligibility is confirmed, the exemption can be requested from the Issuer as part of both the 3D Secure 2 authentication and payment authorization, or just in the payment authorization alone. Submitting the exemption request in both the 3D Secure 2 authentication and payment authorization ensures the best chance that the exemption will be applied. This use case is what we cover in this article, but we also show the payment authorization-only flow. ## Both authentication and authorization In this example, we process a 3D Secure 2 authentication using our 3DS Server. This triggers the following actions: * TRA is performed as part of the authentication process. EOS responds with one of the following outcomes: * Apply Exemption * Continue * Force Secure * Block * If Apply Exemption is returned, the 3DS Server will process the authentication with the Issuer and include the request for the TRA exemption. * Next, the Issuer analyzes the transaction and determines if the TRA exemption can be applied. The Issuer responds with one of the following outcomes: * Accepts the TRA exemption request; the authentication is frictionless * Declines the TRA exemption request but determines that another exemption can be applied; the authentication is frictionless * Declines the TRA exemption request and determines that no other exemption can be applied; the authentication requires a challenge ### Authentication message #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_79c5a132-e32b-466a-97f0-ceb9851e2374/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer 29rMFjGRYiyBsPffaerIg6fuT9Lk' \ --header 'Content-Type: application/json' \ --data '{ "three_ds": { "message_version":"2.2", "source": "BROWSER" }, "account_id": "TRA_27c901760029495f813afbb0dab197ef", "channel": "CNP", "country": "IE", "method_url_completion_status": "YES", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4012001038488884", "expiry_month": "09", "expiry_year": "22" } }, "order": { "time_created_reference": "2019-04-26T10:19:32.552327Z", "amount": "1001", "currency": "EUR", "reference": "3400dd37-101d-4940-be15-3c963b6109b3", "address_match_indicator": "false", "shipping_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" } }, "payer": { "billing_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" }, "mobile_phone": { "country_code": "44", "subscriber_number": "123456789" } }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "color_depth": "TWENTY_FOUR_BITS", "ip": "123.123.123.123", "java_enabled": "true", "javascript_enabled": "true", "language": "en-US", "screen_height": "1080", "screen_width": "1920", "challenge_window_size": "FULL_SCREEN", "timezone": "0", "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }, "merchant_contact_url": "https://www.example.com/about" }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setCountry("IEGB"); config.setChallengeNotificationUrl("https://www.example.com/ChallengeNotificationUrl"); config.setMethodNotificationUrl("https://www.example.com/MethodUrl"); config.setMerchantContactUrl("https://www.example.com/AboutUrl"); config.setEnableLogging(true); ServicesContainer.configureService(config); // Create card data CreditCardData card = new CreditCardData(); card.setNumber("4012001038488884"; card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCardHolderName("John Smith"); // Shipping address Address shippingAddress = new Address(); shippingAddress.setStreetAddress1("Apartment 852"); shippingAddress.setStreetAddress2("Complex 741"); shippingAddress.setStreetAddress3("no"); shippingAddress.setCity("Chicago"); shippingAddress.setPostalCode("50001"); shippingAddress.setState("IL"); shippingAddress.setCountryCode("840"); // Billing address Address billingAddress = new Address(); billingAddress.setStreetAddress1("Apartment 852"); billingAddress.setStreetAddress2("Complex 741"); billingAddress.setStreetAddress3("no"); billingAddress.setCity("Chicago"); billingAddress.setPostalCode("50001"); billingAddress.setState("IL"); billingAddress.setCountryCode("840"); // Browser data BrowserData browserData = new BrowserData(); browserData.setAcceptHeader("text/html,application/xhtml+xml,application/xml;q=9,image/webp,img/apng,*/*;q=0.8"); browserData.setColorDepth(ColorDepth.TwentyFourBit); browserData.setIpAddress("123.123.123.123"); browserData.setJavaEnabled(true); browserData.setLanguage("en"); browserData.setScreenHeight(1080); browserData.setScreenWidth(1920); browserData.setChallengeWindowSize(ChallengeWindowSize.Windowed_600x400); browserData.setTimezone("0"); browserData.setUserAgent("Mozilla/5.0 (Windows NT 6.1; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"); try { String orderID = UUID.randomUUID().toString();; ThreeDSecure secureEcom = new ThreeDSecure(); secureEcom.setServerTransactionId("AUT_eb5dce75-99fa-4258-9ab0-69b6377ad935"); ThreeDSecure response = Secure3dService .initiateAuthentication(card, secureEcom) .withAmount(new BigDecimal(10.01)) .withCurrency("EUR") .withAuthenticationSource(AuthenticationSource.Browser) .withMethodUrlCompletion(MethodUrlCompletion.Yes) .withAddressMatchIndicator(false) .withReferenceNumber(orderID) .withOrderCreateDate(DateTime.now()) .withAddress(shippingAddress, AddressType.Shipping) .withAddress(billingAddress, AddressType.Billing) .withMobileNumber("44", "123456789") .withBrowserData(browserData) .execute(); } catch (GatewayException ex) { // TODO: Add your exception handling here } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Country = "IE"; config.ChallengeNotificationUrl = "https://www.example.com/ChallengeNotificationUrl"; config.MethodNotificationUrl = "https://www.example.com/MethodUrl"; config.MerchantContactUrl = "https://www.example.com/AboutUrl"; config.RequestLogger = new RequestConsoleLogger(); config.EnableLogging = true; ServicesContainer.ConfigureService(config); // Create card data CreditCardData card = new CreditCardData(); card.Number = "4012001038488884"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.CardHolderName = "John Smith"; // Shipping address Address shippingAddress = new Address(); shippingAddress.StreetAddress1 = "Apartment 852"; shippingAddress.StreetAddress2 = "Complex 741"; shippingAddress.StreetAddress3 = "no"; shippingAddress.City = "Chicago"; shippingAddress.PostalCode = "50001"; shippingAddress.State = "IL"; shippingAddress.CountryCode = "840"; // Billing address Address billingAddress = new Address(); billingAddress.StreetAddress1 = "Apartment 852"; billingAddress.StreetAddress2 = "Complex 741"; billingAddress.StreetAddress3 = "no"; billingAddress.City = "Chicago"; billingAddress.PostalCode = "50001"; billingAddress.State = "IL"; billingAddress.CountryCode = "840"; // Browser data BrowserData browserData = new BrowserData(); browserData.AcceptHeader = "text/html,application/xhtml+xml,application/xml;q=9,image/webp,img/apng,*/*;q=0.8"; browserData.ColorDepth = ColorDepth.TWENTY_FOUR_BITS; browserData.IpAddress = "123.123.123.123"; browserData.JavaEnabled = true; browserData.Language = "en"; browserData.ScreenHeight = 1080; browserData.ScreenWidth = 1920; browserData.ChallengeWindowSize = ChallengeWindowSize.WINDOWED_600X400; browserData.Timezone = "0"; browserData.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"; try { var orderID = Guid.NewGuid().ToString(); ThreeDSecure secureEcom = new ThreeDSecure(); secureEcom.ServerTransactionId = "AUT_eb5dce75-99fa-4258-9ab0-69b6377ad935"; var response = Secure3dService.InitiateAuthentication(card, secureEcom) .WithAmount(10.01m) .WithCurrency("EUR") .WithAuthenticationSource(AuthenticationSource.BROWSER) .WithMethodUrlCompletion(MethodUrlCompletion.YES) .WithAddressMatchIndicator(false) .WithReferenceNumber(orderID) .WithOrderCreateDate(DateTime.Now) .WithAddress(shippingAddress, AddressType.Shipping) .WithAddress(billingAddress, AddressType.Billing) .WithMobileNumber("44", "123456789") .WithBrowserData(browserData) .Execute(); } catch (GatewayException ex) { // TODO: Add your exception handling here } ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->country = 'IE'; $config->channel = Channel::CardNotPresent; $config->challengeNotificationUrl = 'https://ensi808o85za.x.pipedream.net/'; $config->methodNotificationUrl = 'https://ensi808o85za.x.pipedream.net/'; $config->merchantContactUrl = 'https://enp4qhvjseljg.x.pipedream.net/'; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = '4012001038488884'; $card->expMonth = '09'; $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = "James Mason"; $shippingAddress = new Address(); $shippingAddress->streetAddress1 = "Apartment 852"; $shippingAddress->streetAddress2 = "Complex 741"; $shippingAddress->streetAddress3 = "House 963"; $shippingAddress->city = "Chicago"; $shippingAddress->postalCode = "50001"; $shippingAddress->state = 'IL'; $shippingAddress->countryCode = "840"; $billingAddress = new Address(); $billingAddress->streetAddress1 = "Apartment 852"; $billingAddress->streetAddress2 = "Complex 741"; $billingAddress->streetAddress3 = "House 963"; $billingAddress->city = "Chicago"; $billingAddress->state = "IL"; $billingAddress->postalCode = "50001"; $billingAddress->countryCode = "840"; $browserData = new BrowserData(); $browserData->acceptHeader = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'; $browserData->colorDepth = ColorDepth::TWENTY_FOUR_BITS;; $browserData->ipAddress = '123.123.123.123'; $browserData->javaEnabled = true; $browserData->javaScriptEnabled = true; $browserData->language = "en-US"; $browserData->screenHeight = 1080; $browserData->screenWidth = 1920; $browserData->challengWindowSize = ChallengeWindowSize::FULL_SCREEN; $browserData->timeZone = "0"; $browserData->userAgent = "Mozilla/5.0 (Windows NT 6.1; Win64, x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"; $orderId = GenerationUtils::generateOrderId(); $threeDS = new ThreeDSecure(); $threeDS->serverTransactionId = 'AUT_eb5dce75-99fa-4258-9ab0-69b6377ad935'; $response = Secure3dService::initiateAuthentication($card, $threeDS) ->withAmount('10.01') ->withCurrency('EUR') ->withAuthenticationSource(AuthenticationSource::BROWSER) ->withMethodUrlCompletion(MethodUrlCompletion::YES) ->withAddressMatchIndicator(false) ->withReferenceNumber($orderId) ->withOrderCreateDate(date('Y-m-d H:i:s')) ->withAddress($shippingAddress, AddressType::SHIPPING) ->withAddress($billingAddress, AddressType::BILLING) ->withMobileNumber('44', '123456789') ->withBrowserData($browserData) ->execute(); ``` #### Sample response ```json { "id": "AUT_79c5a132-e32b-466a-97f0-ceb9851e2374", "time_created": "2024-11-28T11:51:17.562Z", "time_last_updated": "2024-11-28T11:50:55.803Z", "transaction_type": "SALE", "status": "CHALLENGE_REQUIRED", "channel": "CNP", "amount": "1999", "currency": "GBP", "country": "IE", "source": "BROWSER", "three_ds": { "server_trans_ref": "79c5a132-e32b-466a-97f0-ceb9851e2374", "acs_trans_ref": "13a7a360-ad7f-41ef-8f90-24187489cd8a", "acs_reference_number": "3DS_LOA_ACS_INTE_020200_00293", "ds_trans_ref": "444a15b7-aa2a-4501-b157-33efad74df4e", "eci": "", "liability_shift": "", "status": "CHALLENGE_REQUIRED", "status_reason": "", "authentication_source": "BROWSER", "message_version":"2.2", "authentication_value": "", "cardholder_response_info": "", "message_category": "PAYMENT_AUTHENTICATION", "redirect_url": "https://acs2p.test.gpe.cz/tds/challenge/brw/13a7a360-ad7f-41ef-8f90-24187489cd8a", "acs_challenge_request_url": "https://acs2p.test.gpe.cz/tds/challenge/brw/13a7a360-ad7f-41ef-8f90-24187489cd8a", "challenge_status": "MANDATED", "challenge_model": "OUT_OF_BAND_CHALLENGE", "session_data_field_name": "threeDSSessionData", "message_type": "creq", "challenge_value": "ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcSIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjIuMCIsCiAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICI3OWM1YTEzMi1lMzJiLTQ2NmEtOTdmMC1jZWI5ODUxZTIzNzQiLAogICJhY3NUcmFuc0lEIiA6ICIxM2E3YTM2MC1hZDdmLTQxZWYtOGY5MC0yNDE4NzQ4OWNkOGEiLAogICJjaGFsbGVuZ2VXaW5kb3dTaXplIiA6ICIwNSIKfQ" }, "notifications": { "challenge_return_url": "https://www.example.com/ChallengeNotification" }, "action": { "id": "ACT_BjXCBMGXIg9hs9fm4KIeMj71TxnqHk", "type": "INITIATE", "time_created": "2024-11-28T11:51:17.562Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "my_sandbox_app" } } ``` ### TRA outcomes The following table describes the various outcomes and actions that can occur based on the EOS response. | Outcome | Description | 3DS Server Action | | -------- | ------- | ------- | | Apply Exemption | Transaction was approved for the TRA exemption. | Includes the appropriate exemption request flag in the authentication message to the Issuer. | | Continue | Transaction was not approved for an exemption but was deemed to be relatively low risk. | Proceeds with standard 3D Secure authentication. In this scenario, the Issuer can still choose to apply the exemption. | | Force Secure | Transaction was not approved for an exemption and was deemed to be high risk. In this scenario, the Issuer should always apply a Strong Customer Authentication (SCA) challenge to authenticate the cardholder. | Proceeds with 3D Secure authentication. Includes the Challenge Mandated flag in the message to the Issuer. | | Block | Transaction was identified as very high risk or known fraud. | Does not proceed with 3D Secure authentication. | ### Authorization message Once the exemption is accepted by the Issuer, you can proceed to authorization. In our example, we include the authentication data in the message, along with the relevant exemption. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer vJCIFsAMxW9PgVBKz91MoOSMvw9p' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "25576071", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" }, "authentication": { "id": "AUT_1ab42d76-5f0e-4d4b-b3bc-72de7071d61d", "three_ds": { "message_version":"2.2", "exempt_status": "TRANSACTION_RISK_ANALYSIS" } } } }' ``` #### Sample response ```json { "id": "TRN_p2fjfkU3mfWrRoQvSd6Omskep5SWxY_25576071", "time_created": "2022-05-06T17:08:33.816Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "25576071", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "ND6ZF7rk03RaqrIJ", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1086726", "action": { "id": "ACT_p2fjfkU3mfWrRoQvSd6Omskep5SWxY", "type": "AUTHORIZE", "time_created": "2022-05-06T17:08:33.816Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Sandbox testing In the Production environment, the TRA outcome is determined by the overall analysis of the provided transaction data. However, for Sandbox testing, you can trigger an outcome by setting the transaction amount value within a specific range, as indicated in the following table. ### TRA outcomes The following table describes the various outcomes and actions that can occur based on the EOS response. | Outcome | Amount Trigger EUR (or converted equivalent) | 3DS Server Action | | -------- | ------- | ------- | | Apply Exemption | amount \<= 250 | Populates the outbound authentication message with the appropriate exemption flag. | | Continue | 250 \< amount \<= 500 | Processes the 3D Secure authentication as normal. | | Force Secure | 500 \< amount \<= 750 | Populates the outbound authentication message indicating that a challenge is mandated. This will always force a challenge to be applied, regardless of the test card used. | | Block | 750 \< amount | Blocks the transaction and returns the appropriate response. | > In Sandbox, the Access Control Server simulator does not accept the exemption request and processes the authentication as standard. The Electronic Commerce Indicator and Transaction Status values will remain as described in our [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) article. ## Authorization only In this example, we call the EOS directly to perform TRA and request the associated exemption from the Issuer in the authorization message. This triggers the following actions: * The EOS responds with one of the following outcomes: * Apply Exemption * Continue * Force * Block * If Apply Exemption is returned, you can proceed directly to authorization and include the exemption request in the message. * The Issuer analyzes the transaction and determines if the TRA exemption can be applied. The Issuer responds with one of the following outcomes: * Accepts the TRA exemption request; the authorization continues as normal * Declines the TRA exemption request but determines that another exemption can be applied; the authorization continues as normal * Declines the TRA exemption request and determines that no other exemption can be applied; SCA is required, and a Soft Decline message is returned ### Exemption request message #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/risk-assessments' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TrAtA2UcxiCOj097b5d1P4rj1BKx' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "source": "BROWSER", "account_id": "RAA_577f0b7a91ba4dd8b8c0178eee5a973f", "country": "IE", "order": { "amount": 100, "currency": "EUR", "reference": "8525aa58-e47b-4d04-88a2-4d589b2c78c1" }, "payment_method": { "name": "James Mason", "card": { "brand": "VISA", "number": "4012001038488884", "expiry_month": "12", "expiry_year": "25" } }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "language": "en-US", "ip": "123.123.123.123" } }' ``` #### Sample response ```json { "id":"RAS_Wrr413lAtzVWmuS5W3LcIX72cQDyVn", "time_created":"2022-04-11T09:22:40.850Z", "status":"ACCEPTED", "amount":"100", "currency":"EUR", "merchant_id":"MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name":"Sandbox_merchant_2", "account_id":"RAA_577f0b7a91ba4dd8b8c0178eee5a973f", "account_name":"exemptions", "reference":"8525aa58-e47b-4d04-88a2-4d589b2c78c1", "result":"Apply Exemption", "message":"Apply Exemption", "payment_method":{ "card":{ "masked_number_last4":"XXXXXXXXXXXX8884", "brand":"VISA", "bin":"", "bin_country":"", "account_type":"", "issuer":"" } }, "raw_response":{ "platform":"EOS", "data":{ "action_applied":"APPLY_EXEMPTION", "transaction_id":"3400dd37-101d-4940-be15-3c963b6109b3", "request_id":"dab03eb5-a34a-431f-89c3-a2c45fba530b", "matched_rule":{ "id":42831, "title":"Apply Exemption", "action_applied":"APPLY_EXEMPTION" } } }, "action":{ "id":"ACT_Wrr413lAtzVWmuS5W3LcIX72cQDyVn", "type":"ASSESS", "time_created":"2022-04-11T09:22:40.850Z", "result_code":"SUCCESS", "app_id":"U1lRHKomEn7DN907RCDPxVhyMfiMLcfy", "app_name":"dev_portal_demo" } } ``` ### TRA outcomes The following table describes the various outcomes and actions that can occur based on the EOS response. It also includes our recommended actions. | Outcome | Description | Recommended Action | | -------- | ------- | ------- | | Apply Exemption | Transaction was approved for the TRA exemption. | Include the appropriate exemption request flag in the authorization message. | | Continue | Transaction was not approved for an exemption but was deemed to be relatively low risk. | Proceed with a standard 3D Secure authentication with the 3DS Server. | | Force Secure | Transaction was not approved for an exemption and was deemed to be high risk. In this scenario, the Issuer should always apply a SCA challenge to authenticate the cardholder. | Proceeds with 3D Secure authentication. Include the Challenge Mandated flag in the message to the 3DS Server. For more information, see our [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) documentation. | | Block | The transaction was identified as very high risk or known fraud. | Halt the transaction and take appropriate action. | ### Authorization message In this example, EOS returned Apply Exemption, so we proceed directly to authorization and bypass 3D Secure authentication. As noted earlier, requesting the exemption in both the authentication and authorization messages is best practice; however, there may be specific use cases that call for authorization only. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer vJCIFsAMxW9PgVBKz91MoOSMvw9p' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "25576071", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" }, "authentication": { "three_ds": { "message_version":"2.2", "exempt_status": "TRANSACTION_RISK_ANALYSIS" } } } }' ``` #### Sample response ```json { "id": "TRN_p2fjfkU3mfWrRoQvSd6Omskep5SWxY_25576071", "time_created": "2022-05-06T17:08:33.816Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "25576071", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "ND6ZF7rk03RaqrIJ", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1086726", "action": { "id": "ACT_p2fjfkU3mfWrRoQvSd6Omskep5SWxY", "type": "AUTHORIZE", "time_created": "2022-05-06T17:08:33.816Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Soft decline ### What is a soft decline? A soft decline is a response we get when a customers issuing bank are not willing to provide an SCA exemption to the transaction you're processing. By requesting an exemption in the authorization only, the Issuer might reject the exemption request and respond with what’s known as a *soft decline*: result code **111**. If you receive a soft decline, you can then proceed with standard 3D Secure authentication and a second authorization. > The examples used in this guide involve one authentication message and two authorization messages. In using this logic, you might incur additional transaction fees. For more information, contact your account manager. #### Sample response ```json { "id": "TRN_aUZq8cKq57ur5RyiI9PQwQJheFxVXI_58657811", "time_created": "2022-05-09T12:58:04.224Z", "type": "SALE", "status": "DECLINED", "channel": "CNP", "capture_mode": "LATER", "amount": "", "currency": "", "country": "US", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "58657811", "payment_method": { "result": "111", "message": "[ test system ] Strong Customer Authentication Required", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX0091", "authcode": "", "brand_reference": "cl3De8e1TAQzttFT", "brand_time_created": "", "cvv_result": "NOT_MATCHED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "111", "cvv_result": "N", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "", "action": { "id": "ACT_aUZq8cKq57ur5RyiI9PQwQJheFxVXI", "type": "PREAUTHORIZE", "time_created": "2022-05-09T12:58:04.224Z", "result_code": "DECLINED", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Low-Value Transactions Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/exemptions/low-value-transactions.md # Low-Value Transactions This guide focuses on how to request an exemption for a low-value transaction in the authorization. ## Exemption criteria Transactions up to 30 EUR (or converted equivalent) can be exempted from Strong Customer Authentication (SCA), dependent on the following criteria: * Up to a maximum of five (5) consecutive transactions * OR, up to a cumulative limit of 100 EUR (or converted equivalent) ## Authorization message The low-value transaction exemption can only be requested in the Payment Authorization message. If the Issuer accepts the exemption request, the transaction will proceed as normal and will be successful or declined based on standard criteria (sufficient funds, correct security code entered, and so on). If the exemption request is not accepted, the Issuer might respond with a soft decline (see [Soft decline](#soft-decline) section). #### Sample request ```JSON curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer vJCIFsAMxW9PgVBKz91MoOSMvw9p' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "25576071", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" }, "authentication": { "three_ds":{ "exempt_status": "LOW_VALUE" } } } }' ``` #### Sample response ```JSON { "id": "TRN_p2fjfkU3mfWrRoQvSd6Omskep5SWxY_25576071", "time_created": "2022-05-06T17:08:33.816Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "25576071", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "ND6ZF7rk03RaqrIJ", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1086726", "action": { "id": "ACT_p2fjfkU3mfWrRoQvSd6Omskep5SWxY", "type": "AUTHORIZE", "time_created": "2022-05-06T17:08:33.816Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Soft decline ### What is a soft decline? A soft decline is a response we get when a customers issuing bank are not willing to provide an SCA exemption to the transaction you're processing. By requesting a low-value exemption in the authorization message, the Issuer might reject the exemption request and respond with what’s known as a *soft decline*: result code **111**. If you receive a soft decline, you can then proceed with standard 3D Secure authentication and a second authorization. For more information on authentications, see our [3D Secure 2](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) documentation. ## Trusted Beneficiary Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/exemptions/trusted-beneficiary.md # Trusted Beneficiary Customers can add a merchant to a list of “trusted beneficiaries” held by the Issuer. Subsequent payments to trusted merchants can then be exempted from Strong Customer Authentication (SCA). In this article, we cover two high-level use cases: **Use Case 1: The merchant is not on the customer’s trusted list** * 3D Secure 2 authentication with the Prompt For Trusted List flag * Customer adds the merchant to their list * Authorization with Trusted Merchant exemption flag **Use Case 2: The merchant is already on the customer’s trusted list** * Request the exemption in the Authentication and Authorization messages * Request the exemption in the Authorization message only ## Add to trusted merchant list In this example, the customer has not previously added the merchant to their trusted list. In order to request them to do so, we process a 3D Secure 2 authentication with the Prompt For Trusted List flag enabled. ### Authentication message #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_bd7160df-58ee-4b39-9193-514ebfc9cdbb/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer TrAtA2UcxiCOj097b5d1P4rj1BKx' \ --header 'Content-Type: application/json' \ --data-raw '{ "three_ds": { "source": "BROWSER", "preference": "CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST" }, "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "country": "IE", "method_url_completion_status": "YES", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" } }, "order": { "time_created_reference": "2019-04-26T10:19:32.552327Z", "amount": "1001", "currency": "EUR", "reference": "3400dd37-101d-4940-be15-3c963b6109b3", "address_match_indicator": "false", "shipping_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" } }, "payer": { "billing_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" }, "mobile_phone": { "country_code": "44", "subscriber_number": "123456789" } }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "color_depth": "TWENTY_FOUR_BITS", "ip": "123.123.123.123", "java_enabled": "true", "javascript_enabled": "true", "language": "en-US", "screen_height": "1080", "screen_width": "1920", "challenge_window_size": "FULL_SCREEN", "timezone": "0", "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }, "merchant_contact_url": "https://www.example.com/about" }' ``` #### Sample response ```json { "id": "AUT_d0614650-3453-491b-8f03-c0db6b2b1beb", "time_created": "2022-05-06T16:48:26.202Z", "time_last_updated": "2022-05-06T16:48:22.147Z", "transaction_type": "SALE", "status": "SUCCESS_AUTHENTICATED", "channel": "CNP", "amount": "100", "currency": "EUR", "country": "IE", "source": "BROWSER", "three_ds": { "server_trans_ref": "d0614650-3453-491b-8f03-c0db6b2b1beb", "acs_trans_ref": "59485280-cd5c-41ec-8be7-28ab04e64b15", "acs_reference_number": "3DS_LOA_ACS_INTE_020200_00293", "ds_trans_ref": "97aef3fd-2818-4f1d-964d-f3c558857972", "eci": "05", "liability_shift": "YES", "status": "AUTHENTICATION_SUCCESSFUL", "status_reason": "", "authentication_source": "BROWSER", "message_version": "2.1.0", "authentication_value": "AJkBAYKIUwAAAAPpl4EmdAAAAAA=", "cardholder_response_info": "", "message_category": "PAYMENT_AUTHENTICATION", "redirect_url": "", "acs_challenge_request_url": "", "challenge_status": "", "challenge_model": "", "session_data_field_name": "threeDSSessionData", "message_type": "creq", "challenge_value": "" }, "notifications": { "challenge_return_url": "https://www.example.com/challengeReturnUrl" }, "action": { "id": "ACT_r4P5qFmvJPdC8D70zbx3rzG2hjJjt1", "type": "INITIATE", "time_created": "2022-05-06T16:48:26.202Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ### Authorization message Now that the merchant is added to the customer’s trusted merchants list, we can proceed to authorization. We include the authentication data in the message, along with the relevant exemption. #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TrAtA2UcxiCOj097b5d1P4rj1BKx' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "8dc288e2-607b-41f4-99b7-a2f43fbba740", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" }, "authentication": { "id": "AUT_f3425c1a-4a92-46f3-80ca-ce30f3180e69", "three_ds": { "exempt_status": "TRUSTED_MERCHANT" } } } }' ``` #### Sample response ```json { "id": "TRN_wJDkGS1HydsCoGXq7Y1CqcRIAP5dKj_a2f43fbba740", "time_created": "2022-05-09T17:07:59.104Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "8dc288e2-607b-41f4-99b7-a2f43fbba740", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "Ms1FC3QU53XvoWF4", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1087449", "action": { "id": "ACT_wJDkGS1HydsCoGXq7Y1CqcRIAP5dKj", "type": "AUTHORIZE", "time_created": "2022-05-09T17:07:59.104Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Existing trusted merchant In this example, we assume that the merchant was already added to the customer’s trusted list. The next time the customer transacts, the merchant can request the Trusted Beneficiary exemption. As with the Transaction Risk Analysis (TRA) exemption, this can be requested either in the authentication and payment authorization message, or in the authorization message only. Similarly to TRA, requesting the exemption in the authorization message only could mean bypassing 3D Secure authentication altogether; however, the risk is that the Issuer declines the exemption request (that is, soft decline). This forces you to process a 3D Secure 2 authentication and another authorization. In this article, we cover both use cases. ### Authentication and Authorization messages In this example, we request the exemption in the 3D Secure 2 authentication message. If the Issuer declines the exemption, they may apply another exemption (for example, low value) or respond with a challenge for the customer to complete. ### Authentication message #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_65c32dda-80c6-4368-b1d2-cdd9fff6f230/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer TrAtA2UcxiCOj097b5d1P4rj1BKx' \ --header 'Content-Type: application/json' \ --data-raw '{ "three_ds": { "source": "BROWSER", "preference": "NO_CHALLENGE_REQUESTED_WHITELIST" }, "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "country": "IE", "method_url_completion_status": "YES", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" } }, "order": { "time_created_reference": "2019-04-26T10:19:32.552327Z", "amount": "1001", "currency": "EUR", "reference": "ce0a8cd8-d2ae-42cf-a5ba-c9703e19bab7", "address_match_indicator": "false", "shipping_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" } }, "payer": { "billing_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" }, "mobile_phone": { "country_code": "44", "subscriber_number": "123456789" } }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "color_depth": "TWENTY_FOUR_BITS", "ip": "123.123.123.123", "java_enabled": "true", "javascript_enabled": "true", "language": "en-US", "screen_height": "1080", "screen_width": "1920", "challenge_window_size": "FULL_SCREEN", "timezone": "0", "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }, "merchant_contact_url": "https://www.example.com/about" }' ``` #### Sample response ```json { "id": "AUT_d0614650-3453-491b-8f03-c0db6b2b1beb", "time_created": "2022-05-06T16:48:26.202Z", "time_last_updated": "2022-05-06T16:48:22.147Z", "transaction_type": "SALE", "status": "SUCCESS_AUTHENTICATED", "channel": "CNP", "amount": "100", "currency": "EUR", "country": "IE", "source": "BROWSER", "three_ds": { "server_trans_ref": "d0614650-3453-491b-8f03-c0db6b2b1beb", "acs_trans_ref": "59485280-cd5c-41ec-8be7-28ab04e64b15", "acs_reference_number": "3DS_LOA_ACS_INTE_020200_00293", "ds_trans_ref": "97aef3fd-2818-4f1d-964d-f3c558857972", "eci": "07", "liability_shift": "NO", "status": "AUTHENTICATION_SUCCESSFUL", "status_reason": "", "authentication_source": "BROWSER", "message_version": "2.1.0", "authentication_value": "AJkBAYKIUwAAAAPpl4EmdAAAAAA=", "cardholder_response_info": "", "message_category": "PAYMENT_AUTHENTICATION", "redirect_url": "", "acs_challenge_request_url": "", "challenge_status": "", "challenge_model": "", "session_data_field_name": "threeDSSessionData", "message_type": "creq", "challenge_value": "" }, "notifications": { "challenge_return_url": "https://www.example.com/challengeReturnUrl" }, "action": { "id": "ACT_r4P5qFmvJPdC8D70zbx3rzG2hjJjt1", "type": "INITIATE", "time_created": "2022-05-06T16:48:26.202Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "sean_sandbox_app" } } ``` ### Authorization message #### Sample request ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TrAtA2UcxiCOj097b5d1P4rj1BKx' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "8dc288e2-607b-41f4-99b7-a2f43fbba740", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" }, "authentication": { "id": "AUT_f3425c1a-4a92-46f3-80ca-ce30f3180e69", "three_ds": { "exempt_status": "TRUSTED_MERCHANT" } } } }' ``` #### Sample response ```json { "id": "TRN_wJDkGS1HydsCoGXq7Y1CqcRIAP5dKj_a2f43fbba740", "time_created": "2022-05-09T17:07:59.104Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "8dc288e2-607b-41f4-99b7-a2f43fbba740", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "Ms1FC3QU53XvoWF4", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1087449", "action": { "id": "ACT_wJDkGS1HydsCoGXq7Y1CqcRIAP5dKj", "type": "AUTHORIZE", "time_created": "2022-05-09T17:07:59.104Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Authorization only In this example, we proceed straight to authorization and request the exemption. We do not process a 3D Secure 2 authentication. > Note: Here, you will use the AUT_ID of the original authentication for the merchant added to your trusted merchant list. ### Authorization message #### Sample request ```json --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TrAtA2UcxiCOj097b5d1P4rj1BKx' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "type": "SALE", "amount": "100", "currency": "EUR", "reference": "8dc288e2-607b-41f4-99b7-a2f43fbba740", "country": "IE", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22" }, "authentication": { "id": "AUT_f3425c1a-4a92-46f3-80ca-ce30f3180e69", "three_ds": { "exempt_status": "TRUSTED_MERCHANT" } } } }' ``` #### Sample response ```json { "id": "TRN_wJDkGS1HydsCoGXq7Y1CqcRIAP5dKj_a2f43fbba740", "time_created": "2022-05-09T17:07:59.104Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "country": "IE", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "8dc288e2-607b-41f4-99b7-a2f43fbba740", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "authentication": { "cavv_result": "" }, "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "Ms1FC3QU53XvoWF4", "brand_time_created": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "batch_id": "BAT_1087449", "action": { "id": "ACT_wJDkGS1HydsCoGXq7Y1CqcRIAP5dKj", "type": "AUTHORIZE", "time_created": "2022-05-09T17:07:59.104Z", "result_code": "SUCCESS", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Soft decline ### What is a soft decline? A soft decline is a response we get when a customers issuing bank are not willing to provide an SCA exemption to the transaction you're processing. By requesting the Trusted Beneficiary exemption directly in the authorization message, the Issuer could reject the exemption request and respond with what’s known as a *soft decline*: result code **111**. If you receive a soft decline, you can then proceed with standard 3D Secure authentication and a second authorization. For more information on authentications, see our [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) documentation. > The examples used in this guide involve one authentication message and two authorization messages. In using this logic, you might incur additional transaction fees. For more information, contact your account manager. #### Sample response ```json { "id": "TRN_aUZq8cKq57ur5RyiI9PQwQJheFxVXI_58657811", "time_created": "2022-05-09T12:58:04.224Z", "type": "SALE", "status": "DECLINED", "channel": "CNP", "capture_mode": "LATER", "amount": "", "currency": "", "country": "US", "merchant_id": "MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name": "Test Merchant", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name": "internet", "reference": "58657811", "payment_method": { "result": "111", "message": "[ test system ] Strong Customer Authentication Required", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX0091", "authcode": "", "brand_reference": "cl3De8e1TAQzttFT", "brand_time_created": "", "cvv_result": "NOT_MATCHED", "avs_address_result": "NOT_CHECKED", "avs_postal_code_result": "NOT_CHECKED", "avs_action": "", "provider": { "result": "111", "cvv_result": "N", "avs_address_result": "U", "avs_postal_code_result": "U" } } }, "batch_id": "", "action": { "id": "ACT_aUZq8cKq57ur5RyiI9PQwQJheFxVXI", "type": "PREAUTHORIZE", "time_created": "2022-05-09T12:58:04.224Z", "result_code": "DECLINED", "app_id": "a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name": "my_sandbox_app" } } ``` ## Overview Source: https://developer.globalpayments.com/docs/risk-management/3D-secure/3DS-more-overview.md # 3D Secure - Additional Guides ### [In-App Authentication](https://developer.globalpayments.com/docs/3DS-mobile-sdk) Learn to use our 3DS Mobile SDK Solution with Netcetera to authenticate customers within an app. ### [Out of Scope Transactions](https://developer.globalpayments.com/docs/out-scope-overview.md) Learn how to properly flag transactions that don’t require 3DS authentication or the use of an exemption. ### [Merchant-Initiated Authentication](https://developer.globalpayments.com/docs/3DS2-3RI.md) Learn to generate authentication data without the customer’s involvement in the transaction. ### [Decoupled Authentication](https://developer.globalpayments.com/docs/decoupled-auth.md) Verify and authenticate the customer's identity outside of their interaction with your app or website. ### [Message Extension](https://developer.globalpayments.com/docs/message-extension.md) Learn how to use this field to send customized information to the card issuer. ### [3DS Validation Table](https://developer.globalpayments.com/docs/3DS-validation.md) Useful troubleshooting table, including card numbers to validate your integration for 3D Secure. ## Overview Source: https://developer.globalpayments.com/docs/out-scope-overview.md # Out of Scope Transactions - Overview In addition to exemptions, PSD2 outlines a number of transaction types that are deemed *out of scope* for Strong Customer Authentication (SCA). This means that, when flagged correctly, these transactions will not require 3D Secure 2 authentication or the use of an exemption. ## Different types The following table summarizes the different out-of-scope transaction types. | Type | Description | | ---- | ----------- | | Merchant-Initiated Transaction (MIT) | Refers to a card payment made by a merchant without the customer being actively involved, as part of an agreement made during an initial customer-initiated transaction (CIT). MITs cover the following typical merchant use cases: **Recurring** - Transactions with a fixed amount but no fixed duration **Installments** - Transactions with a fixed amount and duration **Oneoff** - Unscheduled transactions with no fixed duration but with an agreed amount | | Mail Order / Telephone Order (MOTO) | Transactions processed over the phone such as speaking to a customer and entering their card details into a virtual terminal or the customer interacting with an Interactive Voice Response system. | | One-Leg Out | Transactions where one of the parties involved—either the merchant or the customer (specifically the card they are using)—is not domiciled or based in a country where PSD2 and SCA applies. | | Anonymous Transactions | Customers do not need to complete SCA when an anonymous payment method is used, for example, a gift card. | ## Next steps Check out the following guides to learn how to correctly set up and flag out-of-scope transactions. ### [Merchant-Initiated Transactions](https://developer.globalpayments.com/docs/MIT.md) Learn how to set up an MIT and avoid unnecessary payment friction. ### [Mail Order / Telephone Order (MOTO)](https://developer.globalpayments.com/docs/moto.md) Learn how to flag a MOTO transaction both with and without card storage. ## MOTO Source: https://developer.globalpayments.com/docs/moto.md # Mail Order / Telephone Order (MOTO) MOTO is the common term for over-the-phone transactions—for example, speaking to a customer and entering their card details into a virtual terminal or the customer interacting with an Interactive Voice Response system. When flagged correctly, MOTO transactions are deemed as out of scope for the Strong Customer Authentication (SCA) requirements under the Revised PSD2 in Europe and the United Kingdom. In this article, you'll learn how to correctly flag a standard MOTO transaction that takes place with the customer present, that is, a customer-initiated transaction (CIT). This transaction does not require 3D Secure 2 authentication. However, if the intent is to store the card to process further merchant-initiated transactions (MITs) via MOTO, you need to make sure to store the brand reference and include the right Credential on File (COF) flags. ## Standard MOTO transaction In this example, we simply process a one-off MOTO transaction without storing the card. As mentioned previously, the transaction does not require a 3D Secure authentication as long as it is flagged correctly as a MOTO payment (`entry_mode` = "MOTO"). ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setCountry("IE"); config.setChannel(Channel.CardNotPresent.getValue()); config.setEnableLogging(true); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCardHolderName("James Mason"); card.setCvn("852"); card.setEntryMethod(ManualEntryMethod.Moto); Address billingAddress = new Address(); billingAddress.setStreetAddress1("Apartment 852"); billingAddress.setStreetAddress2("Complex 741"); billingAddress.setStreetAddress3("House 963"); billingAddress.setCity("Chicago"); billingAddress.setState("IL"); billingAddress.setPostalCode("50001"); billingAddress.setCountryCode("840"); String orderId = UUID.randomUUID().toString(); Transaction response = card .charge(1) .withCurrency("EUR") .withClientTransactionId(orderId) .withAddress(billingAddress, AddressType.Billing) .execute(); String responseCode = response.getResponseCode(); //SUCCESS String transactionStatus = response.getResponseMessage(); //CAPTURE String transactionId = response.getTransactionId(); ```java ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->country = 'IE'; $config->channel = Channel::CardNotPresent; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = '4263970000005262'; $card->expMonth = '09'; $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = "James Mason"; $card->cvn = '852'; $card->entryMethod = ManualEntryMethod::MOTO; $billingAddress = new Address(); $billingAddress->streetAddress1 = "Apartment 852"; $billingAddress->streetAddress2 = "Complex 741"; $billingAddress->streetAddress3 = "House 963"; $billingAddress->city = "Chicago"; $billingAddress->state = "IL"; $billingAddress->postalCode = "50001"; $billingAddress->countryCode = "840"; $orderId = GenerationUtils::generateOrderId(); $response = $card->charge(1) ->withCurrency('EUR') ->withClientTransactionId($orderId) ->withAddress($billingAddress, AddressType::BILLING) ->execute(); $responseCode = $response->responseCode; //SUCCESS $transactionStatus = $response->responseMessage; //CAPTURE $transactionId = $response->transactionId; ```php ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Country = "IE"; config.Channel = Channel.CardNotPresent; config.RequestLogger = new RequestConsoleLogger(); ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.CardHolderName = "James Mason"; card.Cvn = "852"; card.EntryMethod = ManualEntryMethod.Moto; Address billingAddress = new Address(); billingAddress.StreetAddress1 = "Apartment 852"; billingAddress.StreetAddress2 = "Complex 741"; billingAddress.StreetAddress3 = "House 963"; billingAddress.City = "Chicago"; billingAddress.State = "IL"; billingAddress.PostalCode = "50001"; billingAddress.CountryCode = "840"; var orderId = Guid.NewGuid().ToString(); var response = card.Charge(1) .WithCurrency("EUR") .WithClientTransactionId(orderId) .WithAddress(billingAddress, AddressType.Billing) .Execute(); var responseCode = response.ResponseCode; //SUCCESS var transactionStatus = response.ResponseMessage; //CAPTURE var transactionId = response.TransactionId; ```dotnet ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer oaFwF4Y4KJADG1wfvO4x254F9NEh' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "type": "SALE", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "reference": "69143711", "country": "IE", "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "MOTO", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22", "cvv": "852", "avs_address": "Flat 123", "avs_postal_code": "50001" } } }' ```json ## CIT with COF In this example, we store the card for future transactions, regardless of whether they are customer-initiated or merchant-initiated. To do this, we include the COF data. We also need to store the brand reference that is returned in the response. For this step, you could also process a verification (Open-To-Buy, or OTB) instead of an authorization. ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setCountry("IE"); config.setChannel(Channel.CardNotPresent.getValue()); config.setEnableLogging(true); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setCardHolderName("James Mason"); card.setCvn("852"); card.setEntryMethod(ManualEntryMethod.Moto); Address billingAddress = new Address(); billingAddress.setStreetAddress1("Apartment 852"); billingAddress.setStreetAddress2("Complex 741"); billingAddress.setStreetAddress3("House 963"); billingAddress.setCity("Chicago"); billingAddress.setState("IL"); billingAddress.setPostalCode("50001"); billingAddress.setCountryCode("840"); String orderId = UUID.randomUUID().toString(); StoredCredential storeCredentials = new StoredCredential(); storeCredentials.setInitiator(StoredCredentialInitiator.CardHolder); storeCredentials.setType(StoredCredentialType.Unscheduled); storeCredentials.setSequence(StoredCredentialSequence.First); Transaction response = card .charge(1) .withCurrency("EUR") .withClientTransactionId(orderId) .withAddress(billingAddress, AddressType.Billing) .withStoredCredential(storeCredentials) .execute(); String responseCode = response.getResponseCode(); //SUCCESS String transactionStatus = response.getResponseMessage(); //CAPTURE String transactionId = response.getTransactionId(); ```java ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->country = 'IE'; $config->channel = Channel::CardNotPresent; ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = '4263970000005262'; $card->expMonth = '09'; $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = "James Mason"; $card->cvn = '852'; $card->entryMethod = ManualEntryMethod::MOTO; $billingAddress = new Address(); $billingAddress->streetAddress1 = "Apartment 852"; $billingAddress->streetAddress2 = "Complex 741"; $billingAddress->streetAddress3 = "House 963"; $billingAddress->city = "Chicago"; $billingAddress->state = "IL"; $billingAddress->postalCode = "50001"; $billingAddress->countryCode = "840"; $orderId = GenerationUtils::generateOrderId(); $storeCredentials = new StoredCredential(); $storeCredentials->initiator = StoredCredentialInitiator::PAYER; $storeCredentials->type = StoredCredentialType::UNSCHEDULED; $storeCredentials->sequence = StoredCredentialSequence::FIRST; $response = $card->charge(1) ->withCurrency('EUR') ->withClientTransactionId($orderId) ->withAddress($billingAddress, AddressType::BILLING) ->withStoredCredential($storeCredentials) ->execute(); $responseCode = $response->responseCode; //SUCCESS $transactionStatus = $response->responseMessage; //CAPTURE $transactionId = $response->transactionId; ```php ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Country = "IE"; config.Channel = Channel.CardNotPresent; config.RequestLogger = new RequestConsoleLogger(); ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.CardHolderName = "James Mason"; card.Cvn = "852"; card.EntryMethod = ManualEntryMethod.Moto; Address billingAddress = new Address(); billingAddress.StreetAddress1 = "Apartment 852"; billingAddress.StreetAddress2 = "Complex 741"; billingAddress.StreetAddress3 = "House 963"; billingAddress.City = "Chicago"; billingAddress.State = "IL"; billingAddress.PostalCode = "50001"; billingAddress.CountryCode = "840"; var orderId = Guid.NewGuid().ToString(); StoredCredential storeCredentials = new StoredCredential(); storeCredentials.Initiator = StoredCredentialInitiator.CardHolder; storeCredentials.Type = StoredCredentialType.Unscheduled; storeCredentials.Sequence = StoredCredentialSequence.First; var response = card.Charge(1) .WithCurrency("EUR") .WithClientTransactionId(orderId) .WithAddress(billingAddress, AddressType.Billing) .WithStoredCredential(storeCredentials) .Execute(); var responseCode = response.ResponseCode; //SUCCESS var transactionStatus = response.ResponseMessage; //CAPTURE var transactionId = response.TransactionId; ```dotnet ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer oaFwF4Y4KJADG1wfvO4x254F9NEh' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "type": "SALE", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "reference": "99476441", "country": "IE", "initiator": "PAYER", "stored_credential": { "model": "UNSCHEDULED", "sequence": "FIRST" }, "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "MOTO", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22", "cvv": "852", "avs_address": "Flat 123", "avs_postal_code": "50001" } } }' ```json ## Merchant-Initiated Transactions Source: https://developer.globalpayments.com/docs/MIT.md # Merchant-Initiated Transactions (MIT) In this guide, we use our Card Storage solution to set up an MIT that is out of scope for SCA. To adhere to scheme rules, we first perform a 3D Secure 2 payment authentication (with Challenge Flag set to Mandated), even though we're not charging the card before we store it. Next, we follow the standard practice for card storage, which includes performing a verification (open-to-buy, OTB) before storing the card. We then charge the stored card, performing an MIT. In each step, we include the correct COF data. For more information, see our [Credential on File](https://developer.globalpayments.com/docs/COF) article. ## MITs explained A merchant-initiated transaction (MIT) refers to a card payment made by a merchant without the customer being actively involved. This follows a transaction and an agreement made between the merchant and the customer in what is referred to as a customer-initiated transaction (CIT). When flagged correctly, MITs are deemed as out of scope for Strong Customer Authentication (SCA) requirements under the Revised PSD2 within Europe and the United Kingdom. This allows MITs to be processed without any further required customer authentication and the associated friction that comes with it. For an MIT to be considered out of scope for SCA: * The initial CIT must have undergone 3D Secure 2 payment authentication, using the Challenge Mandated flag. * All transactions must include the correct credential on file (COF) data. For more information, see our [Credential on File](https://developer.globalpayments.com/docs/COF) article. The following table describes the different types of MITs. | Type | Description | | ---- | ----------- | | Recurring | Transaction with a fixed amount but no fixed duration in which the merchant continues to process payments with the cardholder's credentials until the cardholder cancels (for example, a subscription or a gym membership). | | Installments | Transaction with a fixed amount and duration in which the merchant can't process the cardholder's credentials once this fixed period ends. Installments are paid at an agreed amount on the same day of each month (for example, paying for a kitchen appliance over 12 months interest free). | | Oneoff | Unscheduled transaction with no fixed duration but with an agreed amount (for example, a travel card "top up" if the credit falls below a certain limit). | ## Step 1: Payment authentication In this guide, we assume that you're already familiar with our 3D Secure 2 documentation and may have already integrated. In which case, you've already confirmed which version of 3D Secure the card supports and, conditionally, performed the Method URL step to allow the Issuer to gather data about the customer's device. The payment authentication confirms the customer's billing and shipping address and performs checks using their browser data. Because this authentication initiates an MIT transaction sequence, we need to indicate to the Issuer that a challenge is mandated. The following table lists the key data points to submit in the authentication message: | Field | Value | | ----- | ----- | | Message Category | Payment Authentication (Must always be this value, even if you're not charging the customer right away.) | | Preference | Challenge Mandated | ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_authentication_id/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer oaFwF4Y4KJADG1wfvO4x254F9NEh' \ --header 'Content-Type: application/json' \ --data-raw '{ "three_ds": { "source": "BROWSER", "preference": "CHALLENGE_MANDATED" }, "account_name": "transaction_processing", "channel": "CNP", "amount": "100", "currency": "EUR", "country": "IE", "method_url_completion_status": "YES", "payment_method": { "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "25" } }, "order": { "amount": "100", "currency": "EUR", "reference": "order_reference_123" }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "color_depth": "TWENTY_FOUR_BITS", "ip": "123.123.123.123", "java_enabled": "true", "javascript_enabled": "true", "language": "en-US", "screen_height": "1080", "screen_width": "1920", "challenge_window_size": "FULL_SCREEN", "timezone": "0", "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }, "merchant_contact_url": "https://example.com/about" }' ```json ## Step 2: Verify the card With a verification request, or OTB, you can check if a card is still valid and active without actually processing a payment against it. The outcome of the payment authentication tells us this as well. However, with the OTB, you can also check the security code and address before storing the card. In this request, we provide the COF data, including the type of agreement between the merchant and customer as well as the transaction sequence — FIRST. We also need to flag this as a CIT. By including all this data, you'll set up the card for future MITs. The verification will return a brand reference (also known as *Scheme Reference Data*, or *SRD*) in the response, which is also important for subsequent transactions. ```java GpApiConfig config = new GpApiConfig(); config.setAppId("app_id"); config.setAppKey("app_key"); config.setCountry("IE"); config.setChannel(Channel.CardNotPresent.getValue()); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(9); card.setExpYear(DateTime.now().getYear() + 1); card.setCardHolderName("James Mason"); card.setCvn("852"); Address billingAddress = new Address(); billingAddress.setStreetAddress1("Apartment 852"); billingAddress.setStreetAddress2("Complex 741"); billingAddress.setStreetAddress3("House 963"); billingAddress.setCity("Chicago"); billingAddress.setPostalCode("50001"); billingAddress.setState("IL"); billingAddress.setCountryCode("840"); String orderId = GenerationUtils.generateOrderId(); Transaction response = card.verify() .withCurrency("EUR") .withClientTransactionId(orderId) .withAddress(billingAddress, AddressType.Billing) .execute(); String cardBrandReference = response.getCardBrandTransactionId(); ```java ```php $config = new GpApiConfig(); $config->appId = 'app_id'; $config->appKey = 'app_key'; $config->country = 'IE'; $config->channel = Channel::CardNotPresent; ServicesContainer::configureService($config); $card = new CreditCardData(); $card->number = '4263970000005262'; $card->expMonth = '09'; $card->expYear = date('Y', strtotime('+1 year')); $card->cardHolderName = "James Mason"; $card->cvn = '852'; $billingAddress = new Address(); $billingAddress->streetAddress1 = "Apartment 852"; $billingAddress->streetAddress2 = "Complex 741"; $billingAddress->streetAddress3 = "House 963"; $billingAddress->city = "Chicago"; $billingAddress->state = "IL"; $billingAddress->postalCode = "50001"; $billingAddress->countryCode = "840"; $orderId = GenerationUtils::generateOrderId(); $response = $card->verify() ->withCurrency('EUR') ->withClientTransactionId($orderId) ->withAddress($billingAddress, AddressType::BILLING) ->execute(); $cardBrandReference = $response->cardBrandTransactionId; ```php ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = "app_id"; config.AppKey = "app_key"; config.Country = "IE"; config.Channel = Channel.CardNotPresent; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.CardHolderName = "James Mason"; card.Cvn = "852"; Address billingAddress = new Address(); billingAddress.StreetAddress1 = "Apartment 852"; billingAddress.StreetAddress2 = "Complex 741"; billingAddress.StreetAddress3 = "House 963"; billingAddress.City = "Chicago"; billingAddress.State = "IL"; billingAddress.PostalCode = "50001"; billingAddress.CountryCode = "840"; var orderId = Guid.NewGuid().ToString(); var response = card.Verify() .WithCurrency("EUR") .WithClientTransactionId(orderId) .WithAddress(billingAddress, AddressType.Billing) .Execute(); var cardBrandReference = response.CardBrandTransactionId; ```dotnet ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/verifications' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer oaFwF4Y4KJADG1wfvO4x254F9NEh' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "currency": "EUR", "reference": "1457974b-1f3f-40dd-8dd1-c6010a5aabbe", "country": "IE", "initiator": "PAYER", "stored_credential": { "model": "UNSCHEDULED", "sequence": "FIRST" }, "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22", "cvv": "852", "avs_address": "Flat 123", "avs_postal_code": "50001" } } }' ```json #### Sample response ```json { "id": "VER_A6lWC6mq1xXatd5H1WFVjN70TYZWoV", ... } ```json ## Step 3: Store the card Now that we've successfully processed a payment authentication and validated the card, we can store it for future transactions. Our Card Storage solution returns a Payment Method ID (or token), which you can store with the brand reference from [Step 2](#verify-the-card). ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/payment-methods' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer oaFwF4Y4KJADG1wfvO4x254F9NEh' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_id": "TKA_4d49f5d4e1b84ea4a28c8902a8538375", "reference": "card_reference_123", "usage_mode": "MULTIPLE", "payment_method": { "first_name": "James", "last_name": "Mason", "card": { "number": "4263970000005262", "expiry_month": "09", "expiry_year": "22", "cvv": "852" } } }' ```json ## Step 4: Charging the card Now that the card is stored, we can use the Payment Method ID (token) to process future merchant-initiated transactions. Include the stored credential COF data to indicate that this is an MIT. ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer oaFwF4Y4KJADG1wfvO4x254F9NEh' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "type": "SALE", "account_id": "TRA_4d49f5d4e1b84ea4a28c8902a8538375", "channel": "CNP", "capture_mode": "AUTO", "amount": "100", "currency": "EUR", "reference": "mit_charge_reference_123", "country": "IE", "initiator": "MERCHANT", "stored_credential": { "model": "UNSCHEDULED", "sequence": "SUBSEQUENT", "scheme_id": "[brand_reference_from_step2]" }, "payment_method": { "entry_mode": "ECOM", "id": "[payment_method_id_from_step3]" } }' ```json ## Merchant-Initiated Authentication (3RI) Source: https://developer.globalpayments.com/docs/3DS2-3RI.md # Merchant-Initiated Authentication (3RI) Version 2.2 of 3D Secure (3DS) introduced Requestor-Initiated (3RI) authentications, also known as *merchant-initiated authentications*. With 3RI authentications, merchants can generate the necessary authentication data for authorization without the customer being directly involved with the transaction. They also allow merchants to reference a previous authentication where the customer was involved. ## Use cases Some of the use cases for 3RI authentications include: * **Partial split shipment** — Where ordered products are not all available at the same time, and the merchant decides to ship and charge for them separately. * **Agent payment with multiple merchants** — This involves one authentication with the customer present and multiple authorizations for each merchant involved in the transaction. For example, a travel agent managing an order of both hotel and airline for different merchants. * **Unknown final amount before purchase** — Where the final amount is not known, for example, potential extra costs for a car rental like damages, missed return date, and so forth. * **Replacement (re-authorization) of a refunded purchase** — Where a merchant offers free refunds on items the customer does not want. If the returned items do not include everything purchased, the merchant has to charge the customer again. In this guide, we focus on a partial split shipment use case. We start with an authentication involving the customer for the full amount of the order. The first authorization is then submitted as fully authenticated for the amount of the first shipment. At this point, we are storing the card number to use for future authentications and authorizations. For more information on how to store a card, see our [Card Storage](https://developer.globalpayments.com/docs/card-storage#api) article. When the next item is to be shipped and charged for, the customer is not present, so we execute a 3DS 3RI authentication. The request must include the ACS Transaction Reference of the initial authentication regardless of whether it was a frictionless or challenge flow. The value must be submitted in the Prior 3DS Authentication Data object. Providing the data from the previous authentication will increase the chances that the Issuer will approve the transaction without requiring additional authentication. If this is required, Decoupled Authentication is used as a method to authenticate the customer. For more information, see our [Decoupled Authentication](https://developer.globalpayments.com/docs/decoupled-auth.md) article. ## Step 1: Authentication for full amount In our example, the full order amount is £100 for two items, one of which is in stock while the other is not. We start by processing a standard 3D Secure 2 authentication for the full amount. For more information on the Initiate Authentication request, see [Authentications](https://developer.globalpayments.com/api/authentications.md) in the API Explorer. ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_ee489a31-cdcc-4557-affa-231064f74ad0/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer ipxbZ3XpRFGNXPCIrjRsO3DO83Rj' \ --header 'Content-Type: application/json' \ --data-raw '{ "three_ds": { "source": "BROWSER", "preference": "NO_PREFERENCE" }, "account_name": "transaction_processing", "channel": "CNP", "amount": "10000", "currency": "GBP", "country": "GB", "method_url_completion_status": "YES", "payment_method": { "id": "PMT_86f240b6-3129-438f-8c84-94165aec515c" }, "order": { "time_created_reference": "2019-04-26T10:19:32.552327Z", "amount": "10000", "currency": "GBP", "reference": "3400dd37-101d-4940-be15-3c963b6109b3", "address_match_indicator": "false", "shipping_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" } }, "payer": { "mobile_phone": { "country_code": "44", "subscriber_number": "123456789" } }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "color_depth": "TWENTY_FOUR_BITS", "ip": "123.123.123.123", "java_enabled": "true", "javascript_enabled": "true", "language": "en-US", "screen_height": "1080", "screen_width": "1920", "challenge_window_size": "FULL_SCREEN", "timezone": "0", "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }, "merchant_contact_url": "https://example.com/about" }' ```json #### Sample response In the response, we note whether the authentication was frictionless or required a challenge since we will be passing this information in the Authentication Method field of the 3RI authentication. ```json { "id": "AUT_ee489a31-cdcc-4557-affa-231064f74ad0", "time_created": "2022-08-10T13:06:43.273Z", "time_last_updated": "2022-08-10T13:02:34.582Z", "transaction_type": "SALE", "status": "SUCCESS_AUTHENTICATED", "channel": "CNP", "amount": "10000", "currency": "GBP", "country": "GB", "source": "BROWSER", "three_ds": { "server_trans_ref": "ee489a31-cdcc-4557-affa-231064f74ad0", "acs_trans_ref": "47c512e0-18ad-41ed-8c47-2418df785065", "acs_reference_number": "3DS_LOA_ACS_INTE_020200_00293", "ds_trans_ref": "18973721-58b3-4cbf-90a7-4e38c92219ab", "eci": "05", "liability_shift": "YES", "status": "AUTHENTICATION_SUCCESSFUL", "status_reason": "MEDIUM_CONFIDENCE", "authentication_source": "BROWSER", "message_version": "2.2.0", "authentication_value": "AJkBA5YJFwAAACcQgmIidQAAAAA=", "message_category": "PAYMENT_AUTHENTICATION", "session_data_field_name": "threeDSSessionData", "message_type": "creq" }, "notifications": { "challenge_return_url": "https://www.example.com/ChallengeNotification" }, "action": { "id": "ACT_LEC9NAMXaba29cFFqQKqxVFcOj1f2s", "type": "INITIATE", "time_created": "2022-08-10T13:06:43.273Z", "result_code": "SUCCESS", "app_id": "grf9Q3tGYqglXOmYXYGAeYfFvsmnXAGe", "app_name": "demo_app" } } ```json ## Step 2: Authorization for first shipment When authentication is complete, we then process an authorization for the amount of the first shipment, which in this example is £50. Since we used the full card number for authentication and authorization, we can store the card for future use. (If you use a single-use token, you can convert it to a multi-use one.) ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer CX39BvFqWVrfJlRhOVgoeQ8elk8h' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "transaction_processing", "channel": "CNP", "type": "SALE", "amount": "5000", "currency": "GBP", "reference": "bc68c538-3ccb-482b-a682-1dde2cd38519", "country": "GB", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_86f240b6-3129-438f-8c84-94165aec515c", "authentication": { "id": "AUT_ee489a31-cdcc-4557-affa-231064f74ad0" } } }' ```json #### Sample response ```json { "id": "TRN_MdrlJwr9mAlUIv8cWT3l56CV5r90Jp_1dde2cd38519", "time_created": "2022-08-10T13:13:46.834Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "5000", "currency": "GBP", "country": "GB", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "bc68c538-3ccb-482b-a682-1dde2cd38519", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "card": { "funding": "CREDIT", "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5344", "authcode": "12345", "brand_reference": "Rg1eNkIvpWcDwA6E", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED" } }, "batch_id": "BAT_1130367", "action": { "id": "ACT_MdrlJwr9mAlUIv8cWT3l56CV5r90Jp", "type": "AUTHORIZE", "time_created": "2022-08-10T13:13:46.834Z", "result_code": "SUCCESS", "app_id": "grf9Q3tGYqglXOmYXYGAeYfFvsmnXAGe", "app_name": "demo_app" } } ```json ## Step 3: 3RI authentication for remaining shipment In this step, we process an authentication for the remaining £50 of the order using the card we stored in the previous step. In this request, we specify that we're performing a 3DS Requestor (3RI) / Merchant-Initiated Authentication. As part of the message body, we must also include the authentication data from Step 1: Prior 3D Secure Authentication Data. In the response, the Issuer might determine that additional authentication is required. If this is required, decoupled authentication will be used. For more information, see our [Decoupled Authentication](https://developer.globalpayments.com/docs/decoupled-auth.md) article. ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_a53dbadf-17f4-4a2a-95e4-c049aa5ee67f/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer CX39BvFqWVrfJlRhOVgoeQ8elk8h' \ --header 'Content-Type: application/json' \ --data-raw '{ "three_ds": { "source": "STORED_RECURRING", "preference": "NO_PREFERENCE" }, "stored_credential": { "model": "SPLIT_OR_DELAYED_SHIPMENT" }, "payer_prior_three_ds_authentication_data": { "authentication_method": "FRICTIONLESS_AUTHENTICATION", "acs_transaction_reference": "47c512e0-18ad-41ed-8c47-2418df785065", "authentication_timestamp": "2022-08-10T13:06:43.273Z", "authentication_data": "" }, "account_name": "transaction_processing", "channel": "CNP", "amount": "10000", "currency": "GBP", "country": "GB", "method_url_completion_status": "YES", "payment_method": { "id": "PMT_86f240b6-3129-438f-8c84-94165aec515c" }, "order": { "time_created_reference": "2019-04-26T10:19:32.552327Z", "amount": "10000", "currency": "GBP", "reference": "3400dd37-101d-4940-be15-3c963b6109b3", "address_match_indicator": "false", "shipping_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" } }, "payer": { "mobile_phone": { "country_code": "44", "subscriber_number": "123456789" } }, "merchant_contact_url": "https://example.com/about" }' ```json #### Sample response ```json { "id": "AUT_a53dbadf-17f4-4a2a-95e4-c049aa5ee67f", "time_created": "2022-08-11T09:33:45.037Z", "time_last_updated": "2022-08-11T09:33:40.281Z", "transaction_type": "SALE", "status": "SUCCESS_AUTHENTICATED", "channel": "CNP", "amount": "10000", "currency": "GBP", "country": "GB", "source": "STORED_RECURRING", "three_ds": { "server_trans_ref": "a53dbadf-17f4-4a2a-95e4-c049aa5ee67f", "eci": "05", "liability_shift": "YES", "status": "AUTHENTICATION_SUCCESSFUL", "authentication_source": "STORED_RECURRING", "message_version": "2.2.0", "authentication_value": "AJkBA5YJFwAAACcQgmIidQAAAAA=" }, "action": { "id": "ACT_a53dbadf17f44a2a95e4c049aa5ee67f", "type": "INITIATE", "time_created": "2022-08-11T09:33:45.037Z", "result_code": "SUCCESS", "app_id": "grf9Q3tGYqglXOmYXYGAeYfFvsmnXAGe", "app_name": "demo_app" } } ```json ## Step 4: Authorization for remaining shipment Now that the 3RI authentication is complete, we submit the authorization for the remaining £50. We pass the authentication ID from Step 3 in the request. ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer CX39BvFqWVrfJlRhOVgoeQ8elk8h' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "transaction_processing", "channel": "CNP", "type": "SALE", "amount": "5000", "currency": "GBP", "reference": "bc68c538-3ccb-482b-a682-1dde2cd38520", "country": "GB", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_86f240b6-3129-438f-8c84-94165aec515c", "authentication": { "id": "AUT_a53dbadf-17f4-4a2a-95e4-c049aa5ee67f" } } }' ```json ## Decoupled Authentication Source: https://developer.globalpayments.com/docs/decoupled-auth.md # Decoupled Authentication ## Introduction In a standard browser or in-app 3D Secure 2 authentication, if a challenge is required it's always presented to the customer as part of the payment process during the transaction. For example, the challenge screen is displayed to the customer in their browser for a maximum of 10 minutes before it times out. In a *decoupled authentication*, the authentication of the customer (or challenge) occurs outside of their interaction with the merchant website or app. This method verifies the customer's identity and authenticates the transaction via a separate channel—for example, a push notification to their banking app or via email. Merchants can set a time limit ranging from minutes to up to a week for how long the authentication may take. Decoupled authentication can be used as an alternative to the standard browser or in-app authentication methods provided by 3D Secure 2. It can also be used for scenarios where the customer does not have access to either a browser or app, for example, pay by text/SMS. The other use case for decoupled authentication is 3DS Requester (3RI) authentications, also known as *merchant-initiated authentications*. For more information on 3RI authentications, see our [Merchant-Initiated Authentication (3RI)](https://developer.globalpayments.com/docs/3DS2-3RI.md) article. ## Step 1: Set up Notification URL The first thing we need to do before performing a decoupled authentication is set up and configure an endpoint in your application or website that will receive data and event notifications from us. This endpoint will receive a POST request with the Server Transaction ID (reference) as the URL parameter. This notifies you that the decoupled authentication is complete, and you can get the full authentication data by processing an Obtain Authentication Data request. For example, if your Decoupled Notification endpoint is: ```bash https://www.example.com/decoupledNotificationUrl ``` The POST from our 3D Secure 2 solution will be in the following format: ```bash https://www.example.com/decoupledNotificationUrl?server_trans_id=ad0fffeb-bfff-44d0-881f-b857fe77c5a2 ``` ## Step 2: Check availability In any 3D Secure 2 authentication, you must first check what versions of the protocol the card supports. In addition, the ACS Information Indicator field in the Check Availability response tells us what 3D Secure 2 features the Issuer ACS can or cannot support. If the Issuer supports decoupled authentications, one of the values in this field will be: `DECOUPLED_AUTHENTICATION_SUPPORTED` For more information on the Check Availability request, see the API Reference for [Authentications](https://developer.globalpayments.com/api/authentications.md#/Check%20Availability/check3DSAvailability). ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer ipxbZ3XpRFGNXPCIrjRsO3DO83Rj' \ --header 'Content-Type: application/json' \ --data-raw '{ "account_name": "transaction_processing", "channel": "CNP", "amount": "10000", "currency": "GBP", "country": "GB", "payment_method": { "entry_mode": "ECOM", "card": { "number": "4263970000005262", "expiry_month": "05", "expiry_year": "25" } } }' ```json ## Step 3: Initiate authentication In the authentication request, indicate that you want to perform a decoupled authentication and provide the maximum timeframe allowed, for example, 15 minutes, 2 days, or 1 week. You must also include your Decoupled Authentication URL. The Issuer responds to confirm whether decoupled authentication will be utilized for this transaction. If so, the Issuer authenticates the customer separately from the standard challenge authentication a customer experiences when purchasing using a browser or in-app. For example, a push notification through their banking app. For more information on the Initiate Authentication request, see the API Reference for [Authentications](https://developer.globalpayments.com/api/authentications.md#/Initiate/initiate3DS). ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_02f7de2f-0a54-4975-8721-0f970adf68c0/initiate' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Authorization: Bearer ipxbZ3XpRFGNXPCIrjRsO3DO83Rj' \ --header 'Content-Type: application/json' \ --data-raw '{ "three_ds": { "source": "BROWSER", "preference": "DECOUPLED_PREFERRED", "decoupled_flow_request": "DECOUPLED_PREFERRED", "decoupled_flow_timeout": "900", "decoupled_notification_url": "https://www.example.com/decoupledNotificationUrl" }, "account_name": "transaction_processing", "channel": "CNP", "amount": "10000", "currency": "GBP", "country": "GB", "method_url_completion_status": "YES", "payment_method": { "id": "PMT_86f240b6-3129-438f-8c84-94165aec515c" }, "order": { "time_created_reference": "2019-04-26T10:19:32.552327Z", "amount": "10000", "currency": "GBP", "reference": "3400dd37-101d-4940-be15-3c963b6109b3", "address_match_indicator": "false", "shipping_address": { "line1": "Apartment 852", "line2": "Complex 741", "line3": "House 963", "city": "Chicago", "postal_code": "50001", "state": "IL", "country": "840" } }, "payer": { "mobile_phone": { "country_code": "44", "subscriber_number": "123456789" } }, "browser_data": { "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "color_depth": "TWENTY_FOUR_BITS", "ip": "123.123.123.123", "java_enabled": "true", "javascript_enabled": "true", "language": "en-US", "screen_height": "1080", "screen_width": "1920", "challenge_window_size": "FULL_SCREEN", "timezone": "0", "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" }, "merchant_contact_url": "https://example.com/about" }' ```json ## Step 4: Obtain authentication result Once authentication is complete, the Issuer sends the result to us. Our 3D Secure 2 solution then sends a POST with the Server Transaction ID to your Decoupled Notification endpoint. At that point, you can use the standard Obtain Result method to obtain the result and the corresponding data necessary for authorization such as the ECI, Authentication Value, and Directory Server Transaction ID. For more information on the Obtain Result method, see the API Reference for [Authentications](https://developer.globalpayments.com/api/authentications.md#/Get%20Result/get3DSResult). ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/authentications/AUT_02f7de2f-0a54-4975-8721-0f970adf68c0/result' \ --header 'x-gp-version: 2021-03-22' \ --header 'Authorization: Bearer qYhHHr9fj0YGaKVrzLC2ev8OyKu7' ```json ## Step 5: Authorization If you're processing the payment with us, now that the 3D Secure process is complete and depending on the ECI value returned, proceed to authorization while including the authentication data. ```json curl --location --request POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer qYhHHr9fj0YGaKVrzLC2ev8OyKu7' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data-raw '{ "account_name": "transaction_processing", "channel": "CNP", "type": "SALE", "amount": "10000", "currency": "GBP", "reference": "bc68c538-3ccb-482b-a682-1dde2cd38519", "country": "GB", "payment_method": { "name": "James Mason", "entry_mode": "ECOM", "id": "PMT_86f240b6-3129-438f-8c84-94165aec515c", "authentication": { "id": "AUT_02f7de2f-0a54-4975-8721-0f970adf68c0" } } }' ```json ## Message Extension Source: https://developer.globalpayments.com/docs/message-extension.md # Message Extension #### Mastercard ## Overview In the 3D Secure 2 protocol, the Message Extension fields allow for more customized and card-specific information to be passed in both the request and response messages. This article focuses on what Mastercard uses the Message Extension fields for, including: * Strong Customer Authentication (SCA) exemptions and allowlisting * Merchant fraud rate * Acquirer country code * Secure corporate payments To get the most out of this article, we recommend you first read our [Browser Authentication for 3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md) article. ## 3D Secure version 2.1 - SCA exemptions One of the key advantages of 3D Secure 2 is that it provides a framework for merchants to benefit from exemptions from SCA under certain conditions. With 3D Secure version 2.2, merchants can flag specific exemptions using the Challenge Request Indicator field. For 3D Secure version 2.1, for Mastercard authentications, the specific exemption the merchant is requesting must be included in the Message Extension fields during the Initiate Authentication step. #### Sample request (specific fields) In the Initiate request, include the following fields. ```json "three_ds": { "source": "BROWSER", "preference": "NO_CHALLENGE_REQUESTED", "message_extension": [ { "name": "Merchant Data", "id": "A000000004-merchantData", "criticality_indicator": "false", "data": { "A000000004-merchantData": { "scaExemptions": "05" } } } ] }, ```json #### Sample response (specific fields) If the request for an exemption is successful, the response of the authentication request will contain the following values. The authentication value will start with **kN**. ```json "three_ds": { "eci": "06", "status": "NOT_AUTHENTICATED", "status_reason": "81", "authentication_value": "kNABBhIBRwAAAAAANQFHAAAAAAA" }, ```json ## 3D Secure version 2.1 - trusted beneficiary 3D Secure 2 allows customers to add certain merchants to an allowlist of trusted beneficiaries—effectively telling the Issuer that transactions with particular merchants should be trusted. If this occurs, the Issuer may return information in the authentication response regarding the allowlist status of the merchant. In version 2.1, Mastercard does not support allowlisting merchants as trusted beneficiaries. However, Mastercard is able to share the allowlist status of a merchant through message extension. #### Sample response (specific values) (version 2.1) ```json "message_extension": [ { "name": "ACS Data", "id": "A000000004-acsData", "criticality_indicator": "false", "data": { "A000000004-acsData": { "whitelistStatus": "Y" } } } ] ```json ## Merchant fraud rate Mastercard allows the merchant fraud rate to be shared with the Issuer as part of the Authentication Request message using a specific Message Extension field. Sharing the merchant fraud rate can increase the Issuer's level of confidence in the transaction. Issuers can also use it to decide if a merchant should be eligible for the allowlist exemption. > There is no change to the response message when using this extension. #### Sample request (specific fields) In the Initiate request, include the following fields. ```json "message_extension": [ { "name": "Merchant Data", "id": "A000000004-merchantData", "criticality_indicator": false, "data": { "A000000004-merchant_data": { "merchantfraudrate": "1" } } } ] ```json ## Acquirer country code Merchants can use this extension to inform the Issuer if the Acquirer country and merchant country differ. This is particularly important for transaction processing in countries where regulations may apply based on the Acquirer country. If a transaction is "two-leg"—that is, the country code of both the Acquirer and Issuer is in the European Economic Area (EEA)—then it is in scope of SCA. It is therefore important to share the Acquirer country code; otherwise, an Issuer could incorrectly flag a transaction as a "one-leg" transaction, which would be out of scope of SCA. > There is no change to the response message when using this extension. #### Sample request (specific fields) In the authentication request, include the following fields. ```json "message_extension": [ { "name": "Merchant Data", "id": "A000000004-merchantData", "criticality_indicator": false, "data": { "A000000004-merchant_data": { "acquirer_country_code": "050" } } } ] ```json #### American Express Rewards ## Overview The American Express Membership Rewards message extension enables merchants to obtain the balance of a card member's rewards points and display it on the checkout page as an alternative payment option for the customer. There are two major steps in this process: * Perform a **non-payment authentication** to obtain the rewards points balance * Perform a **payment authentication** to redeem their points and use them to pay > To use the American Express Membership Rewards message extension, contact your account manager or a member of our support team. ## Step 1: Eligibility and points balance After gathering the customer's card data, billing and shipping details, as well as other 3D Secure 2 data such as browser information, we can then perform a non-payment authentication while specifying that we want the American Express rewards balance. If the customer is eligible for membership rewards, the Issuer will respond with an Authentication Successful message and include the rewards data in the Message Extension fields. If they are not eligible, the reason will be returned. #### Sample request (specific fields) In the non-payment authentication request, include the following fields. ```json "message_category": "NON_PAYMENT_AUTHENTICATION", "stored_credential": { "model": "AMEX_REWARDS_BALANCE" } ```json #### Sample response (specific fields) ```json "message_extension": [ { "name": "Membership Rewards", "id": "A000000025-001", "criticality_indicator": false, "data": { "mr_balance": "14040", "mr_currencyName": "Membership Rewards", "conversion_points": "1000", "converted_currAmount": "10", "mr_status_reason": "01" } } ] ```json ## Step 2: Points authentication You can now present the customer with the option to pay using their points balance. Next, we perform a 3D Secure 2 payment authentication for a customer paying with their points balance. The authentication will proceed through a standard challenge flow to allow the customer to redeem their points and use them to pay. For more information on the standard challenge flow, see our [Browser Authentication for 3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md) article. #### API sample request (specific fields) In the Payment Authentication request, include the following fields. ```json "message_category": "PAYMENT_AUTHENTICATION", "stored_credential": { "model": "AMEX_REWARDS_BALANCE" } ```json ## 3DS Validation Table Source: https://developer.globalpayments.com/docs/3DS-validation.md # 3D Secure Validation Table Use the following table to validate your integration for 3D Secure requirements. Test card numbers are provided to trigger the desired result for an action.
Action Status (After Action) Next Action Liability Shift?* Trigger Card Numbers
**CHECK AVAILABILITY** AVAILABLE INITIATE N/A N/A
NOT_AVAILABLE ASK FOR ANOTHER CARD(DON'T GO FOR AUTH) NO N/A
NOT_ENROLLED ASK FOR ANOTHER CARD(DON'T GO FOR AUTH) NO 4917000000000087
**INITIATE** CHALLENGE_REQUIRED CHALLENGE N/A 4222000001227408
N/A N/A 4012001038488884
SUCCESS N/A (GO FOR AUTH) YES 4222000006724235
SUCCESS (GO FOR AUTH) YES 4263970000005262
SUCCESS (GO FOR AUTH) YES 4222000006285344
SUCCESS_ATTEMPT_MADE (GO FOR AUTH) YES 4012001037167778
(GO FOR AUTH) YES 4222000005218627
FAILED ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4222000008880910
ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4012001037484447
ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4012001038443335
ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4222000007275799
**CHALLENGE** We are not involved in this step. The integrator directs the card holder to the challenge process. Ensure the challenge process executes correctly and that a response is sent to the challenge_return_url once the challenge completes. GET RESULT N/A N/A
Check if cardholder: 1) Closes browser or exits app during the challenge 2) Does not execute challenge and it times out N/A N/A N/A
**GET RESULT** NOT_AUTHENTICATED ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4222000002144131
ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4012001037461114
SUCCESS_ATTEMPT_MADE COMPLETE (GO FOR AUTH) YES N/A
SUCCESS_AUTHENTICATED COMPLETE (GO FOR AUTH) YES 4222000001227408
COMPLETE (GO FOR AUTH) YES 4012001038488884
FAILED ASK FOR ANOTHER CARD (DON'T GO FOR AUTH) NO 4222000008880910
**GO FOR AUTH** When executing the authorization, include the necessary 3DS information. Submit the AUT_id created as part of the 3DS authentication process in the request to create a transaction. See the "Get authentication result" step in our [3D Secure - Browser Authentication](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md) article.
*YES -> Go for auth; NO -> Ask for another card. ## Overview Source: https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md # Fraud Management - Overview Selling online enables merchants to grow and scale their business substantially. However, it can result in goods being shipped that you might not get paid for. In addition to using [3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) for all online transactions, you can also mitigate this risk by using our Fraud Management solutions: * Fraud Filter — Automatically pass, hold, or block transactions based on the result of one or more rule results screened during a transaction. * Address Verification Service — Verify the customer’s address provided at the time of sale against the issuer’s records. * Decision Manager — Perform standalone or automatic risk assessment for transactions. Fraud Management offers: * Over 30 fraud rules, including powerful pattern and velocity rules with 12 data lists * A fraud filter Passive mode to hold risky transactions for manual review, preventing false positives * A simple user interface to set up and manage filter rules * The ability to easily incorporate fraud rules for every transaction you process > Fraud Management is currently only available for card-not-present transactions in the United Kingdom, United States, Canada, and the European Union. ## Use cases In this section, we present some “real world” examples that can be enabled through Fraud Management. Keep in mind that this section doesn’t cover all of the use cases. #### Use case #1: Limit the number of cards for top-up services A mobile operator discovers that fraudsters are using multiple stolen credit card numbers to top up “pay as you go” mobile accounts. However, by the time the mobile operator receives chargebacks from the cardholders, the credit has already been used. Using fraud filters, the mobile operator can now limit the number of different cards that can be used to top up any “pay as you go” mobile. After the limit is reached, any new cards that are attempted are blocked or held for further review by the merchant. Likewise, the mobile operator can limit the number of top-ups allowed per day, per week, and so on. #### Use case #2: Monitor high transaction amounts An online merchant observes an increased occurrence in chargebacks due to alleged fraud claimed by cardholders. The amounts for these transactions were substantially higher than what the merchant typically processes for their business. The merchant has since implemented 3D Secure to help protect against fraudulent online transactions. However, the merchant has opted to also implement two fraud filters as an additional layer of security: * Fraud rule #1: Hold a transaction (for further review) if the amount is higher than a predefined amount set by the merchant. This allows the merchant to review the transaction and validate with the cardholder before releasing it to be processed. * Fraud rule #2: Block a transaction if 3D Secure authentication was not successfully performed on the cardholder. #### Use case #3: Screen without losing sales to false positives A large multinational merchant wants to implement a set of various fraud rules but needs to ensure that the rules are properly configured and will not result in a substantial number of false positives leading to lost sales. In this scenario, the merchant can activate the rules and turn on Passive mode. When in Passive mode, all live transactions are screened by the established fraud rules. Fraud results will be generated but will not block or hold any of the transactions. This allows the merchant to first monitor the behavior and effectiveness of their fraud rules and to subsequently make any necessary adjustments before enabling them in Active mode to put them into action. ## Fraud Filter The Fraud Management Fraud Filter enables merchants to automatically hold, block, or pass transactions based on the result of one or more rule results screened during a transaction. You can configure and enable fraud rules on the Ecommerce Portal (RealControl) in the Fraud Management section. Fraud Filter must be set up first before being used via our REST API. For steps and code samples for how to use Fraud Filter, see our [Fraud Filter](https://developer.globalpayments.com/docs/risk-management/fraud-management/fraud-filter.md) guide. ### Create rules You can create new Fraud Filter rules from the Rules tab as shown below. From the Data Lists tab, you can manage your data lists, which are used by certain rules (for example, a high-risk card number list or medium-risk IP address list). ![Alt text: Fraud Filter - Rules Tab](https://developer.globalpayments.com/gh-assets/fraud_filter_rules.png) **Fraud Filter - Rules Tab** To make it easier to organize your rules, we provide preset categories, as described in the table below. | Rule Category | Description | | -------- | ------- | | Card Number and BIN (Bank Identification Number) | Rules relating to the usage frequency of a card number or BIN. You can also create a rule for all high-risk card numbers or BINs. | | Geographic | Rules relating to location or country. For example, cards from certain countries or if the shipping and billing countries are different. | | Customer | Rules relating to a customer number or cardholder name. For example, the number of times the customer number is seen with different card numbers. | | Product Details | Rules relating to product details. For example, for all high-risk product IDs or when the Variable Reference is used with different card numbers. | | Velocity | Rules based on the number of transactions processed or declined within a set time frame. | | High Risk Time | Rules based on the timestamp of the transaction, for example, a certain time of day. | | Amount | Rules based on if the amount is greater than a defined amount. | | Third Party | Rules based on the results of a third party such as Decision Manager. | ### Set mode You can set the Fraud Filter mode for individual fraud rules for a given transaction. There is also an option to turn off one or more rules while maintaining the other rules as Active, which can be done using the Passive or Off setting. * _Active_ means that the fraud rule will run, and the resulting action (for example, Hold or Block) will execute. This is recommended if you are sure of the behavior of the rule and the action you want to take. * _Passive_ means that although the fraud rules will run and will get the appropriate response values, the resulting action (for example, Hold or Block) will not execute. This is a good way to test new rules and see what their outcome will be before setting them live (Active). * _Off_ means that the fraud rule will not run at all. Setting an individual fraud rule to Off disables the rule for a particular transaction, while still running all other rules. ### Review held transactions Transactions that were held, blocked, or failed by Fraud Filter can be viewed on the Transactions screen in Ecommerce Portal (RealControl). If you want to review a certain held transaction, just search for transactions with a “Held” status. After finding the one you want, you can then view the details on the Fraud tab for the transaction. ## Next steps Check out the following guides to learn how to integrate Fraud Management into your application or website. ### [Fraud Filter](https://developer.globalpayments.com/docs/risk-management/fraud-management/fraud-filter.md) Set up rules and run filters to prescreen transactions. ### [Address Verification Service](https://developer.globalpayments.com/docs/risk-management/fraud-management/address-verification-service.md) Verify a cardholder's address by checking against the issuer's records. ## Fraud Filter Source: https://developer.globalpayments.com/docs/risk-management/fraud-management/fraud-filter.md # Fraud Filter This guide focuses on how to use Fraud Filter for both direct API integrations and for integrations via Hosted Fields and the Drop-In User Interface (UI). First, we test some configured fraud rules and view the fraud-related fields in the response. We then send a Hold request to investigate a transaction and eventually release it to its original status after determining that it’s not actually fraudulent. For more information on Fraud Management, see our [Overview](https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md). ## Step 1: Set up the rules The Fraud Filter feature must be configured and enabled via the Ecommerce Portal (RealControl) under the Fraud Management section before being used via the API or Hosted Fields / Drop-In UI. For more information, see [Fraud Management FAQs](https://help.globalpay.com/products/ecommerce-help/fraud-management) for Ecommerce Help. > To access Ecommerce Portal (RealControl): > > Test account: https://realcontrol.sandbox.realexpayments.com > > Live account: https://realcontrol.realexpayments.com ## Step 2: Process a transaction and see the response Once you’ve set up a few Fraud Filter rules, you can then test them and note the different fraud-related fields returned in the response. ### Transaction request You can set a specific rule on a per-transaction basis by using the `risk_assessment` object in the request as shown in the example below. #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions' \ --header 'Authorization: Bearer ZhMqj1a8V9VXg20P9Nj4RXJjGSZY' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "account_name": "transaction_processing", "type": "SALE", "channel": "CNP", "amount": "3000", "currency": "EUR", "country": "IE", "capture_mode": "LATER", "reference": "TRANS-20180114123459878", "site_reference": "", "initiator": "PAYER", "description": "description", "ip_address": "123.123.123.123", "stored_credential": { "model": "SUBSCRIPTION", "sequence": "FIRST", "reason": "NO_SHOW" }, "payment_method": { "name": "James Mason", "first_name": "James12", "last_name": "Mason", "entry_mode": "MOTO", "narrative": "Test Transaction", "card": { "number": "4012001037141112", "expiry_month": "04", "expiry_year": "25", "brand": "visa", "cvv": "451", "cvv_indicator": "PRESENT", "avs_address": "40 Hilltop", "avs_postal_code": "V94 DE7F", "tag": "123", "brand_reference": "" } }, "risk_assessment": [ { "mode": "ACTIVE", "rules": [ { "reference": "5c52428c-1f73-4fdf-ae53-ff62857f89d8", "mode": "ACTIVE" } ] } ] }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId(APP_ID); config.setAppKey(APP_KEY); config.setChannel(Channel.CardNotPresent); config.setRequestLogger(new RequestConsoleLogger()); config.setEnableLogging(true); ServicesContainer.configureService(config); CreditCardData card = new CreditCardData(); card.setNumber("4263970000005262"); card.setExpMonth(DateTime.now().getMonthOfYear()); card.setExpYear(DateTime.now().getYear() + 1); card.setReaderPresent(false); card.setEntryMethod(ManualEntryMethod.Moto); card.setCvn("131"); card.setCardHolderName("James Mason"); Address address = new Address(); address.setStreetAddress1("123 Main St."); address.setCity("Downtown"); address.setState("NJ"); address.setCountry("US"); address.setPostalCode("12345"); StoredCredential credentials = new StoredCredential(); credentials.setInitiator(StoredCredentialInitiator.CardHolder); credentials.setType(StoredCredentialType.Subscription); credentials.setSequence(StoredCredentialSequence.First); credentials.setReason(StoredCredentialReason.NoShow); FraudRuleCollection rules = new FraudRuleCollection(); rules.addRule("0c93a6c9-7649-4822-b5ea-1efa356337fd", FraudFilterMode.Active); try { Transaction response = card.charge(98.10) .withCurrency("USD") .withAddress(address) .withStoredCredential(credentials) .execute(); } catch (GatewayException ex) { // TO DO handle error } ``` ```dotnet GpApiConfig config = new GpApiConfig(); config.AppId = AppId; config.AppKey = AppKey; config.Channel = Channel.CardNotPresent; config.RequestLogger = new RequestConsoleLogger(); config.EnableLogging = true; ServicesContainer.ConfigureService(config); CreditCardData card = new CreditCardData(); card.Number = "4263970000005262"; card.ExpMonth = DateTime.Now.Month; card.ExpYear = DateTime.Now.Year + 1; card.ReaderPresent = false; card.EntryMethod = ManualEntryMethod.Moto; card.Cvn = "131"; card.CardHolderName = "James Mason"; Address address = new Address(); address.StreetAddress1 = "123 Main St."; address.City = "Downtown"; address.State = "NJ"; address.Country = "US"; address.PostalCode = "12345"; StoredCredential credentials = new StoredCredential(); credentials.Initiator = StoredCredentialInitiator.CardHolder; credentials.Type = StoredCredentialType.Subscription; credentials.Sequence = StoredCredentialSequence.First; credentials.Reason = StoredCredentialReason.NoShow; var rules = new FraudRuleCollection(); rules.AddRule("0c93a6c9-7649-4822-b5ea-1efa356337fd", FraudFilterMode.ACTIVE); try { var response = card.Charge(98.10m) .WithCurrency(CURRENCY) .WithAddress(address) .WithFraudFilter(FraudFilterMode.ACTIVE, rules) .WithStoredCredential(credentials) .Execute(); } catch (GatewayException ex) { // TO DO } ``` ```php $config = new GpApiConfig(); $config->appId = 'APP-ID'; $config->appKey = 'APP-KEY'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; ServicesContainer::configureService($config); $rule1 = '5c52428c-1f73-4fdf-ae53-ff62857f89d8'; $rules = new FraudRuleCollection(); $rules->addRule($rule1, FraudFilterMode::ACTIVE); $card = new CreditCardData(); $card->number = "4012001037141112"; $card->expMonth = date('m'); $card->expYear = date('Y', strtotime('+1 year')); $card->cvn = "451"; $card->cardHolderName = "James Mason"; $card->entryMethod = ManualEntryMethod::MOTO; $address = new Address(); $address->streetAddress1 = "40 Hilltop"; $address->postalCode = "V94 DE7F"; $storeCredentials = new StoredCredential(); $storeCredentials->initiator = StoredCredentialInitiator::PAYER; $storeCredentials->type = StoredCredentialType::SUBSCRIPTION; $storeCredentials->sequence = StoredCredentialSequence::FIRST; $storeCredentials->reason = StoredCredentialReason::NO_SHOW; try { /** @var \GlobalPayments\Api\Entities\Transaction $response */ $response = $card->authorize(30) ->withCurrency('EUR') ->withAddress($address) ->withFraudFilter(FraudFilterMode::ACTIVE, $rules) ->withStoredCredential($storeCredentials) ->withDescription('description') ->withCustomerIpAddress('123.123.123.123') ->withClientTransactionId('TRANS-20180114123459878') ->withDynamicDescriptor('Test Transaction') ->withTagData('123') ->execute(); } catch (GatewayException $e) { //@TODO handle error } if ($response instanceof Transaction) { $responseCode = $response->responseCode; // SUCCESS $trnStatus = $response->responseMessage; // CAPTURED $fraudFilterMode = $response->fraudFilterResponse->fraudResponseMode; // ACTIVE $fraudFilterResultFraudFilterResult = $response->fraudFilterResponse->fraudResponseResult; //PASS $fraudFilterRules = $response->fraudFilterResponse->fraudResponseRules; foreach ($fraudFilterRules as $fraudResponseRule) { $ruleReference = $fraudResponseRule->key; $ruleMode = $fraudResponseRule->mode; $ruleDescription = $fraudResponseRule->description; $ruleResult = $fraudResponseRule->result; } } ``` #### Request fields The following table describes the fraud-related fields used in the request. | Field | Description | Example(s) | | -------- | ------- | ------- | | risk_assessment.mode | Sets the overall transactional-level fraud mode. | PASSIVE/ACTIVE/OFF | | risk_assessment.rules.reference | Unique identifier for a rule. | 5c52428c-1f73-4fdf-ae53-ff62857f89d8 | | risk_assessment.rules.mode | Sets the mode at a per fraud rule level. | PASSIVE/ACTIVE/OFF | ### Transaction response The transaction response includes a `risk_assessment` object with details of the fraud rules that were carried out on the transaction. The overall transaction mode is returned as either `PASSIVE`, `ACTIVE`, or `OFF`. The overall result is returned as either `ACCEPTED`, `REJECTED`, `NOT_EXECUTED`, or `PENDING_REVIEW`. The outcome of passing the transaction through the Fraud Filter is included in the transaction response. You can check the overall Fraud Filter result and each individual rule outcome by using the rule's unique identifier. #### Sample response ```json { "id": "TRN_RO1H0eICPZFJt8xYffvio8miTg0tUy_114123459878", "time_created": "2023-03-23T11:03:43.555Z", "type": "SALE", "status": "PREAUTHORIZED", "channel": "CNP", "capture_mode": "LATER", "amount": "3000", "currency": "EUR", "country": "IE", "merchant_id": "MER_7e3e2c7df34f42819b3edee31022ee3f", "merchant_name": "Sandbox_merchant_3", "account_id": "TRA_c9967ad7d8ec4b46b6dd44a61cde9a91", "account_name": "transaction_processing", "reference": "TRANS-20180114123459878", "payment_method": { "result": "00", "message": "[ test system ] Authorised", "entry_mode": "MOTO", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX1112", "authcode": "12345", "brand_reference": "tmKvCwKEVQhX6PWw", "brand_time_created": "", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "", "provider": { "result": "00", "cvv_result": "M", "avs_address_result": "M", "avs_postal_code_result": "M" } } }, "risk_assessment": [ { "mode": "ACTIVE", "result": "PENDING_REVIEW", "rules": [ { "reference": "5c52428c-1f73-4fdf-ae53-ff62857f89d8", "description": "unknown rule", "mode": "ACTIVE", "result": "ERROR" }, { "reference": "0c93a6c9-7649-4822-b5ea-1efa356337fd", "description": "Cardholder Name Rule", "mode": "ACTIVE", "result": "ACCEPTED" }, { "reference": "a539d51a-abc1-4fff-a38e-b34e00ad0cc3", "description": "CardNumber block", "mode": "ACTIVE", "result": "PENDING_REVIEW" }, { "reference": "d023a19e-6985-4fda-bb9b-5d4e0dedbb1e", "description": "Amount test", "mode": "ACTIVE", "result": "ACCEPTED" } ] } ], "batch_id": "", "action": { "id": "ACT_RO1H0eICPZFJt8xYffvio8miTg0tUy", "type": "PREAUTHORIZE", "time_created": "2023-03-23T11:03:43.555Z", "result_code": "SUCCESS", "app_id": "07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOv", "app_name": "Sandbox Merchant 3" } } ``` #### Response fields The following table describes the fraud-related fields returned in the response. | Field | Description | Example(s) | | -------- | ------- | ------- | | risk_assessment.mode | Returns the overall transactional-level fraud mode. | PASSIVE/ACTIVE/OFF | | risk_assessment.result | Returns the result of the overall fraud check. | ACCEPTED/REJECTED/NOT_EXECUTED/PENDING_REVIEW | | risk_assessment.rules.reference | Returns the rule's unique identifier. | 5c52428c-1f73-4fdf-ae53-ff62857f89d8 | | risk_assessment.rules.description | Returns a system-generated description of the rule. | Amount Check|CardNumber Check | | risk_assessment.rules.mode | Sets the mode at a per fraud rule level. | PASSIVE/ACTIVE/OFF | | risk_assessment.rules.result | Returns the result of the individual fraud check. | ACCEPTED/REJECTED/NOT_EXECUTED/PENDING_REVIEW | ## Step 3: Hold a transaction If you suspect a transaction is fraudulent and requires further investigation, you can send a Hold request. If the transaction was already placed in the queue to be included in the next settlement file or batch, this will remove it from the queue until the transaction is released (see [Step 4](#step-4-release-a-transaction)). The following field is returned in the response. | Field | Description | Example(s) | | -------- | ------- | ------- | | reason_code | The reason that the transaction is being held. | FRAUD/OUTOFSTOCK/OTHER/NOT_GIVEN | #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_P12kSMF8QxcdZM0iRieChToB4GxYfl_114123459878/hold' \ --header 'Authorization: Bearer 6lOMhiXA8nwfgIlw563Dnkki5Vsp' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "reason_code": "FRAUD" }' ``` ```java Transaction response = new Transaction(); response.setTransactionId("TRN_Tw34vgMCuBl9tUeLOV6VpnqjrSu9nj_c07882bf8f73"); try { response = response.hold() .withReasonCode(ReasonCode.Fraud) .execute(); } catch (Exception ex) { // TO DO handle error } String responseCode = response.getResponseCode(); // "SUCCESS" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // "HOLD_SUCCESSFULL" ``` ```dotnet var response = new Transaction(); response.TransactionId = "TRN_Tw34vgMCuBl9tUeLOV6VpnqjrSu9nj_c07882bf8f73"; response = response.Hold() .WithReasonCode(ReasonCode.FRAUD) .Execute(); ``` ```php $config = new GpApiConfig(); $config->appId = 'APP-ID'; $config->appKey = 'APP-KEY'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; ServicesContainer::configureService($config); $trn = Transaction::fromId("TRN_P12kSMF8QxcdZM0iRieChToB4GxYfl_114123459878"); try { /** @var \GlobalPayments\Api\Entities\Transaction $trn */ $trn = $trn->hold() ->withReasonCode(ReasonCode::FRAUD) ->execute(); } catch (GatewayException $e) { //@TODO handle error } if ($trn instanceof Transaction) { $responseCode = $trn->responseCode; // SUCCESS $trnStatus = $trn->responseMessage; // PREAUTHORIZED $fraudFilterResult = $trn->fraudFilterResponse->fraudResponseResult; //HOLD_SUCCESSFULL } ``` ## Step 4: Release a transaction If you decide that a transaction is not fraudulent or you have held one in error, you can send a Release request. This will return the transaction to its original status (awaiting settlement or in the queue for the next batch). Or, if you decide not to proceed with the transaction, you can reverse (void) it (see [Transactions](https://developer.globalpayments.com/api/transactions.md#/Capture%20a%20Sale/captureSaleTransaction) in the API Explorer). You don’t need to release the transaction before reversing it. The following field is returned in the response. | Field | Description | Example(s) | | -------- | ------- | ------- | | reason_code | The reason that the transaction is being released. | FALSE_POSITIVE/IN_STOCK/OTHER/NOT_GIVEN | #### Sample request ```json curl --location 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_P12kSMF8QxcdZM0iRieChToB4GxYfl_114123459878/release' \ --header 'Authorization: Bearer 6lOMhiXA8nwfgIlw563Dnkki5Vsp' \ --header 'Content-Type: application/json' \ --header 'X-GP-Version: 2021-03-22' \ --data '{ "reason_code": "FALSEPOSITIVE" }' ``` ```java Transaction response = new Transaction(); response.setTransactionId("TRN_Tw34vgMCuBl9tUeLOV6VpnqjrSu9nj_c07882bf8f73"); try { response = response.release() .withReasonCode(ReasonCode.FalsePositive) .execute(); } catch (Exception ex) { // TO DO handle error } String responseCode = response.getResponseCode(); // "SUCCESS" String fraudResponseResult = response.getFraudFilterResponse().getFraudResponseResult(); // "RELEASE_SUCCESSFULL" ``` ```dotnet var response = new Transaction(); response.TransactionId = "TRN_Tw34vgMCuBl9tUeLOV6VpnqjrSu9nj_c07882bf8f73"; response = response.Release() .WithReasonCode(ReasonCode.FALSEPOSITIVE) .Execute(); ``` ```php $config = new GpApiConfig(); $config->appId = 'APP-ID'; $config->appKey = 'APP-KEY'; $config->channel = Channel::CardNotPresent; $config->country = 'IE'; ServicesContainer::configureService($config); $trn = Transaction::fromId("TRN_P12kSMF8QxcdZM0iRieChToB4GxYfl_114123459878"); try { /** @var \GlobalPayments\Api\Entities\Transaction $trn */ $trn = $trn->release() ->withReasonCode(ReasonCode::FALSE_POSITIVE) ->execute(); } catch (GatewayException $e) { //@TODO handle error } if ($trn instanceof Transaction) { $responseCode = $trn->responseCode; // SUCCESS $trnStatus = $trn->responseMessage; // PREAUTHORIZED $fraudFilterResult = $trn->fraudFilterResponse->fraudResponseResult; //RELEASE_SUCCESSFUL } ``` ## Address Verification Service Source: https://developer.globalpayments.com/docs/risk-management/fraud-management/address-verification-service.md # Address Verification Service > This functionality is available only for cardholders in the United States, Canada, and Great Britain and is not supported by all acquirers or issuers. For more information, contact a member of our support team. The Address Verification Service (AVS) verifies the cardholder's address by checking the information provided at the time of sale against the issuer's records. If a transaction fails an AVS check, it will not automatically be declined. Instead, it acts as an advisory service and requires that the details of non-matched transactions be checked by your application. For more information on Fraud Management, see our [Overview](https://developer.globalpayments.com/docs/risk-management/fraud-management/overview.md). For direct API integration, AVS data is passed in the Card Object in the Payment Method Object. ## Sample request ```JSON curl -L -X POST 'https://apis.sandbox.globalpay.com/ucp/transactions' \ -H 'Authorization: Bearer g9msqo3kAb7oTpeSdwzv9CFK0281' \ -H 'X-GP-Version: 2020-01-20' \ -H 'Accept: application/json' \ -H 'Content-type: application/json' \ -H 'Accept-Encoding: gzip' \ -H 'Content-Type: application/json' \ -d '{ "account_name": "Transaction_Processing", "account_id":"TRA_6716058969854a48b33347043ff8225f", "merchant_id":"MER_c4c0df11039c48a9b63701adeaa296c3", "channel": "CNP", "capture_mode": "AUTO", "type": "SALE", "amount": "1999", "currency": "EUR", "reference": "My-TRANS-29042020", "payment_method": { "first_name": "James", "last_name": "Mason", "entry_mode": "ECOM", "card":{ "number":"4263970000005262", "expiry_month":"11", "expiry_year":"24", "cvv": "123", "cvv_indicator": "PRESENT", "avs_address":"Flat 456 House 123 Halifax", "avs_postal_code":"WB3 A21" } } }' ``` ## AVS values | Element/Field | Format | Description | | -------- | -------- | -------- | | avs_address_result | String | The result of the AVS address check. MATCHED NOT_MATCHED NOT_CHECKED | | avs_postal_code_result | String | The AVS postal code result indicating the result of the postal code check. MATCHED NOT_MATCHED NOT_CHECKED | | avs_action | String | The recommended AVS action based on the AVS results. PROMPT DECLINE ACCEPT | ## Sample response ```JSON { "id": "TRN_kHlyWelGlIyv2CF0iY630A2Kh6KPEw", "time_created": "2020-04-29T14:33:26.637Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "1999", "currency": "EUR", "country": "US", "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "reference": "My-TRANS-29042020", "payment_method": { "result": "00", "message": "[ test system ] AUTHORISED", "entry_mode": "ECOM", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX5262", "authcode": "12345", "brand_reference": "Qsh3tzI25zqGkpX6", "brand_time_created": "", "cvv_result": "MATCHED", "avs_address_result": "MATCHED", "avs_postal_code_result": "MATCHED", "avs_action": "ACCEPT" } }, "batch_id": "BAT_782540", "action": { "id": "ACT_kHlyWelGlIyv2CF0iY630A2Kh6KPEw", "type": "AUTHORIZE", "time_created": "2020-04-29T14:33:26.637Z", "result_code": "SUCCESS", "app_id": "JMe7SYdTSV0mx5dAZI9PSJO5T9SMvL18", "app_name": "sandboxdefault_swaggerapp_v20200120" } } ``` ## Operations & Reporting Source: https://developer.globalpayments.com/docs/reporting/overview.md # Operations & Reporting ### [Disputes Management](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md) Using our Disputes API allows you to automate the reporting and management of transaction disputes. ### [File Processing](https://developer.globalpayments.com/docs/operations/file-processing-overview.md) Allow merchants or partners to upload bulk files with high volumes of requests, such as transactions, in one file. ### [Real-Time Data Reporting](https://developer.globalpayments.com/docs/reporting/real-time-reporting-guide.md) Our reporting APIs can be used to reconcile transactions but can also provide a detailed audit trail for all activities on your account. ### [Settlement Reporting](https://developer.globalpayments.com/docs/reporting/settlement-reporting-overview.md) Help merchants automate the daily reconciliation of funds transferred to their bank accounts from multiple payment channels. ### [Merchant Management & Reporting](https://developer.globalpayments.com/docs/partners/embedded/merchant-mgt-reporting) Use account data to better support your merchants. ## Overview Source: https://developer.globalpayments.com/docs/operations/disputes-management-overview.md # Disputes Management - Overview Using our Disputes API allows you to automate the reporting and management of transaction disputes. This includes the ability to accept or challenge disputes along with the reporting available across multiple channels and regions from a single source. With the help of our tools such as Fraud Management, Invoicing, and Dynamic Narrative, as well as our best practice guidelines, you can prevent disputes before they happen. > Disputes Management is only available to merchants who use us as an acquirer. ## What is a dispute? A _dispute_ occurs when a transaction’s validity is questioned and can be raised by the cardholder or the issuer. In either scenario, the issuer sends the dispute to the acquirer to resolve. We either resolve the dispute or forward it to the merchant to provide evidence that the transaction is legitimate. When a merchant receives the dispute, they can accept it or they can choose to challenge it by sending evidence to prove the transaction is legitimate. We review the evidence to ensure it meets the necessary requirements before sending it to the issuer. The issuer then reviews the evidence provided and makes a decision on the outcome of the dispute. The customer and the merchant are then notified of the case decision. ## Dispute types and stages Before we cover how to use the Disputes API, it’s useful to gain an understanding of the different types of disputes, the relevant terminology and their meanings. If you want to skip right to the code, see our [guide](https://developer.globalpayments.com/docs/operations/disputes-management-guide.md). | | | | --- | --- | | **Dispute Term** | **Description** | | Retrieval | A request for proof that a transaction was valid. To respond, you might provide a copy of the sales draft for the transaction. Funds are not exchanged during retrieval request cases, but if you do not respond successfully, you could be held responsible (liable) for any chargeback cases that result. Retrieval requests are sometimes simply referred to as retrievals. | | Chargeback | When the cardholder or issuer is formally disputing a transaction. As soon as a chargeback case is initiated, the disputed funds are usually transferred from the merchant’s account to the Issuer. With a chargeback you can choose to: –Acknowledge it and accept liability –Challenge it with supporting documentation | | Arbitration / PreArbitration | Can be created when a case is not resolved at the chargeback stage. For this case type, we work with the issuer to try to resolve the dispute and avoid arbitration.You would typically try to avoid arbitration because of the added fees, time lost and potential penalties if you lose the arbitration case. Arbitration, when necessary, is performed by the card brands like Visa and Mastercard. | | Compliance / PreCompliance | A type of case that is based on a violation of the rules that are defined by the relevant card brand. These violations include: –The customer agreed to be charged at least once, but the merchant billed for multiple key-entered transactions without the cardholder’s authority (card-present environment). –A merchant or acquirer ignored a retrieval request issued for legal proceedings or law enforcement investigations. | | Good Faith Collection | A request for you to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. Acceptance of an incoming good faith collection case is completely at your discretion. | | Exception Case | Includes both the incoming and outgoing versions of the following case types: PreArbitration, Arbitration, PreCompliance, Compliance, and Good Faith Collection. | | MasterCard Pre-Dispute | This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs | ## Next steps To get familiar with how Disputes Management works, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/operations/disputes-management-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/operations/disputes-management-guide.md # Disputes Management - Guide In this guide, you'll learn how to obtain a list of disputes and get the details on a specific dispute case. We also cover how to resolve a dispute by either challenging or accepting it. In our example, we demonstrate a typical scenario that a merchant might go through when receiving a dispute. For more information on Disputes Management, see our [Overview](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Get a list of disputes Our first step is to pull a list of disputes. You must submit the date range you want to query. You can include optional parameters such as the brand of the card involved, the dispute stage, the number of pages to return, the number of results per page, and so on. The returned list of disputes will include all of the disputes types that are available for your application, such as chargebacks, retrievals, and arbitrations. To understand more about the different types of disputes, see our [Overview](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md). You can also filter the list based on the dispute status: Closed, New, or Under Review. In our example, we don't use any filters as we want to return all the disputes in the timeframe specified. #### Sample request ```JSON curl -L -X GET 'https://apis.sandbox.globalpay.com/unifiedcommerce/disputes?from_stage_time_created=2019-05-13' \ -H 'Authorization: Bearer 72hyeepo8DnW053OrqAEFwAzeDtC' \ -H 'X-Gp-Version: 2020-01-20' \ -H 'Accept: application/json' \ -H 'Accept-Encoding: gzip' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Date startDate = DateTime.now().minusDays(30).toDate(); try { DisputeSummaryPaged disputes = ReportingService.findDisputesPaged(1, 10) .where(DataServiceCriteria.StartStageDate, startDate) .execute(); // API raw response "total_record_count" int totalRecordCount = disputes.getTotalRecordCount(); // API raw response "disputes" List disputeList = disputes.getResults(); if (disputeList.isEmpty()) { // TODO: Add empty disputes list handling here } DisputeSummary dispute = disputeList.get(0); // API raw response "disputes[0]->id" String id = dispute.getCaseId(); // API raw response "disputes[0]->stage_time_created" DateTime timeCreated = dispute.getCaseIdTime(); // API raw response "disputes[0]->status" String status = dispute.getCaseStatus(); // API raw response "disputes[0]->stage" String stage = dispute.getCaseStage(); // API raw response "disputes[0]->amount" BigDecimal amount = dispute.getCaseAmount(); // API raw response "disputes[0]->currency" String currency = dispute.getCaseCurrency(); // API raw response "disputes[0]->system->mid" String mid = dispute.getCaseMerchantId(); // API raw response "disputes[0]->system->hierarchy" String hierarchy = dispute.getMerchantHierarchy(); // API raw response "disputes[0]->payment_method->card->number" String maskedCardNumber = dispute.getTransactionMaskedCardNumber(); // API raw response "disputes[0]->payment_method->card->arn" String arn = dispute.getTransactionARN(); // API raw response "disputes[0]->payment_method->card->brand" String cardType = dispute.getTransactionCardType(); // API raw response "disputes[0]->reason_code" String reasonCode = dispute.getReasonCode(); // API raw response "disputes[0]->reason_description" String reason = dispute.getReason(); // API raw response "disputes[0]->order->reference" String orderId = dispute.getTransactionOrderId(); // API raw response "disputes[0]->time_to_respond_by" DateTime respondByDate = dispute.getRespondByDate(); // API raw response "disputes[0]->result" String result = dispute.getResult(); // API raw response "disputes[0]->last_adjustment_amount" BigDecimal lastAdjustmentAmount = dispute.getLastAdjustmentAmount(); // API raw response "disputes[0]->last_adjustment_currency" String lastAdjustmentCurrency = dispute.getLastAdjustmentCurrency(); // API raw response "disputes[0]->last_adjustment_funding" String lastAdjustmentFunding = dispute.getLastAdjustmentFunding(); return; } catch (ApiException e) { // TODO: Add your exception handling here }catch (IOException e) { throw new RuntimeException(e.getMessage()); } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); DateTime StartDate = DateTime.UtcNow.AddDays(-30); try { PagedResult response = ReportingService.FindDisputesPaged(1,10) .Where(DataServiceCriteria.StartStageDate, StartDate) .Execute(); // API raw response "total_record_count" var totalRecordCount = response.TotalRecordCount; DisputeSummary dispute = response.Results.First(); // API raw response "disputes[0]->id" var id = dispute.CaseId; // API raw response "disputes[0]->stage_time_created" var timeCreated = dispute.CaseIdTime; // API raw response "disputes[0]->status" var status = dispute.CaseStatus; // API raw response "disputes[0]->stage" var stage = dispute.CaseStage; // API raw response "disputes[0]->amount" var amount = dispute.CaseAmount; // API raw response "disputes[0]->currency" var currency = dispute.CaseCurrency; // API raw response "disputes[0]->reason_code" var reasonCode = dispute.ReasonCode; // API raw response "disputes[0]->reason_description" var reason = dispute.Reason; // API raw response "disputes[0]->time_to_respond_by" var respondByDate = dispute.RespondByDate; // API raw response "disputes[0]->result" var result = dispute.Result; // API raw response "disputes[0]->last_adjustment_amount" var lastAdjustmentAmount = dispute.LastAdjustmentAmount; // API raw response "disputes[0]->last_adjustment_currency" var lastAdjustmentCurrency = dispute.LastAdjustmentCurrency; // API raw response "disputes[0]->last_adjustment_funding" var lastAdjustmentFunding = dispute.LastAdjustmentFunding; // API raw response "disputes[0]->system->mid" var mid = dispute.CaseMerchantId; // API raw response "disputes[0]->system->hierarchy" var systemHierarchy = dispute.MerchantHierarchy; // API raw response "disputes[0]->payment_method->card->number" var maskedCardNumber = dispute.TransactionMaskedCardNumber; // API raw response "disputes[0]->payment_method->card->arn" var arn = dispute.TransactionARN; // API raw response "disputes[0]->payment_method->card->brand" var cardType = dispute.TransactionCardType; // API raw response "disputes[0]->order->reference" var orderId = dispute.TransactionOrderId; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $startDate = (new DateTime())->modify("-30 days")->setTime(0, 0, 0); try { /** @var \GlobalPayments\Api\Entities\GpApi\PagedResult $disputes */ $disputes = ReportingService::findDisputesPaged(1, 10) ->where(DataServiceCriteria::START_STAGE_DATE, $startDate) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "total_record_count" $totalRecordCount = $disputes->totalRecordCount; //API raw response "disputes" $disputeList = $disputes->result; if (empty($disputeList)) { echo "No disputes found.\n"; } /** @var \GlobalPayments\Api\Entities\Reporting\DisputeSummary $dispute */ $dispute = reset($disputeList); // API raw response "disputes[0]->id" $id = $dispute->caseId; // API raw response "disputes[0]->stage_time_created" $timeCreated = $dispute->caseIdTime; // API raw response "disputes[0]->status" $status = $dispute->caseStatus; // API raw response "disputes[0]->stage" $stage = $dispute->caseStage; // API raw response "disputes[0]->amount" $amount = $dispute->caseAmount; // API raw response "disputes[0]->currency" $currency = $dispute->caseCurrency; // API raw response "disputes[0]->system->mid" $mid = $dispute->caseMerchantId; // API raw response "disputes[0]->system->hierarchy" $hierarchy = $dispute->merchantHierarchy; // API raw response "disputes[0]->payment_method->card->number" $maskedCardNumber = $dispute->transactionMaskedCardNumber; // API raw response "disputes[0]->payment_method->card->arn" $arn = $dispute->transactionARN; // API raw response "disputes[0]->payment_method->card->brand" $cardType = $dispute->transactionCardType; // API raw response "disputes[0]->reason_code" $reasonCode = $dispute->reasonCode; // API raw response "disputes[0]->reason_description" $reason = $dispute->reason; // API raw response "disputes[0]->order->reference" $orderId = $dispute->orderId; // API raw response "disputes[0]->time_to_respond_by" $respondByDate = $dispute->respondByDate; // API raw response "disputes[0]->result" $result = $dispute->result; // API raw response "disputes[0]->last_adjustment_amount" $lastAdjustmentAmount = $dispute->lastAdjustmentAmount; // API raw response "disputes[0]->last_adjustment_currency" $lastAdjustmentCurrency = $dispute->lastAdjustmentCurrency; // API raw response "disputes[0]->last_adjustment_funding" $lastAdjustmentFunding = $dispute->lastAdjustmentFunding; ``` ### Disputes list response The response contains all of the disputes that were created from the date specified. This list includes the ID, status, amount, reason, date, and time the dispute was created. Depending on the use case, the data returned in the disputes list response may be enough information for your application to proceed to the next action (Step 2). Alternatively, we show you in the next step how to pull the full detail of an individual dispute. #### Sample response ```JSON { "total_count": 20, "merchant_id": "MER_62251730c5574bbcb268191b5f315de8", "merchant_name": "TEST MERCHANT", "account_id": "DIA_882c832d13e04185bb6e213d6303ed98", "account_name": "testdispute", "disputes": [ { "id": "DIS_SAND_abcd1234", "time_created": "2020-02-23T13:34:38.276Z", "status": "WITH_MERCHANT", "stage": "RETRIEVAL", "amount": "1000", "currency": "USD", "system": { "mid": "627384967", "hierarchy": "111-23-099-001-001" }, "payment_method": { "card": { "number": "424242xxxxxx4242", "arn": "834523482349123", "brand": "VISA" } }, "reason_code": "104", "reason_description": "Other Fraud-Card Absent Environment", "time_to_respond_by": "2020-03-11T13:34:38.276Z", "result": "PENDING", "last_adjustment_amount": "", "last_adjustment_currency": "", "last_adjustment_funding": "" }, { "id": "DIS_SAND_abcd1235", "time_created": "2020-02-23T13:34:38.276Z", "status": "WITH_MERCHANT", "stage": "CHARGEBACK", "amount": "1500", "currency": "USD", "system": { "mid": "627384967", "hierarchy": "111-23-099-001-001" }, "payment_method": { "card": { "number": "424242xxxxxx4242", "arn": "123934529762282", "brand": "VISA" } }, "reason_code": "132", "reason_description": "Cancelled Recurring", "time_to_respond_by": "2020-03-11T13:34:38.276Z", "result": "PENDING", "last_adjustment_amount": "1500", "last_adjustment_currency": "USD", "last_adjustment_funding": "DEBIT" }, { "id": "DIS_SAND_abcd1236", "time_created": "2020-02-23T13:34:38.276Z", "status": "WITH_MERCHANT", "stage": "SECOND_CHARGEBACK", "amount": "2000", "currency": "USD", "system": { "mid": "627384967", "hierarchy": "111-23-099-001-001" }, "payment_method": { "card": { "number": "424242xxxxxx4242", "arn": "549365667487346", "brand": "VISA" } }, "reason_code": "137", "reason_description": "Cancelled Merchandise/Services", "time_to_respond_by": "2020-03-11T13:34:38.276Z", "result": "PENDING", "last_adjustment_amount": "2000", "last_adjustment_currency": "USD", "last_adjustment_funding": "DEBIT" }, { "id": "DIS_SAND_abcd1237", "time_created": "2020-02-23T13:34:38.276Z", "status": "WITH_MERCHANT", "stage": "PRE_ARBITRATION", "amount": "2500", "currency": "USD", "system": { "mid": "627384967", "hierarchy": "111-23-099-001-001" }, "payment_method": { "card": { "number": "424242xxxxxx4242", "arn": "217450078337808", "brand": "VISA" } }, "reason_code": "1261", "reason_description": "Duplicate Processing", "time_to_respond_by": "2020-03-11T13:34:38.276Z", "result": "PENDING", "last_adjustment_amount": "2500", "last_adjustment_currency": "USD", "last_adjustment_funding": "DEBIT" }, { "id": "DIS_SAND_abcd1238", "time_created": "2020-02-23T13:34:38.276Z", "status": "WITH_MERCHANT", "stage": "ARBITRATION", "amount": "3000", "currency": "USD", "system": { "mid": "627384967", "hierarchy": "111-23-099-001-001" }, "payment_method": { "card": { "number": "543267xxxxxx7207", "arn": "974871170906920", "brand": "MASTERCARD" } }, "reason_code": "4834", "reason_description": "Point of Interaction Error", "time_to_respond_by": "2020-03-11T13:34:38.276Z", "result": "PENDING", "last_adjustment_amount": "3000", "last_adjustment_currency": "USD", "last_adjustment_funding": "DEBIT" } ], "action": { "id": "ACT_5blBTHnIs4aOCIvGwG7KizYUpsGI0g", "type": "DISPUTE_LIST", "time_created": "2020-03-06T13:34:38.406Z", "result_code": "SUCCESS", "app_id": "7ABZlMiSukISskkxxtDTMzpTN5nG5Jjw", "app_name": "ucp-disputes-testharness" } } ``` ## [Optional] Get dispute information Using the unique ID returned in the list, you can obtain the full dispute record to understand more about the disputes that were raised. This will provide you with more detail regarding a single dispute such as a chargeback, retrieval or arbitration. #### Sample request ```JSON curl -L -X GET 'https://apis.sandbox.globalpay.com/unifiedcommerce/disputes/DIS_SAND_abcd1235' \ -H 'Authorization: Bearer 72hyeepo8DnW053OrqAEFwAzeDtC' \ -H 'X-GP-Version: 2020-01-20' \ -H 'Accept: application/json' \ -H 'Accept-Encoding: gzip' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); String disputeId = "DIS_SAND_abcd1235"; try { DisputeSummary dispute = ReportingService.disputeDetail(disputeId) .execute(); // API raw response "id" String id = dispute.getCaseId(); // API raw response "stage_time_created" DateTime timeCreated = dispute.getCaseIdTime(); // API raw response "status" String status = dispute.getCaseStatus(); // API raw response "stage" String stage = dispute.getCaseStage(); // API raw response "stage_time_created" DateTime stageTimeCreated = dispute.getCaseStageTime(); // API raw response "amount" BigDecimal amount = dispute.getCaseAmount(); // API raw response "currency" String currency = dispute.getCaseCurrency(); // API raw response "payer_amount" BigDecimal payerAmount = dispute.getDisputeCustomerAmount(); // API raw response "payer_currency" String payerCurrency = dispute.getDisputeCustomerCurrency(); // API raw response "reason_code" String reasonCode = dispute.getReasonCode(); // API raw response "reason_description" String reason = dispute.getReason(); // API raw response "order->reference" String orderId = dispute.getTransactionOrderId(); // API raw response "time_to_respond_by" DateTime respondByDate = dispute.getRespondByDate(); // API raw response "result" String result = dispute.getResult(); // API raw response "system->mid" String mid = dispute.getCaseMerchantId(); // API raw response "system->hierarchy" String hierarchy = dispute.getMerchantHierarchy(); // API raw response "system->name" String systemName = dispute.getMerchantName(); // API raw response "last_adjustment_amount" BigDecimal lastAdjustmentAmount = dispute.getLastAdjustmentAmount(); // API raw response "last_adjustment_currency" String lastAdjustmentCurrency = dispute.getLastAdjustmentCurrency(); // API raw response "last_adjustment_funding" String lastAdjustmentFunding = dispute.getLastAdjustmentFunding(); // API raw response "last_adjustment_time_created" String lastAdjustmentTimeCreated = dispute.getLastAdjustmentTimeCreated(); // API raw response "payment_method_provider->comment" ArrayList issuerComments = dispute.getIssuerComment(); // API raw response "payment_method_provider->reference" ArrayList issuerReferences = dispute.getIssuerCaseNumber(); // API raw response "transaction->time_created" DateTime trnTimeCreated = dispute.getTransactionTime(); // API raw response "transaction->type" String transactionType = dispute.getTransactionType(); // API raw response "transaction->amount" BigDecimal transactionAmount = dispute.getTransactionAmount(); // API raw response "transaction->currency" String transactionCurrency = dispute.getTransactionCurrency(); // API raw response "transaction->reference" String transactionReferenceNumber = dispute.getTransactionReferenceNumber(); // API raw response "payment_method->card->number" String transactionMaskedCardNumber = dispute.getTransactionMaskedCardNumber(); // API raw response "payment_method->card->arn" String transactionARN = dispute.getTransactionARN(); // API raw response "payment_method->card->brand" String transactionCardType = dispute.getTransactionCardType(); // API raw response "payment_method->card->authcode" String transactionAuthCode = dispute.getTransactionAuthCode(); // API raw response "payment_method->card->brand_reference" String transactionBrandReference = dispute.getTransactionBrandReference(); // API raw response "documents" ArrayList documents = dispute.getDocuments(); return; } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); string disputeId = "DIS_SAND_abcd1235"; try { DisputeSummary dispute = ReportingService.DisputeDetail(disputeId) .Execute(); // API raw response "id" var id = dispute.CaseId; // API raw response "stage_time_created" var timeCreated = dispute.CaseIdTime; // API raw response "status" var status = dispute.CaseStatus; // API raw response "stage_time_created" var stageTimeCreated = dispute.CaseStageTime; // API raw response "stage" var stage = dispute.CaseStage; // API raw response "amount" var amount = dispute.CaseAmount; // API raw response "currency" var currency = dispute.CaseCurrency; // API raw response "payer_amount" var payerAmount = dispute.DisputeCustomerAmount; // API raw response "payer_currency" var payerCurrency = dispute.DisputeCustomerCurrency; // API raw response "reason_code" var reasonCode = dispute.ReasonCode; // API raw response "reason_description" var reason = dispute.Reason; // API raw response "time_to_respond_by" var respondByDate = dispute.RespondByDate; // API raw response "result" var result = dispute.Result; // API raw response "last_adjustment_amount" var lastAdjustmentAmount = dispute.LastAdjustmentAmount; // API raw response "last_adjustment_currency" var lastAdjustmentCurrency = dispute.LastAdjustmentCurrency; // API raw response "last_adjustment_funding" var lastAdjustmentFunding = dispute.LastAdjustmentFunding; // API raw response "system->mid" var mid = dispute.CaseMerchantId; // API raw response "system->hierarchy" var systemHierarchy = dispute.MerchantHierarchy; // API raw response "payment_method->card->number" var maskedCardNumber = dispute.TransactionMaskedCardNumber; // API raw response "payment_method->card->arn" var arn = dispute.TransactionARN; // API raw response "payment_method->card->brand" var cardType = dispute.TransactionCardType; // API raw response "payment_method->card->authcode" var transactionAuthCode = dispute.TransactionAuthCode; // API raw response "payment_method->card->brand_reference" var transactionBrandReference = dispute.TransactionBrandReference; // API raw response "order->reference" var orderId = dispute.TransactionOrderId; // API raw response "documents" var documents = dispute.Documents; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $disputeId = "DIS_SAND_abcd1235"; try { /** @var \GlobalPayments\Api\Entities\Reporting\DisputeSummary $dispute */ $dispute = ReportingService::disputeDetail($disputeId) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "id" $id = $dispute->caseId; // API raw response "stage_time_created" $timeCreated = $dispute->caseIdTime; // API raw response "status" $status = $dispute->caseStatus; // API raw response "stage" $stage = $dispute->caseStage; // API raw response "stage_time_created" $stageTimeCreated = $dispute->disputeStageTime; // API raw response "amount" $amount = $dispute->caseAmount; // API raw response "currency" $currency = $dispute->caseCurrency; // API raw response "payer_amount" $payerAmount = $dispute->disputeCustomerAmount; // API raw response "payer_currency" $payerCurrency = $dispute->disputeCustomerCurrency; // API raw response "reason_code" $reasonCode = $dispute->reasonCode; // API raw response "reason_description" $reason = $dispute->reason; // API raw response "order->reference" $orderId = $dispute->orderId; // API raw response "time_to_respond_by" $respondByDate = $dispute->respondByDate; // API raw response "result" $result = $dispute->result; // API raw response "system->mid" $mid = $dispute->caseMerchantId; // API raw response "system->hierarchy" $hierarchy = $dispute->merchantHierarchy; // API raw response "system->name" $systemName = $dispute->merchantName; // API raw response "last_adjustment_amount" $lastAdjustmentAmount = $dispute->lastAdjustmentAmount; // API raw response "last_adjustment_currency" $lastAdjustmentCurrency = $dispute->lastAdjustmentCurrency; // API raw response "last_adjustment_funding" $lastAdjustmentFunding = $dispute->lastAdjustmentFunding; // API raw response "last_adjustment_time_created" $lastAdjustmentTimeCreated = $dispute->lastAdjustmentTimeCreated; // API raw response "payment_method_provider->comment" $issuerComments = $dispute->issuerComment; // API raw response "payment_method_provider->reference" $issuerReferences = $dispute->issuerCaseNumber; // API raw response "transaction->time_created" $trnTimeCreated = $dispute->transactionTime; // API raw response "transaction->type" $transactionType = $dispute->transactionType; // API raw response "transaction->amount" $transactionAmount = $dispute->transactionAmount; // API raw response "transaction->currency" $transactionCurrency = $dispute->transactionCurrency; // API raw response "transaction->reference" $transactionReferenceNumber = $dispute->transactionReferenceNumber; // API raw response "payment_method->card->number" $transactionMaskedCardNumber = $dispute->transactionMaskedCardNumber; // API raw response "payment_method->card->arn" $transactionARN = $dispute->transactionARN; // API raw response "payment_method->card->brand" $transactionCardType = $dispute->transactionCardType; // API raw response "payment_method->card->authcode" $transactionAuthCode = $dispute->transactionAuthCode; // API raw response "payment_method->card->brand_reference" $transactionBrandReference = $dispute->transactionBrandReference; // API raw response "documents" $documents = $dispute->documents; ``` ### Disputes information response The information returned in the response provides you with all the details regarding this dispute. This includes the current status of the dispute, the time and date when it was created, and any investigator comments. To see the full list of data that can be returned, see [Disputes](https://developer.globalpayments.com/api/disputes.md) in the API Explorer. #### Sample response ```JSON { "id": "DIS_SAND_abcd1235", "time_created": "2020-02-26T09:31:43.806Z", "merchant_id": "MER_62251730c5574bbcb268191b5f315de8", "merchant_name": "TEST MERCHANT", "account_id": "DIA_882c832d13e04185bb6e213d6303ed98", "account_name": "testdispute", "status": "WITH_MERCHANT", "status_time_created": "2020-02-28T09:31:43.806Z", "stage": "CHARGEBACK", "stage_time_created": "2020-03-02T09:31:43.806Z", "amount": "1500", "currency": "USD", "payer_amount": "1500", "payer_currency": "USD", "merchant_amount": "1500", "merchant_currency": "USD", "reason_code": "132", "reason_description": "Cancelled Recurring", "time_to_respond_by": "2020-03-14T09:31:43.806Z", "result": "PENDING", "investigator_comment": "WITH_MERCHANT CHARGEBACK PENDING 1500 USD 1500 USD", "system": { "mid": "627384967", "hierarchy": "111-23-099-001-001", "name": "ABC INC." }, "last_adjustment_amount": "1500", "last_adjustment_currency": "USD", "last_adjustment_funding": "DEBIT", "last_adjustment_time_created": "2020-03-05T09:31:43.806Z", "net_financial_amount": "1500", "net_financial_currency": "USD", "net_financial_funding": "DEBIT", "payment_method_provider": [ { "comment": "issuer comments 34524", "reference": "issuer-reference-0002", "documents": [] } ], "transaction": { "time_created": "2020-01-19T09:31:43.806Z", "type": "SALE", "amount": "1500", "currency": "USD", "reference": "my-trans-AAA2", "remarks": "my-trans-AAA2", "payment_method": { "card": { "number": "424242xxxxxx4242", "arn": "123934529762282", "brand": "VISA", "authcode": "AA2399", "brand_reference": "898375467348954" } } }, "documents": [ { "id": "DOC_MyEvidence_234234AVCDE-1", "type": "SALES_RECEIPT" } ], "action": { "id": "ACT_5blBTHnIs4aOCIvGwG7KizYUpsGI0g", "type": "DISPUTE_SINGLE", "time_created": "2020-03-09T09:31:43.877Z", "result_code": "SUCCESS", "app_id": "7ABZlMiSukISskkxxtDTMzpTN5nG5Jjw", "app_name": "ucp-disputes-testharness" } } ``` ## Step 2: Accept or challenge a dispute In the scenario of a chargeback or retrieval case, there are two actions you can take regarding the dispute: accept and take liability for the dispute or challenge it. ### Challenge a dispute A dispute challenge requires some evidence, depending on the case type. This evidence can be in the form of a sales receipt, proof of delivery, or a copy of the terms and conditions. Each evidence document must be submitted as a base64-encoded string. #### Sample request ```JSON curl -L -X POST 'https://apis.sandbox.globalpay.com/unifiedcommerce/disputes/DIS_SAND_abcd1235/challenge' \ -H 'Authorization: Bearer 72hyeepo8DnW053OrqAEFwAzeDtC' \ -H 'X-GP-Version: 2020-01-20' \ -H 'Accept: application/json' \ -H 'Accept-Encoding: gzip' \ -H 'Content-Type: application/json' \ -D '{ "documents": [ { "type": "SALES_RECEIPT", "b64_content": "R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv" } ] }' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); DisputeSummary dispute = new DisputeSummary().fromId("DIS_SAND_abcd1234"); DisputeDocument document = new DisputeDocument(); document.setType("SALES_RECEIPT"); document.setBase64Content("R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv"); ArrayList documents = new ArrayList<>(); documents.add(document); try { Transaction response = dispute.challenge(documents) .execute(); // API raw response "id" String id = response.getTransactionId(); // API raw response "status" String status = response.getResponseMessage(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); return; } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); var disputeDocuments = new List { new DisputeDocument { Type = "SALES_RECEIPT", Base64Content = "R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv", }, new DisputeDocument { Type = "TERMS_AND_CONDITIONS", Base64Content = "R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv", } }; DisputeSummary dispute = new DisputeSummary { CaseId = "DIS_SAND_abcd1241" }; try { Transaction response = dispute.Challenge(disputeDocuments) .Execute(); // API raw response "id" var id = response.TransactionId; // API raw response "status" var status = response.ResponseMessage; // API raw response "action->result_code" var responseCode = response.ResponseCode; // API raw response "amount" var amount = response.BalanceAmount; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $dispute = DisputeSummary::fromId("DIS_SAND_abcd1234"); $document = new DisputeDocument(); $document->type = 'SALES_RECEIPT'; $document->b64_content = 'R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv'; $documents[] = $document; try { /** @var DisputeSummary $dispute */ $response = $dispute->challenge($documents)->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "id" $id = $response->transactionId; // API raw response "status" $status = $response->responseMessage; // API raw response "action->result_code" $responseCode = $response->responseCode; // API raw response "amount" $amount = $response->balanceAmount; ``` ### Dispute challenge response The response of the challenge request contains information on the case, including the status, stage, and the result of the dispute. If successful, the evidence provided is sent to us to review and then sent to the issuer to support the chargeback case. If unsuccessful, detailed information is provided regarding the error. #### Sample response ```JSON { "id": "DIS_SAND_abcd1235", "status": "UNDER_REVIEW", "stage": "CHARGEBACK", "amount": "1500", "currency": "USD", "reason_code": "132", "reason_description": "Cancelled Recurring", "result": "PENDING", "documents": [ { "id": "DOC_MyEvidence_234234AVCDE-0" } ], "action": { "id": "ACT_5blBTHnIs4aOCIvGwG7KizYUpsGI0g", "type": "CHALLENGE", "time_created": "2020-03-09T14:45:05.575Z", "result_code": "SUCCESS", "app_id": "7ABZlMiSukISskkxxtDTMzpTN5nG5Jjw", "app_name": "ucp-disputes-testharness" } } ``` ### Accept a dispute There are a number of reasons to accept and take liability of a dispute. These reasons include: * If the dispute case is in fact valid. * The amount disputed is minimal and challenging the transaction does not justify the work involved. * To avoid proceeding to arbitration. To accept liability for a dispute, you just need to provide the unique ID of the case. #### Sample request ```JSON curl -L -X POST 'https://apis.sandbox.globalpay.com/unifiedcommerce/disputes/DIS_SAND_abcd1236/acceptance' \ -H 'Authorization: Bearer 72hyeepo8DnW053OrqAEFwAzeDtC' \ -H 'X-GP-Version: 2020-01-20' \ -H 'Accept: application/json' \ -H 'Accept-Encoding: gzip' \ -H 'Content-Type: application/json' ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); DisputeSummary dispute = new DisputeSummary().fromId("DIS_SAND_abcd1234"); try { Transaction response = dispute.accept() .execute(); // API raw response "id" String id = response.getTransactionId(); // API raw response "status" String status = response.getResponseMessage(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); // API raw response key "amount" BigDecimal amount = response.getBalanceAmount(); return; } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); DisputeSummary dispute = new DisputeSummary { CaseId = "DIS_SAND_abcd1234" }; try { Transaction response = dispute.Accept() .Execute(); // API raw response "id" var id = response.TransactionId; // API raw response "status" var status = response.ResponseMessage; // API raw response "action->result_code" var responseCode = response.ResponseCode; // API raw response "amount" var amount = response.BalanceAmount; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $dispute = DisputeSummary::fromId("DIS_SAND_abcd1234"); try { $response = $dispute->accept()->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "id" $id = $response->transactionId; // API raw response "status" $status = $response->responseMessage; // API raw response "amount" $amount = $response->balanceAmount; ``` ### Accept response The response contains the status, stage, and the result of the dispute. It also contains information on the result of the action, whether it was successful or not. By accepting the dispute, you accept the liability of the dispute. The customer then retains the funds, and the case is closed. This also indicates that you do not want to take any further action in the case. #### Sample response ```JSON { "id": "DIS_SAND_abcd1236", "status": "CLOSED", "stage": "SECOND_CHARGEBACK", "amount": "2000", "currency": "USD", "reason_code": "137", "reason_description": "Cancelled Merchandise/Services", "result": "ACCEPTED", "action": { "id": "ACT_5blBTHnIs4aOCIvGwG7KizYUpsGI0g", "type": "ACCEPT", "time_created": "2020-03-10T10:30:43.322Z", "result_code": "SUCCESS", "app_id": "7ABZlMiSukISskkxxtDTMzpTN5nG5Jjw", "app_name": "ucp-disputes-testharness" } } ``` ## Dispute fields Below is a detailed explanation of some of the dispute fields returned in the API. ### `entry_mode_code` This is a two-digit code that identifies the method used to accept the cardholder’s payment details. | Code | Card Brand | Description | | -------- | ------- | ------- | | 00 | AX | Terminal not used | | 01 | AX | Manual key entry | | 02 | AX | Magnetic stripe read; CVV checking may not be possible; Exact Track 2 contents read but transaction is not eligible for CVV checking | | 03 | AX | Barcode | | 04 | AX | Optical Character Recognition (OCR) read | | 05 | AX | Integrated circuit card read; CVV or iCVV data is reliable | | 06 | AX | Track 1 read | | 07 | AX | Proximity payment using Visa Smart Debit/Credit (VSDC) chip data rules | | 10, 51, 52, 61, 62, 64, 67, 80, 81 | AX | Unknown | | 90 | AX | Magnetic stripe read and exact content of Track 1 or Track 2, CVV check is possible | | 91 | AX | Proximity payment (magnetic stripe on the card was read) | | 95 | AX | Integrated circuit card, CVV or iCVV checking may not be possible | | 00 | DI | Unknown (card not present) | | 01 | DI | Manual key entry | | 02 | DI | Magnetic stripe read | | 03 | DI | Barcode or payment code | | 04 | DI | Optical character reader (OCR) | | 05 | DI | Integrated circuit card reader | | 07 | DI | Electronic commerce (card not present) | | 08 | DI | Card present, magstripe is defective and cannot be read | | 10 | DI | Stored card account (card present) | | 79, 80 | DI | Unknown (card present) | | 81 | DI | Radio frequency identification (RFID) indicator \- Magnetic stripe | | 82 | DI | Mobile commerce (card not present) | | 83 | DI | Radio frequency identification (RFID) indicator \- Chip | | 85 | DI | Chip fallback (chip-enabled card, processed using the card's magnetic stripe) | | 90 | DI | Voice authorization (card not present) | | 94 | DI | Biometrics (card not present) | | 00 | MC | PAN entry mode unknown (card not present) | | 01 | MC | PAN manual entry (key entered) | | 02, 90 | MC | PAN auto-entry via magnetic stripe \- No track data required | | 03 | MC | PAN auto-entry via bar code reader | | 04 | MC | PAN auto-entry via optical character reader (OCR) | | 05 | MC | PAN auto-entry via chip | | 06 | MC | PAN auto-entry via chip with Paypass Mapping Service applied | | 07 | MC | PAN auto-entry via contactless M/Chip | | 08 | MC | Pan auto-entry via contactless M/Chip Paypass Mapping Service applied | | 10 | MC | Credential on file (card not present) | | 79 | MC | Chip fallback (chip-enabled card, processed using the card's magnetic stripe) via a hybrid terminal (Track 2\) | | 80 | MC | Chip fallback at a chip-capable terminal \- Full track data read | | 81 | MC | PAN entry via electronic commerce; can include a chip card (card not present) | | 82 | MC | PAN auto-entry via server; includes issuer, acquirer, or third party vendor systems (card not present) | | 91 | MC | PAN auto-entry via contactless magnetic stripe | | 92 | MC | Contactless input, Paypass Mapping Service applied | | 95 | MC | Chip card with unreliable CVV data (applies to Visa cards only) | | 00 | PR | PAN entry mode unknown, terminal was not used to capture card (card not present) | | 01 | PR | Manual entry via mail order, telephone order (MO/TO) or internet | | 02 | PR | Magnetic stripe read, checking may not be possible | | 03 | PR | Bar code reader | | 04 | PR | Optical character reader (OCR) | | 05 | PR | Chip-read (information was obtained from the chip on the card) | | 06 | PR | Chip-read (Track 1\) | | 07 | PR | Proximity payment (proximity chip on the card was read) | | 10 | PR | Credential on file (card not present) | | 84 | PR | MICR Reader (magnetic ink character recognition reader device was used in the POS check service) | | 90 | PR | Magnetic stripe read and exact content of Track 1 and Track 2 included (mag stripe or chip fallback) | | 91 | PR | Proximity payment (magnetic stripe on the card was read) | | 95 | PR | Integrated circuit card, chip data on the card may be unreliable | | 96 | PR | Stored value from pre-registered check-out service | | 00 | VI | PAN entry mode unknown, terminal was not used to capture card (card not present) | | 01 | VI | Manual entry via mail order, telephone order (MO/TO) or internet | | 02 | VI | Magnetic stripe read, checking may not be possible | | 03 | VI | Bar code reader | | 04 | VI | Optical character reader (OCR) | | 05 | VI | Chip-read (information was obtained from the chip on the card) | | 06 | VI | Chip-read (Track 1\) | | 07 | VI | Proximity payment (proximity chip on the card was read) | | 10 | VI | Credential on file (card not present) | | 79, 80 | VI | Unknown | | 84 | VI | MICR Reader (magnetic ink character recognition reader device was used in the POS check service) | | 90 | VI | Magnetic stripe read and exact content of Track 1 and Track 2 included (mag stripe or chip fallback) | | 91 | VI | Proximity payment (magnetic stripe on the card was read) | | 95 | VI | Integrated circuit card, chip data on the card may be unreliable | | 96 | VI | Stored value from pre-registered check-out service | ### `terminal_capacity_code` The `terminal_capacity_code` represents the terminal’s: * Capability: How the card information in the disputed transaction was captured * Operating environment: The location of the terminal used in the disputed transaction and whether it was attended or unattended by the card acceptor. The `terminal_capacity_code` values and their meaning vary by card brand and are explained in the table below. #### Visa | Code | Description | | -------- | ------- | | Blank | Unknown, default to `0` | | 0 | Unknown | | 1 | No terminal | | 2 | Magnetic stripe reader | | 3 | Optical code | | 4 | OCR reader | | 5 | Chip capable terminal | | 8 | Contactless-read capability | | 9 | Key entry only; no electronic reading capability | #### Mastercard | Code | Description | | -------- | ------- | | Blank | Unknown, default to `9` | | 0 | No terminal | | 1 | On card acceptor premises; attended | | 2 | On card acceptor premises; unattended | | 3 | Off card acceptor premises; attended | | 4 | Off card acceptor premises; unattended | | 5 | On cardholder premises; unattended | | 6 | Off cardholder premises; unattended | | 9 | Unknown; data not available | ### American Express | Code | Description | | -------- | ------- | | 0 | No terminal used or terminal is unknown | | 1 | On card acceptor premises; attended terminal | | 2 | On card acceptor premises; unattended terminal | | 3 | Off card acceptor premises; attended terminal | | 4 | Off card acceptor premises; unattended | | 5 | On cardholder premises; unattended | ## Testing disputes management Our Disputes Management solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Integration references To get a deeper understanding of Disputes Management, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [API /accesstoken](https://developer.globalpayments.com/api/access-token.md) Generate an access token. ### [API /disputes](https://developer.globalpayments.com/api/disputes.md) Create and retrieve payment links. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ## Enhance your integration Below are value-added services you can enable for Disputes Management. ### [Real-Time Data Reporting](https://developer.globalpayments.com/docs/reporting/real-time-reporting-guide.md) Tokenize card details to charge customers later. ### [Settlement Reporting](https://developer.globalpayments.com/docs/reporting/settlement-reporting-overview.md) Integrate with alternative and local payment methods. ### [File Processing](https://developer.globalpayments.com/docs/operations/file-processing-overview.md) Integrate with alternative and local payment methods. ## Overview Source: https://developer.globalpayments.com/docs/operations/file-processing-overview.md # File Processing - Overview Our File Processing solution allows merchants or partners to upload bulk files with high volumes of requests, such as transactions, in one file. You can generate this file automatically using your Customer Relationship Management (CRM) system or export it manually from a spreadsheet. All of our APIs are accessible using the dynamic file format. With File Processing, you can: * Process bulk files of large volumes of card payments. * Convert a large number of tokens at once. * Control what data is sent from your CRM rather than streaming all of it. * Manually upload any file as a one-time import. * Process bulk data from merchant onboarding (partners only). ## Use cases In this section, we present some “real world” examples that can be enabled through our File Processing solution. Keep in mind that this section doesn’t cover all use cases. ##### Use case #1: Recurring transactions A video streaming service wants to process a recurring transactions file on the first day of the month so that they can bill all of their customers with subscription memberships. After getting set up with our File Processing solution, they export a file from their system and upload it to ours. When the file is finished processing, they download the response file. Now they can view the results for each transaction and update their systems accordingly. ##### Use case #2: Token conversion and creation A merchant needs to tokenize a large volume of tokens. The merchant is new to us and therefore needs to convert their “legacy” tokens to ours. So, the merchant uses our File Processing solution to convert all of the tokens at once. The merchant could also use our solution to create network tokens in bulk. ##### Use case #3: Onboarding merchants (partners only) A partner wants to onboard a large number of new merchants at the same time. As part of the onboarding process, there are several tasks that need to be done for each merchant: * Create a merchant in the system. * Add the platforms the merchant will use. * Add the account capabilities the merchant will use. * Create app credentials for the merchant. * Securely share app credentials with the merchant. To make the whole process easier, the partner decides to access our onboarding APIs via the File Processing solution so that the above onboarding tasks can be automated. ## How does it work? Once you’re set up to use our File Processing solution, you can start the process to upload a file. First, you create your file in the comma-separated values (.csv) format. We can accept files up to 10 MB. You can use our provided templates to ensure that your request file is properly formatted. You’ll then need to send a create request to our API to get a signed URL so that you have a secure location to upload the file to. The URL is valid for 15 minutes. The response will also include a unique File Processing Resource ID (`FPR_ID`) to represent the file you plan to upload. Next, you’ll encrypt your file using part of a key pair that you’ve created using an open-source public key cryptosystem (OpenPGP). After you send the encrypted file to our API, we’ll decrypt it and process all of the records in the file. We’ll then send a webhook to notify you when the file is finished processing. This will include a signed URL from which you can download the response file. The response file contains the results for each transaction in the file. At a high level, File Processing works like this: ![Diagram flow showing interaction between the merchant, our API, and our File Processing solution to process a file.](https://developer.globalpayments.com/gh-assets/file-processing_flow.png) **File Processing Typical Flow** ## File statuses The status of your uploaded file changes as it is being processed by our API and our File Processing solution. The following table describes when the status occurs during the process. | File Status | Description | | -------- | ------- | | INITIATED | The initial status of all newly created file resources. Occurs after the API sends the signed URL to upload your file to. | | UPLOADED | Occurs after you upload the bulk file to the signed URL provided by the API. | | PENDING | Occurs after record validation if the combinations are deemed valid by our File Processing solution. | | SUBMITTED | Occurs once the file has been fully processed. | | FAILED | Occurs after record validation if the combinations are deemed invalid by our File Processing solution. | | COMPLETED | Occurs after the response file is generated and the API sends you the signed URL to download the encrypted response file via webhook notification. | ## Next steps To try our File Processing solution, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/operations/file-processing-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/operations/file-processing-guide.md # File Processing - Guide In this guide, you’ll learn how to generate your public-private key pair, share the public key with us, and receive our public key — all so that you can encrypt the file you want to process. You’ll then learn how to send the file to us for processing, receive the response file, and get the file details. For more information on our File Processing solution, see our [Overview](https://developer.globalpayments.com/docs/operations/file-processing-overview.md). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## OpenPGP encryption For file encryption, we use [OpenPGP](https://openpgp.org), which is a widely used open-source cryptosystem for generating public-private key pairs. Encryption is needed for two files: * The request file you want to upload to our system * The response file we return that contains file details #### How it works First, contact [Integration Support](https://developer.globalpayments.com/support/integration-support) to let us know that you want to use File Processing (email is best). Once we reply, you can then create a public-private key pair as described below. Once we receive the email with your public key, we create our public-private key pair and share the public key with you via email. You then use the public part of this key pair to encrypt any request files you want to upload. The file must be created in the comma-separated values (.csv) format. We then decrypt your file using the private part of the key pair. Only we can decrypt your file. To create your public-private key pair, you can use the [OnlinePGP online tool](https://onlinepgp.com/). Make the following selections: * Algorithm: **RSA** * Key Size: **2048 bits** * Expiration: **Never Expires** You’ll then store the private key in your key truststore and share the public key with us via email (see details below). We then use the public part of this key pair to encrypt the response file we send to you. You then decrypt the response file using the private part of the key pair. Only you can decrypt this file. #### How to email us So that we can encrypt the response file, you need to email us the public key from the public-private key pair you created in the OpenPGP online tool. Here is what we require in the email: * Subject line: (Your MER ID) – Details for File Processing * Include in the email’s body: * Whether it's in Sandbox or Production * Merchant ID for Unified Payments API * File Processing Account ID * Attach to the email: Public key from OpenPGP You then need to send the email to [gpapi.prodsupport\@globalpay.com](mailto:gpapi.prodsupport@globalpay.com) with a carbon copy (CC) to [api.integrations\@globalpay.com](mailto:api.integrations@globalpay.com). ## Step 1: Create and encrypt the file First, you need to create the file that you plan to send to us for processing. The file must be created in the .csv format, and it cannot exceed **10 MB**. The three templates below can be used to get you started with creating your file. You'll need to modify each file to ensure that you're sending the appropriate fields required for your transactions. Sample files: * [Sale transaction file](https://developer.globalpayments.com/gh-assets/files/sample-sale-transaction-file.csv) * [Linked refund transactions file](https://developer.globalpayments.com/gh-assets/files/sample-linked-refund-transactions-file.csv) * [Reversal transaction file](https://developer.globalpayments.com/gh-assets/files/sample-reversal-transactions-file.csv) All fields that can typically be sent in JSON to the API become the column names in the file. If you need help with formatting, you can use our request template. After creating the .csv file, you then need to encrypt it in OpenPGP using the public key we gave you. For more information, see the [OpenPGP encryption](#openpgp-encryption) section. Only we can decrypt this file. ## Step 2: Create the URL Next, you need to send a request to create the URL that you’ll send the file to. We then provide a signed URL in the response that is valid for 15 minutes. You’ll also receive a unique File Processing Resource ID (`FPR_ID`), which can be used to check the details of the file. The initial status of all newly created file resources is INITIATED. For more information on file statuses, see the [Overview](https://developer.globalpayments.com/docs/operations/file-processing-overview.md). The `status_url` is the URL we will send a webhook to once the file has finished processing. #### Sample request ```json ``` url --location 'https://apis.sandbox.globalpay.com/ucp/files' \ --header 'Authorization: Bearer PR3RmboHzLame3SmDcYMtaKSjFtC' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Accept: application/json' \ --header 'Content-type: application/json' \ --header 'Accept-Encoding: gzip' \ --data 'account_name": "file_processing", "notifications": { "status_url": "https://eo9faqlbl8wkwmx.m.pipedream.net/ }' ``` ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardPresent); config.setStatusUrl("https://samplestatusurl.com/webhookresponse/"); ServicesContainer.configureService(config); try { FileProcessor response = new FileProcessingService().initiate(); // API raw response key "id" String transactionId = response.getResourceId(); // API raw response key "url" String uploadUrl = response.getUploadUrl(); // API raw response key "expiration_date" String expirationDate = response.getExpirationDate(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "time_created" String createdDate = response.getCreatedDate(); // API raw response key "action->result_code" String responseCode = response.getResponseCode(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```net ``` GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Country = "US"; config.Channel = Channel.CardPresent; config.ChallengeNotificationUrl = "https://ensi808o85za.x.pipedream.net/"; config.MethodNotificationUrl = "https://ensi808o85za.x.pipedream.net/"; config.MerchantContactUrl = "https://enp4qhvjseljg.x.pipedream.net/"; config.AccessTokenInfo = new AccessTokenInfo { TransactionProcessingAccountName = "transaction_processing" }; config.StatusUrl = "https://eo9faqlbl8wkwmx.m.pipedream.net/"; ServicesContainer.ConfigureService(config); try { FileProcessor response = new FileProcessingService().Initiate(); //response.ResponseCode -> "SUCCESS" //response.ResponseMessage -> "INITIATED" } catch (Exception ex) { throw; } ``` ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardPresent; $config->statusUrl = 'https://samplestatusurl.com/webhookresponse/'; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); try { /** @var FileProcessor $response */ $response = FileProcessingService::initiate(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw "id" $resourceId = $response->resourceId; // API raw "url" $uploadUrl = $response->uploadUrl; // API raw "expiration_date" $expirationDate = $response->expirationDate; // API raw "status" $status = $response->status; // API raw "time_created" $createdDate = $response->createdDate; // API raw "action->result_code" $responseCode = $response->responseCode; ``` #### Sample response ```json ``` id": "FPR_303b370ad02f4853b5296391ca5c0f35", "time_created": "2024-11-28T13:34:39.513Z", "status": "INITIATED", "merchant_id": "MER_c5d37eaf0e3841e083c232b2318af55c", "merchant_name": "Sandbox_Merchant_4", "account_id": "FPA_d1b2792dab3e43718aaa3092b8589e27", "account_name": "file_processing", "url": "https://storage.googleapis.com/bkt-gouscnaic-file-processing-str01-unscanned/MER_c5d37eaf0e3841e083c232b2318af55c/Request/FPR_303b370ad02f4853b5296391ca5c0f35?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=file-processing-function%40pid-gousgnac-mega-gain-app.iam.gserviceaccount.com%2F20241128%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20241128T133436Z&X-Goog-Expires=900&X-Goog-SignedHeaders=content-type%3Bhost&X-Goog-Signature=5930f745b81d7fe32e502ab5036ace993c8f11326be5f32629f1e92c10ddff1c7962ea7eb5d773bde944170806af18be5c9568de1bdf756c14af25c4f6f1ffdc519e4db17c761688880c879be437712b34fcaf1243c2a572cab3f2dfcb53d011fef1b4224a697aedf09bc804bb858a686f0f2a9f9c8f1a3b14af60ddd9b1b402030c5d599b81c58034ea34987ed2903b0ef7726ca1c1e1d756a0132693b0b53fc7c9eac997f13fcaf1dbb2104589459d121935a51e3f993f03560e0309830ae156850fe937bd02ef10e2664d6862dab2fa9472fdb8e43aa6d67514d4c95381a5212e6275cc97581f0579e998fe003281e85a1f233d6f3aad0ebe73b9afa685d8", "expiration_date": "2024-11-28T13:49:36.560Z", "action": { "id": "ACT_H5LCD2KqYmtpAfPW7HclZM8FAK1yEI", "type": "FILE_CREATE", "time_created": "2024-11-28T13:34:39.513Z", "result_code": "SUCCESS", "app_id": "T6og1tbECpHFeO104qUM383oq5bOJ12r", "app_name": "Postman_Collection_Test } ``` ``` ## Step 3: Send the file and check status Now it’s time to actually send the encrypted file to us. This is achieved via a PUT request to the URL returned in Step 2. **The maximum file size that can be uploaded is 10 MB**. We then decrypt and process the file and send you a webhook when the file is finished processing. You can check the status by using a GET request: `/ucp/files{id}`. For more information on file statuses, see the [Overview](https://developer.globalpayments.com/docs/operations/file-processing-overview.md). #### Sample request ```json ``` curl --location --request PUT 'https://storage.googleapis.com/bkt-gouscnaic-file-processing-str01-unscanned/MER_c5d37eaf0e3841e083c232b2318af55c/Request/FPR_303b370ad02f4853b5296391ca5c0f35?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=file-processing-function%40pid-gousgnac-mega-gain-app.iam.gserviceaccount.com%2F20241128%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20241128T133436Z&X-Goog-Expires=900&X-Goog-SignedHeaders=content-type%3Bhost&X-Goog-Signature=5930f745b81d7fe32e502ab5036ace993c8f11326be5f32629f1e92c10ddff1c7962ea7eb5d773bde944170806af18be5c9568de1bdf756c14af25c4f6f1ffdc519e4db17c761688880c879be437712b34fcaf1243c2a572cab3f2dfcb53d011fef1b4224a697aedf09bc804bb858a686f0f2a9f9c8f1a3b14af60ddd9b1b402030c5d599b81c58034ea34987ed2903b0ef7726ca1c1e1d756a0132693b0b53fc7c9eac997f13fcaf1dbb2104589459d121935a51e3f993f03560e0309830ae156850fe937bd02ef10e2664d6862dab2fa9472fdb8e43aa6d67514d4c95381a5212e6275cc97581f0579e998fe003281e85a1f233d6f3aad0ebe73b9afa685d8' \ --header 'Content-Type: text/csv' \ --data '@/C:/Users/Downloads/Transactions.csv.encrypted.txt' ``` ``` ```net ``` GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Country = "US"; config.Channel = Channel.CardPresent; config.ChallengeNotificationUrl = "https://ensi808o85za.x.pipedream.net/"; config.MethodNotificationUrl = "https://ensi808o85za.x.pipedream.net/"; config.MerchantContactUrl = "https://enp4qhvjseljg.x.pipedream.net/"; config.AccessTokenInfo = new AccessTokenInfo { TransactionProcessingAccountName = "transaction_processing" }; config.StatusUrl = "https://eo9faqlbl8wkwmx.m.pipedream.net/"; ServicesContainer.ConfigureService(config); try { FileProcessor response = new FileProcessingService().Initiate(); FileProcessingClient client = new FileProcessingClient(response.UploadUrl); var fileName = @"FileProcessing.encrypted.txt"; var fullPath = Path.GetFullPath(fileName); var result = client.UploadFile(fullPath); } catch (Exception ex) { throw; } ``` ``` ## Step 4: Receive the webhook and response file Once the file is finished processing, a webhook POST notification is sent to the `status_url` you created in Step 2. You can then use the provided link to download the response file. You need to send a GET request to the URL provided to download the file or you can copy and paste the URL into your browser. This response file will be encrypted using your public key that you sent to us. You will need to use your private key and password to decrypt the file. Only you will be able to decrypt the response file. #### Sample webhook ```json ``` method":"POST", "path":"/", "query":{ }, "client_ip":"123.123.123.123", "url":"https://sample.net/", "headers":{ "host":"qo9faqlbl8wkwmx.sample.net", "content-length":"1893", "access-control-allow-origin":"", "access-control-allow-headers":"origin, apikey, apienv, Authorization, x-requested-with, accept, content-type,X-GP-Version,X-GP-version,x-gp-version", "access-control-max-age":"3628800", "access-control-allow-methods":"POST", "access-control-allow-credentials":"true", "cache-control":"private,no-store", "strict-transport-security":"max-age=31536000; includeSubDomains;", "x-content-type-options":"nosniff", "x_global_transaction_id":"rrt-8f1f2d17-9d8d-40cf-8d85-5fd50dc606778tx78", "x_global_transaction_id_source":"gp-apigee", "apigee_x_global_transaction_id":"rrt-2614871067568800024-c-gea1-32143-51623357-1.1", "x-gp-file-id":"FPR_6bd1965c1cc6430ca19c964a5404dedd", "content-type":"application/json", "x-gp-signature":"d5cc6450645e3c1b2b86d097c4b5fb19dc48d9224d02bd300f6876f3cdf508b4e683761a3205aa5e1f94b2998982d10858776adb9fdfd5abc377ecdd0ca24f94, "body":id":"FPR_6bd1965c1cc6430ca19c964a5404dedd", "time_created":"2023-11-25T12:09:28.148Z", "status":"COMPLETED", "response_file_id":"FPR_6bd1965c1cc6430ca19c964a5404dedd_RESP", "total_record_count":"19", "response_files":[ { "response_file_id":"FPR_6bd1965c1cc6430ca19c964a5404dedd_RESP", "name":"RESPONSE_RECORDS", "time_created":"2023-11-25T12:11:19.322Z", "url":"https://storage.googleapis.com/bkt-gouscnaic-file-processing-str01-clean/MER_c3b3d1ba27684fccb2f391eb5f7a9104/Response/FPR_6bd1965c1cc6430ca19c964a5404dedd_RESP?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=file-processing-function%40pid-gousgnac-mega-gain-app.iam.gserviceaccount.com%2F20231125%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20231125T121119Z&X-Goog-Expires=7200&X-Goog-SignedHeaders=host&X-Goog-Signature=4e1c1448e9208f1561458baae6927ba4792b54f7752b05343d73bc331b835f47892f047818e83308075d8396a14087b2da94bd7417bbf7d3d0aa36263d63e9f6fc2829bd453774dfbe42b5c7c927513e675d966ab23941de4de5b132023071f33c2134f48af4b20d8383d5041dfed31c1a18c4ef4f777d97750e700e2cfed69c78d3aee1c4d09113541ab6de051a2733e2d3dfc36d0052091614be846eadcb83b10cd86b21690e36c9f7daca47a92e7877bcbcca05f4800669a278fdb5f7523e7f52f9afdec54b9aa551da6a5ead55c4de40fa121e409428f8528079ca48e745cb53b15b4978806c63d5751e71f7ed84515a9c0c7b87d3eb392145f02d87b7f8", "expiration_date":"2023-11-25T14:11:19.323Z ], "action":id":"ACT_euSwZVjl7TKB3w8n47Q6hJNzleUgPI", "type":"STATUS_NOTIFICATION", "time_created":"2023-11-25T12:11:20.671Z", "result_code":"SUCCESS", "app_id":"fWkEqBHQNyLrWCAtp1vCWDbo10kf5jr6", "app_name":"File-Processing-SystemApp-CERT } } ``` ``` ## Step 5: Get file details You can check the status of a file and download the encrypted response file by sending a GET request to `/ucp/files/{FPR_ID}`. To decrypt the file, use the private key of the key pair you created in the [OpenPGP encryption](#openpgp-encryption) section. #### Sample request ```json ``` curl --location 'https://apis.sandbox.globalpay.com/ucp/files/FPR_1fb42784270642b1b04fcb9d1e99cb11' \ --header 'Authorization: Bearer gy886f7FycZHyhuKeYr8VkU3CUYa' \ --header 'X-GP-Version: 2021-03-22' \ --header 'Accept: application/json' \ --header 'Content-type: application/json' \ --header 'Accept-Encoding: gzip' ``` ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardPresent); config.setStatusUrl("https://samplestatusurl.com/webhookresponse/"); ServicesContainer.configureService(config); String resourceId = "FPR_971edc6eb0944d8d890dcba7a2a41bea"; try { FileProcessor response = new FileProcessingService().getDetails(resourceId); // API raw response key "id" String transactionId = response.getResourceId(); // API raw response key "time_created" String createdDate = response.getCreatedDate(); // API raw response key "status" String transactionStatus = response.getResponseMessage(); // API raw response key "total_record_count" String totalRecordCount = response.getTotalRecordCount(); // API raw response key "response_files" List filesUploaded = response.getFilesUploaded(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```net ``` GpApiConfig config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Country = "US"; config.Channel = Channel.CardPresent; config.ChallengeNotificationUrl = "https://ensi808o85za.x.pipedream.net/"; config.MethodNotificationUrl = "https://ensi808o85za.x.pipedream.net/"; config.MerchantContactUrl = "https://enp4qhvjseljg.x.pipedream.net/"; config.AccessTokenInfo = new AccessTokenInfo { TransactionProcessingAccountName = "transaction_processing" }; config.StatusUrl = "https://eo9faqlbl8wkwmx.m.pipedream.net/"; ServicesContainer.ConfigureService(config); string resourceId = "FPR_971edc6eb0944d8d890dcba7a2a41bea"; FileProcessor response = new FileProcessingService().GetDetails(resourceId); //response.ResponseCode -> "SUCCESS" //response.Status -> "COMPLETED" ``` ``` ```php $config = new GpApiConfig(); $config->appId = 'AppId'; $config->appKey = 'AppKey'; $config->channel = Channel::CardPresent; $config->statusUrl = 'https://eo9faqlbl8wkwmx.m.pipedream.net/'; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $resourceId = "FPR_0b185b7a95b3455a96a23d2146102d0a"; try { /** @var FileProcessor $response */ $response = FileProcessingService::getDetails($resourceId); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw "id" $resourceId = $response->resourceId; // API raw "time_created" $createdDate = $response->createdDate; // API raw "status" $status = $response->status; // API raw "total_record_count" $total_record_count = $response->totalRecordCount; // API raw "response_files" $files = $response->files; ``` ## Testing Our File Processing solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Enhance your integration Explore more functionality to enrich your application or website. Below are value-added services you can enable for File Processing. ### [Real-Time Data Reporting](https://developer.globalpayments.com/docs/reporting/real-time-reporting-guide.md) Reconcile transactions and get an audit trail for all account activities. ### [Settlement Reporting](https://developer.globalpayments.com/docs/reporting/settlement-reporting-overview.md) Simplify reconciliation and get customized daily deposit data. ### [Disputes Management](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md) Automate the reporting and management of transaction disputes. ## Guide Source: https://developer.globalpayments.com/docs/reporting/real-time-reporting-guide.md # Real-Time Reporting - Guide Our reporting APIs can be used to reconcile transactions but can also provide a detailed audit trail for all activities that take place on your account. This guide focuses on transaction processing, specifically authorizations, to demonstrate how the outcome and data returned by the issuer are available in real time. Any subsequent actions performed on the transaction or authorization are also recorded and available in real time. When you perform any action on any resource via our API, all of your data is instantly available to report on via GET methods. For example, you can pull a list of authentications, payment methods, or links based on particular search criteria. You can also obtain the details of a specific resource by using its specific identifier (ID). ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Get a list of transactions In this step, we pull a list of transactions based on specific search criteria. There are a number of search options, including: * Card brand * Status * Last four digits of the card #### Sample request In this example, we use a date range to obtain a list of all the transactions processed on a specific day. For better readability, we limited our page size to 2. For available search parameters and details of all request and response variables, see [Transactions](https://developer.globalpayments.com/api/transactions.md) in the API Explorer. ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/transactions?order=DESC&page_size=2&from_time_created=2021-03-30&to_time_created=2021-03-30' \ --header 'Authorization: Bearer wuq80o5scA9ya5H2TBBpuNwgnOi3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' ``` ``` ```java ``` GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Date startDate = DateTime.now().minusMonths(1).toDate(); Date enddate = DateTime.now().toDate(); try { TransactionSummaryPaged response = ReportingService.findTransactionsPaged(1, 10) .orderBy(TransactionSortProperty.TimeCreated, SortDirection.Descending) .where(SearchCriteria.StartDate, startDate) .and(SearchCriteria.EndDate, enddate) .execute(); // API raw response "total_record_count" int totalRecordCount = response.getTotalRecordCount(); // API raw response "transactions" List transactions = response.getResults(); TransactionSummary transaction = transactions.get(0); // API raw response "transactions[0]->id" String transactionId = transaction.getTransactionId(); // API raw response "transactions[0]->time_created" DateTime transactionDate = transaction.getTransactionDate(); // API raw response "transactions[0]->status" String status = transaction.getTransactionStatus(); // API raw response "transactions[0]->type" String type = transaction.getTransactionType(); // API raw response "transactions[0]->channel" String channel = transaction.getChannel(); // API raw response "transactions[0]->amount" BigDecimal amount = transaction.getAmount(); // API raw response "transactions[0]->gratuity_amount" BigDecimal gratuityAmount = transaction.getGratuityAmount(); // API raw response "transactions[0]->currency" String currency = transaction.getCurrency(); // API raw response "transactions[0]->reference" String reference = transaction.getReferenceNumber(); // API raw response "transactions[0]->description" String description = transaction.getDescription(); // API raw response "transactions[0]->order->reference" String orderId = transaction.getOrderId(); // API raw response "transactions[0]->time_created_reference" DateTime timeCreatedReference = transaction.getTransactionLocalDate(); // API raw response "transactions[0]->batch_id" String batchId = transaction.getBatchSequenceNumber(); // API raw response "transactions[0]->country" String country = transaction.getCountry(); // API raw response "transactions[0]->parent_resource_id" String parentResourceId = transaction.getOriginalTransactionId(); // API raw response "transactions[0]->payment_method->result" String gatewayResponseCode = transaction.getGatewayResponseCode(); // API raw response "transactions[0]->payment_method->message" String gatewayResponseMessage = transaction.getGatewayResponseMessage(); // API raw response "transactions[0]->payment_method->entry_mode" String entryMode = transaction.getEntryMode(); // API raw response "transactions[0]->payment_method->fingerprint" String fingerprint = transaction.getFingerprint(); // API raw response "transactions[0]->payment_method->fingerprint_presence_indicator" String fingerprintIndicator = transaction.getFingerprintIndicator(); // API raw response "transactions[0]->payment_method->name" String cardHolderName = transaction.getCardHolderName(); // API raw response "transactions[0]->payment_method->card->brand" String cardType = transaction.getCardType(); // API raw response "transactions[0]->payment_method->card->authcode" String authCode = transaction.getAuthCode(); // API raw response "transactions[0]->payment_method->card->brand_reference" String brandReference = transaction.getBrandReference(); // API raw response "transactions[0]->payment_method->card->masked_number_first6last4" String maskedCardNumber = transaction.getMaskedCardNumber(); // API raw response "transactions[0]->risk_assessment->mode" String fraudResponseMode = transaction.getFraudManagementResponse().getFraudResponseMode(); // API raw response "transactions[0]->risk_assessment->result" String fraudResponseResult = transaction.getFraudManagementResponse().getFraudResponseResult(); // API raw response "transactions[0]->risk_assessment->rules" Object fraudResponseRules = transaction.getFraudManagementResponse().getFraudResponseRules(); // API raw response "transactions[0]->system->mid" String mid = transaction.getMerchantId(); // API raw response "transactions[0]->system->hierarchy" String hierarchy = transaction.getMerchantHierarchy(); // API raw response "transactions[0]->system->name" String systemMerchantName = transaction.getMerchantName(); // API raw response "transactions[0]->system->dba" String dba = transaction.getMerchantDbaName(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ``` ```.net ``` var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); DateTime StartDate = DateTime.UtcNow.AddMonths(-1); DateTime EndDate = DateTime.UtcNow; try { PagedResult response = ReportingService.FindTransactionsPaged(1,2) .OrderBy(TransactionSortProperty.TimeCreated, SortDirection.Descending) .Where(SearchCriteria.StartDate, StartDate) .And(SearchCriteria.EndDate, EndDate) .Execute(); // API raw response "total_record_count" var totalRecordCount = response.TotalRecordCount; // API raw response "transactions" var transactions = response.Results; TransactionSummary transaction = transactions.First(); // API raw response "transactions[0]->id" var transactionId = transaction.TransactionId; // API raw response "transactions[0]->time_created" var transactionDate = transaction.TransactionDate; // API raw response "transactions[0]->status" var status = transaction.TransactionStatus; // API raw response "transactions[0]->type" var type = transaction.TransactionType; // API raw response "transactions[0]->channel" var channel = transaction.Channel; // API raw response "transactions[0]->amount" var amount = transaction.Amount; // API raw response "transactions[0]->gratuity_amount" var gratuityAmount = transaction.GratuityAmount; // API raw response "transactions[0]->currency" var currency = transaction.Currency; // API raw response "transactions[0]->reference" var reference = transaction.ReferenceNumber; // API raw response "transactions[0]->description" var description = transaction.Description; // API raw response "transactions[0]->order->reference" var orderId = transaction.OrderId; // API raw response "transactions[0]->time_created_reference" var timeCreatedReference = transaction.TransactionLocalDate; // API raw response "transactions[0]->batch_id" var batchId = transaction.BatchSequenceNumber; // API raw response "transactions[0]->country" var country = transaction.Country; // API raw response "transactions[0]->parent_resource_id" var parentResourceId = transaction.OriginalTransactionId; // API raw response "transactions[0]->payment_method->result" var gatewayResponseCode = transaction.GatewayResponseCode; // API raw response "transactions[0]->payment_method->message" var gatewayResponseMessage = transaction.GatewayResponseMessage; // API raw response "transactions[0]->payment_method->entry_mode" var entryMode = transaction.EntryMode; // API raw response "transactions[0]->payment_method->fingerprint" var fingerprint = transaction.Fingerprint; // API raw response "transactions[0]->payment_method->fingerprint_presence_indicator" var fingerprintIndicator = transaction.FingerprintIndicator; // API raw response "transactions[0]->payment_method->name" var cardHolderName = transaction.CardHolderName; // API raw response "transactions[0]->payment_method->card->brand" var cardType = transaction.CardType; // API raw response "transactions[0]->payment_method->card->authcode" var authCode = transaction.AuthCode; // API raw response "transactions[0]->payment_method->card->brand_reference" var brandReference = transaction.BrandReference; // API raw response "transactions[0]->payment_method->card->masked_number_first6last4" var maskedCardNumber = transaction.MaskedCardNumber; // API raw response "transactions[0]->risk_assessment->mode" var fraudResponseMode = transaction.FraudManagementResponse.FraudResponseMode; // API raw response "transactions[0]->risk_assessment->result" var fraudResponseResult = transaction.FraudManagementResponse.FraudResponseResult; // API raw response "transactions[0]->risk_assessment->rules" var fraudResponseRules = transaction.FraudManagementResponse.FraudResponseRules; // API raw response "transactions[0]->system->mid" var mid = transaction.MerchantId; // API raw response "transactions[0]->system->hierarchy" var hierarchy = transaction.MerchantHierarchy; // API raw response "transactions[0]->system->name" var systemMerchantName = transaction.MerchantName; // API raw response "transactions[0]->system->dba" var dba = transaction.MerchantDbaName; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ``` ```php ``` config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $startDate = (new DateTime())->modify("-30 days")->setTime(0, 0, 0); $endDate = (new DateTime())->modify("-30 days")->setTime(23, 59, 59); try { /** @var \GlobalPayments\Api\Entities\GpApi\PagedResult $response */ $response = ReportingService::findTransactionsPaged(1, 2) ->orderBy(TransactionSortProperty::TIME_CREATED, SortDirection::DESC) ->where(SearchCriteria::START_DATE, $startDate) ->andWith(SearchCriteria::END_DATE, $endDate) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "total_record_count" $totalRecordCount = $response->totalRecordCount; //API raw response "transactions" $transactionList = $response->result; if (empty($transactionList)) { echo "No transactions found.\n"; } /** @var \GlobalPayments\Api\Entities\Reporting\TransactionSummary $transaction */ $transaction = reset($transactionList); // API raw response "transactions[0]->id" $transactionId = $transaction->transactionId; // API raw response "transactions[0]->time_created" $transactionDate = $transaction->transactionDate; // API raw response "transactions[0]->status" $status = $transaction->transactionStatus; // API raw response "transactions[0]->type" $type = $transaction->transactionType; // API raw response "transactions[0]->channel" $channel = $transaction->channel; // API raw response "transactions[0]->amount" $amount = $transaction->amount; // API raw response "transactions[0]->merchant_amount" $merchantAmount = $transaction->merchantAmount; // API raw response "transactions[0]->gratuity_amount" $gratuityAmount = $transaction->gratuityAmount; // API raw response "transactions[0]->currency" $currency = $transaction->currency; // API raw response "transactions[0]->reference" $reference = $transaction->referenceNumber; // API raw response "transactions[0]->description" $description = $transaction->description; // API raw response "transactions[0]->order->reference" $orderId = $transaction->orderId; // API raw response "transactions[0]->time_created_reference" $timeCreatedReference = $transaction->transactionLocalDate; // API raw response "transactions[0]->batch_id" $batchId = $transaction->batchSequenceNumber; // API raw response "transactions[0]->country" $country = $transaction->country; // API raw response "transactions[0]->payment_method->result" $gatewayResponseCode = $transaction->gatewayResponseCode; // API raw response "transactions[0]->payment_method->message" $gatewayResponseMessage = $transaction->gatewayResponseMessage; // API raw response "transactions[0]->payment_method->entry_mode" $entryMode = $transaction->entryMode; // API raw response "transactions[0]->payment_method->fingerprint" $fingerprint = $transaction->fingerprint; // API raw response "transactions[0]->payment_method->fingerprint_presence_indicator" $fingerprintIndicator = $transaction->fingerprintIndicator; // API raw response "transactions[0]->payment_method->name" $cardHolderName = $transaction->cardHolderName; // API raw response "transactions[0]->payment_method->card->brand" $cardType = $transaction->cardDetails->brand; // API raw response "transactions[0]->payment_method->card->authcode" $authCode = $transaction->authCode; // API raw response "transactions[0]->payment_method->card->brand_reference" $brandReference = $transaction->cardDetails->brandReference; // API raw response "transactions[0]->payment_method->card->masked_number_first6last4" $maskedCardNumber = $transaction->cardDetails->maskedCardNumber; // API raw response "transactions[0]->currency_conversion->payer_amount" $dccPayerAmount = $transaction->dccRateData->cardHolderAmount ?? null; // API raw response "transactions[0]->currency_conversion->payer_currency" $dccPayerCurrency = $transaction->dccRateData->cardHolderCurrency ?? null; // API raw response "transactions[0]->currency_conversion->margin_rate_percentage" $dccMarginRatePercentage = $transaction->dccRateData->marginRatePercentage ?? null; // API raw response "transactions[0]->currency_conversion->exchange_rate" $dccExchangeRate = $transaction->dccRateData->cardHolderRate ?? null; // API raw response "transactions[0]->currency_conversion->commission_percentage" $dccCommissionPercentage = $transaction->dccRateData->commissionPercentage ?? null; // API raw response "transactions[0]->currency_conversion->exchange_rate_source" $dccExchangeRateSource = $transaction->dccRateData->exchangeRateSourceName ?? null; // API raw response "transactions[0]->currency_conversion->exchange_source_time" $dccExchangeRateSourceTime = $transaction->dccRateData->exchangeRateSourceTimestamp ?? null; // API raw response key "transactions[0]->risk_assessment->mode" $fraudResponseMode = $transaction->fraudManagementResponse->fraudResponseMode; // API raw response key "transactions[0]->risk_assessment->result" $fraudResponseResult = $transaction->fraudManagementResponse->fraudResponseResult; // API raw response key "transactions[0]->risk_assessment->rules" $fraudResponseRules = $transaction->fraudManagementResponse ->fraudResponseRules; // API raw response key "transactions[0]->system->mid" $mid = $transaction->merchantId; // API raw response key "transactions[0]->system->hierarchy" $systemHierarchy = $transaction->merchantHierarchy; // API raw response key "transactions[0]->system->name" $systemName = $transaction->merchantName; // API raw response key "transactions[0]->system->dba" $dba = $transaction->merchantDbaName; // API raw response key "transactions[0]->parent_resource_id" $parentResourceId = $transaction->originalTransactionId; ``` ``` #### Sample response ```JSON { "total_record_count": 1155, "current_page_size": 2, "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "TRA_6716058969854a48b33347043ff8225f", "account_name": "Transaction_Processing", "filter": { "from_time_created": "2021-03-30T00:00:00.000Z", "to_time_created": "2021-03-30T23:59:59.999Z" }, "paging": { "page_size": 2, "page": 1, "order": "DESC", "order_by": "TIME_CREATED" }, "transactions": [ { "id": "TRN_l52ksA9raoU4gp2T07ZfCSBzqVMar0", "time_created": "2021-03-30T23:40:23.311Z", "status": "PREAUTHORIZED", "type": "SALE", "channel": "CNP", "amount": "4500", "partner_amount": "", "merchant_amount": "", "currency": "GBP", "reference": "togWvZyfoSCkclYtcdEQ", "time_created_reference": "", "batch_id": "", "country": "", "payment_method": { "message": "SUCCESS", "entry_mode": "ECOM", "fingerprint": "", "fingerprint_presence_indicator": "", "name": "James Mason", "card": { "brand": "VISA", "authcode": "12345", "brand_reference": "mjVPe4n3VwyLdpjU", "masked_number_first6last4": "426397XXXXXX5262" } }, "action_create_id": "ACT_l52ksA9raoU4gp2T07ZfCSBzqVMar0", "parent_resource_id": "TRN_l52ksA9raoU4gp2T07ZfCSBzqVMar0" }, { "id": "TRN_vmSQBXLBZbpHpo8nDnPf91NQec8nEm", "time_created": "2021-03-30T23:39:08.180Z", "status": "PREAUTHORIZED", "type": "SALE", "channel": "CNP", "amount": "4500", "partner_amount": "", "merchant_amount": "", "currency": "GBP", "reference": "nFAqUCuoeCyXWHopjzlq", "time_created_reference": "", "batch_id": "", "country": "", "payment_method": { "message": "SUCCESS", "entry_mode": "ECOM", "fingerprint": "", "fingerprint_presence_indicator": "", "name": "MR FOO BAR", "card": { "brand": "VISA", "authcode": "12345", "brand_reference": "7yzJ3NF4rKoCan3z", "masked_number_first6last4": "426397XXXXXX5262" } }, "action_create_id": "ACT_vmSQBXLBZbpHpo8nDnPf91NQec8nEm", "parent_resource_id": "TRN_vmSQBXLBZbpHpo8nDnPf91NQec8nEm" } ], "action": { "id": "ACT_zClF2MUwDM5ga7fvbZp2Owgv65ABfA", "type": "TRANSACTION_LIST", "time_created": "2022-03-31T10:59:01.516Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app" } } ``` ## Step 2: Get the details of a specific transaction When obtaining a list of transactions, a summary object is returned for each record. To pull the details of a specific transaction, we use its unique identifier. The response contains more data on the transaction, including specific variables and values passed as well as information on the payment method used. For more information on all request and response variables, see [Transactions](https://developer.globalpayments.com/api/transactions.md) in the API Explorer. #### Sample request ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/transactions/TRN_l52ksA9raoU4gp2T07ZfCSBzqVMar0' \ --header 'Authorization: Bearer wuq80o5scA9ya5H2TBBpuNwgnOi3' \ --header 'Accept: application/json' \ --header 'X-GP-Version: 2021-03-22' ``` ``` ```java ``` GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); String transactionId = "TRN_bRpuhDJHK0czBI8dLxiCUn3Uk1yKKF_7e55cfad32ba"; try { TransactionSummary transaction = ReportingService.transactionDetail(transactionId) .execute(); // API raw response "id" String id = transaction.getTransactionId(); // API raw response "time_created" DateTime transactionDate = transaction.getTransactionDate(); // API raw response "status" String status = transaction.getTransactionStatus(); // API raw response "type" String type = transaction.getTransactionType(); // API raw response "channel" String channel = transaction.getChannel(); // API raw response "amount" BigDecimal amount = transaction.getAmount(); // API raw response "gratuity_amount" BigDecimal gratuityAmount = transaction.getGratuityAmount(); // API raw response "currency" String currency = transaction.getCurrency(); // API raw response "reference" String reference = transaction.getReferenceNumber(); // API raw response "description" String description = transaction.getDescription(); // API raw response "order->reference" String orderId = transaction.getOrderId(); // API raw response "time_created_reference" DateTime timeCreatedReference = transaction.getTransactionLocalDate(); // API raw response "batch_id" String batchId = transaction.getBatchSequenceNumber(); // API raw response "country" String country = transaction.getCountry(); // API raw response "parent_resource_id" String parentResourceId = transaction.getOriginalTransactionId(); // API raw response "payment_method->result" String gatewayResponseCode = transaction.getGatewayResponseCode(); // API raw response "payment_method->message" String gatewayResponseMessage = transaction.getGatewayResponseMessage(); // API raw response "payment_method->entry_mode" String entryMode = transaction.getEntryMode(); // API raw response "payment_method->fingerprint" String fingerprint = transaction.getFingerprint(); // API raw response "payment_method->fingerprint_presence_indicator" String fingerprintIndicator = transaction.getFingerprintIndicator(); // API raw response "payment_method->name" String cardHolderName = transaction.getCardHolderName(); // API raw response "payment_method->card->brand" String cardType = transaction.getCardType(); // API raw response "payment_method->card->authcode" String authCode = transaction.getAuthCode(); // API raw response "payment_method->card->brand_reference" String brandReference = transaction.getBrandReference(); // API raw response "payment_method->card->masked_number_first6last4" String maskedCardNumber = transaction.getMaskedCardNumber(); // API raw response "risk_assessment->mode" String fraudResponseMode = transaction.getFraudManagementResponse().getFraudResponseMode(); // API raw response "risk_assessment->result" String fraudResponseResult = transaction.getFraudManagementResponse().getFraudResponseResult(); // API raw response "risk_assessment->rules" List fraudResponseRules = transaction.getFraudManagementResponse().getFraudResponseRules(); // API raw response "system->mid" String mid = transaction.getMerchantId(); // API raw response "system->hierarchy" String hierarchy = transaction.getMerchantHierarchy(); // API raw response "system->name" String systemMerchantName = transaction.getMerchantName(); // API raw response "system->dba" String dba = transaction.getMerchantDbaName(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ``` ```net ``` var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); var transactionId = "TRN_bRpuhDJHK0czBI8dLxiCUn3Uk1yKKF_7e55cfad32ba"; try { TransactionSummary transaction = ReportingService.TransactionDetail(transactionId) .Execute(); // API raw response "id" var id = transaction.TransactionId; // API raw response "time_created" var transactionDate = transaction.TransactionDate; // API raw response "status" var status = transaction.TransactionStatus; // API raw response "type" var type = transaction.TransactionType; // API raw response "channel" var channel = transaction.Channel; // API raw response "amount" var amount = transaction.Amount; // API raw response "gratuity_amount" var gratuityAmount = transaction.GratuityAmount; // API raw response "currency" var currency = transaction.Currency; // API raw response "reference" var reference = transaction.ReferenceNumber; // API raw response "description" var description = transaction.Description; // API raw response "order->reference" var orderId = transaction.OrderId; // API raw response "time_created_reference" var timeCreatedReference = transaction.TransactionLocalDate; // API raw response "batch_id" var batchId = transaction.BatchSequenceNumber; // API raw response "country" var country = transaction.Country; // API raw response "parent_resource_id" var parentResourceId = transaction.OriginalTransactionId; // API raw response "payment_method->result" var gatewayResponseCode = transaction.GatewayResponseCode; // API raw response "payment_method->message" var gatewayResponseMessage = transaction.GatewayResponseMessage; // API raw response "payment_method->entry_mode" var entryMode = transaction.EntryMode; // API raw response "payment_method->fingerprint" var fingerprint = transaction.Fingerprint; // API raw response "payment_method->fingerprint_presence_indicator" var fingerprintIndicator = transaction.FingerprintIndicator; // API raw response "payment_method->name" var cardHolderName = transaction.CardHolderName; // API raw response "payment_method->card->brand" var cardType = transaction.CardType; // API raw response "payment_method->card->authcode" var authCode = transaction.AuthCode; // API raw response "payment_method->card->brand_reference" var brandReference = transaction.BrandReference; // API raw response "payment_method->card->masked_number_first6last4" var maskedCardNumber = transaction.MaskedCardNumber; // API raw response "risk_assessment->mode" var fraudResponseMode = transaction.FraudManagementResponse.FraudResponseMode; // API raw response "risk_assessment->result" var fraudResponseResult = transaction.FraudManagementResponse.FraudResponseResult; // API raw response "risk_assessment->rules" var fraudResponseRules = transaction.FraudManagementResponse.FraudResponseRules; // API raw response "system->mid" var mid = transaction.MerchantId; // API raw response "system->hierarchy" var hierarchy = transaction.MerchantHierarchy; // API raw response "system->name" var systemMerchantName = transaction.MerchantName; // API raw response "system->dba" var dba = transaction.MerchantDbaName; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ``` ```php ``` $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $transactionId = "TRN_bRpuhDJHK0czBI8dLxiCUn3Uk1yKKF_7e55cfad32ba"; try { /** @var \GlobalPayments\Api\Entities\Reporting\TransactionSummary $transaction */ $transaction = ReportingService::transactionDetail($transactionId)->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "id" $id = $transaction->transactionId; // API raw response "time_created" $transactionDate = $transaction->transactionDate; // API raw response "status" $status = $transaction->transactionStatus; // API raw response "type" $type = $transaction->transactionType; // API raw response "channel" $channel = $transaction->channel; // API raw response "amount" $amount = $transaction->amount; // API raw response "merchant_amount" $merchantAmount = $transaction->merchantAmount; // API raw response "gratuity_amount" $gratuityAmount = $transaction->gratuityAmount; // API raw response "currency" $currency = $transaction->currency; // API raw response "reference" $reference = $transaction->referenceNumber; // API raw response "description" $description = $transaction->description; // API raw response "order->reference" $orderId = $transaction->orderId; // API raw response "time_created_reference" $timeCreatedReference = $transaction->transactionLocalDate; // API raw response "batch_id" $batchId = $transaction->batchSequenceNumber; // API raw response "country" $country = $transaction->country; // API raw response "payment_method->result" $gatewayResponseCode = $transaction->gatewayResponseCode; // API raw response "payment_method->message" $gatewayResponseMessage = $transaction->gatewayResponseMessage; // API raw response "payment_method->entry_mode" $entryMode = $transaction->entryMode; // API raw response "payment_method->fingerprint" $fingerprint = $transaction->fingerprint; // API raw response "payment_method->fingerprint_presence_indicator" $fingerprintIndicator = $transaction->fingerprintIndicator; // API raw response "payment_method->name" $cardHolderName = $transaction->cardHolderName; // API raw response "payment_method->card->brand" $cardType = $transaction->cardDetails->brand ?? null; // API raw response "payment_method->card->authcode" $authCode = $transaction->authCode; // API raw response "payment_method->card->brand_reference" $brandReference = $transaction->cardDetails->brandReference ?? null; // API raw response "payment_method->card->masked_number_first6last4" $maskedCardNumber = $transaction->cardDetails->maskedCardNumber ?? null; // API raw response "payment_method->card->cvv_result" $cvnResponseMessage = $transaction->cardDetails->cvnResponseMessage ?? null; // API raw response "payment_method->card->avs_address_result" $avsAddressResponse = $transaction->cardDetails->avsAddressResponse ?? null; // API raw response "payment_method->card->avs_postal_code_result" $avsResponseCode = $transaction->cardDetails->avsResponseCode ?? null; // API raw response "currency_conversion->payer_amount" $dccPayerAmount = $transaction->dccRateData->cardHolderAmount ?? null; // API raw response "currency_conversion->payer_currency" $dccPayerCurrency = $transaction->dccRateData->cardHolderCurrency ?? null; // API raw response "currency_conversion->margin_rate_percentage" $dccMarginRatePercentage = $transaction->dccRateData->marginRatePercentage ?? null; // API raw response "currency_conversion->exchange_rate" $dccExchangeRate = $transaction->dccRateData->cardHolderRate ?? null; // API raw response "currency_conversion->commission_percentage" $dccCommissionPercentage = $transaction->dccRateData->commissionPercentage ?? null; // API raw response "currency_conversion->exchange_rate_source" $dccExchangeRateSource = $transaction->dccRateData->exchangeRateSourceName ?? null; // API raw response "currency_conversion->exchange_source_time" $dccExchangeRateSourceTime = $transaction->dccRateData->exchangeRateSourceTimestamp ?? null; //API raw response key "risk_assessment->mode" $fraudResponseMode = $transaction->fraudManagementResponse->fraudResponseMode ?? null; //API raw response key "risk_assessment->result" $fraudResponseResult = $transaction->fraudManagementResponse->fraudResponseResult ?? null; //API raw response key "risk_assessment->rules" $fraudResponseRules = $transaction->fraudManagementResponse ->fraudResponseRules ?? null; //API raw response key "system->mid" $mid = $transaction->merchantId; //API raw response key "system->hierarchy" $systemHierarchy = $transaction->merchantHierarchy; //API raw response key "system->name" $systemName = $transaction->merchantName; //API raw response key "system->dba" $dba = $transaction->merchantDbaName; //API raw response key "parent_resource_id" $parentResourceId = $transaction->originalTransactionId; ``` ``` ## Step 3: Get a list of actions associated with a transaction Actions represent request and response messages sent by the merchant relating to a specific resource. In this step, we pull a list of actions related to one of the transactions returned previously. There are a number of search criteria we could use, but here we just use a single resource ID: a transaction. In the response, there are two actions: the card being pre-authorized and the transaction being captured. For more information on the available search parameters and the details of all request and response variables, see [Actions](https://developer.globalpayments.com/api/actions.md) in the API Explorer. #### Sample request ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/actions?order=DESC&page_size=5&resource_id=TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461' \ --header 'Authorization: Bearer wuq80o5scA9ya5H2TBBpuNwgnOi3' \ --header 'X-GP-Version: 2021-03-22' ``` ``` ```java ``` GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); String transactionId = "TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461"; try { ActionSummaryPaged response = ReportingService.findActionsPaged(1, 5) .orderBy(ActionSortProperty.TimeCreated, SortDirection.Descending) .where(SearchCriteria.ResourceId, transactionId) .execute(); // API raw response "total_record_count" int totalRecordCount = response.getTotalRecordCount(); // API raw response "paging->order_by" String orderBy = response.getOrderBy(); // API raw response "paging->order" String order = response.getOrder(); if (!response.results.isEmpty()) { ActionSummary action = response.results.get(0); // API raw response actions[0]->id String id = action.getId(); // API raw response actions[0]->type String type = action.getType(); // API raw response actions[0]->time_created DateTime timeCreated = action.getTimeCreated(); // API raw response actions[0]->resource String resource = action.getResource(); // API raw response actions[0]->version String version = action.getVersion(); // API raw response actions[0]->resource_id String resourceId = action.getResourceId(); // API raw response actions[0]->resource_status String resourceStatus = action.getResourceStatus(); // API raw response actions[0]->http_response_code String httpResponseCode = action.getHttpResponseCode(); // API raw response actions[0]->response_code String responseCode = action.getResponseCode(); // API raw response actions[0]->app_id String appId = action.getAppId(); // API raw response actions[0]->app_name String appName = action.getAppName(); // API raw response actions[0]->account_id String accountId = action.getAccountId(); // API raw response actions[0]->account_name String accountName = action.getAccountName(); // API raw response actions[0]->merchant_name String merchantName = action.getMerchantName(); } } catch (ApiException e) { // TODO: Add your exception handling here } ``` ``` ```net ``` var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); try { PagedResult response = ReportingService.FindActionsPaged(1,5) .OrderBy(ActionSortProperty.TimeCreated, SortDirection.Descending) .Where(SearchCriteria.ResourceId, "TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461") .Execute(); // API raw response "total_record_count" var totalRecordCount = response.TotalRecordCount; // API raw response "paging->order_by" var orderBy = response.OrderBy; // API raw response "paging->order" var order = response.Order; var action = response.Results.First(); // API raw response actions[0]->id var id = action.Id; // API raw response actions[0]->type var type = action.Type; // API raw response actions[0]->time_created var timeCreated = action.TimeCreated; // API raw response actions[0]->resource var resource = action.Resource; // API raw response actions[0]->version var version = action.Version; // API raw response actions[0]->resource_id var resourceId = action.ResourceId; // API raw response actions[0]->resource_status var resourceStatus = action.ResourceStatus; // API raw response actions[0]->http_response_code var httpResponseCode = action.HttpResponseCode; // API raw response actions[0]->response_code var responseCode = action.ResponseCode; // API raw response actions[0]->app_id var appId = action.AppId; // API raw response actions[0]->app_name var appName = action.AppName; // API raw response actions[0]->account_id var accountId = action.AccountId; // API raw response actions[0]->account_name var accountName = action.AccountName; // API raw response actions[0]->merchant_name var merchantName = action.MerchantName; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ``` ```php ``` $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $resourceId = 'TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461'; try { /** @var \GlobalPayments\Api\Entities\GpApi\PagedResult $response */ $response = ReportingService::findActionsPaged(1, 5) ->orderBy(ActionSortProperty::TIME_CREATED, SortDirection::DESC) ->where(SearchCriteria::RESOURCE_ID, $resourceId) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } // API raw response "total_record_count" $totalRecordCount = $response->totalRecordCount; $orderBy = $response->orderBy; // API raw response "paging->order_by" $order = $response->order; // API raw response "paging->order" if (count($response->result) > 0) { /** @var \GlobalPayments\Api\Entities\Reporting\ActionSummary $action */ $action = reset($response->result); // API raw response $actions[0]->id $id = $action->id; // API raw response $actions[0]->type $type = $action->type; // API raw response $actions[0]->time_created $timeCreated = $action->timeCreated; // API raw response $actions[0]->resource $resource = $action->resource; // API raw response $actions[0]->version $version = $action->version; // API raw response $actions[0]->resource_id $resourceId = $action->resourceId; // API raw response $actions[0]->resource_status $resourceId = $action->resourceStatus; // API raw response $actions[0]->http_response_code $httpResponseCode = $action->httpResponseCode; // API raw response $actions[0]->response_code $responseCode = $action->responseCode; // API raw response $actions[0]->app_id $appId = $action->appId; // API raw response $actions[0]->app_name $appName = $action->appName; // API raw response $actions[0]->account_id $accountId = $action->accountId; // API raw response $actions[0]->account_name $accountName = $action->accountName; // API raw response $actions[0]->merchant_name $merchantName = $action->merchantName; } ``` ``` ## Step 4: Get the details of a specific action For additional logging or auditing purposes, it’s also possible to obtain the details of a specific action. This includes the message that was sent by the merchant to the API, the response that was sent back with details about the merchant, and the app that was used. For more information on all request and response variables, see [Actions](https://developer.globalpayments.com/api/actions.md) in the API Explorer. #### Sample request ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/actions/ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE' \ --header 'Authorization: Bearer wuq80o5scA9ya5H2TBBpuNwgnOi3' \ --header 'X-GP-Version: 2021-03-22' ``` ``` ```java ``` // configure client & request settings GpApiConfig gpApiConfig = new GpApiConfig(); gpApiConfig.setAppId(APP_ID); gpApiConfig.setAppKey(APP_KEY); ServicesContainer.configureService(gpApiConfig); final String actionId = "ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE"; try { ActionSummary response = ReportingService.actionDetail(actionId) .execute(); String newActionId = response.getId(); //ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE DateTime actionDate = response.getTimeCreated(); String actionType = response.getType(); //CAPTURE String resource = response.getResource(); //TRANSACTIONS String resourceId = response.getResourceId(); //TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461 String resourceStatus = response.getResourceStatus(); //CAPTURED } catch (GatewayException ex) { // TODO: add your error handling here } ``` ``` ```net ``` // configure client & request settings ServicesContainer.ConfigureService(new GpApiConfig { AppId = APP_ID, AppKey = APP_KEY }); const string actionId = "ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE"; try { var response = ReportingService.ActionDetail(actionId) .Execute(); var newActionId = response.Id; //ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE var actionDate = response.TimeCreated.ToString(); var actionType = response.Type; //CAPTURE var resource = response.Resource; //TRANSACTIONS var resourceId = response.ResourceId; //TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461 var resourceStatus = response.ResourceStatus; //CAPTURED } catch (GatewayException ex) { // TODO: add your error handling here } ``` ``` ```php ``` use GlobalPayments\Api\Entities\Enums\SortDirection; use GlobalPayments\Api\Entities\Enums\ActionSortProperty; use GlobalPayments\Api\Entities\Reporting\SearchCriteria; use GlobalPayments\Api\Entities\Reporting\ActionSummary; use GlobalPayments\Api\ServiceConfigs\Gateways\GpApiConfig; use GlobalPayments\Api\Services\ReportingService; use GlobalPayments\Api\ServicesContainer; // configure client & request settings $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; ServicesContainer::configureService($config); $actionId = 'ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE'; $response = ReportingService::actionDetail($actionId) ->execute(); try{ $actionId = $response->id; //ACT_fOlT0ALO6A3f0Z7nwGAN95zSIetnJE $actionType = $response->type; // CAPTURE $actionDate = $response->timeCreated->format('Y-m-d H:i:s'); $resourceType = $response->resource; //TRANSACTIONS $resourceId = $response->resourceId; //TRN_ebTw41MlQhD3ERxFIxRfp9MkKCzcIf_37427461 $resourceStatus = $response->resourceStatus; //CAPTURED } catch (ApiException $e) { // TODO: add your error handling here } ``` ``` ## Testing Our Real-Time Data Reporting solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Integration references To get a deeper understanding of Real-Time Data Reporting, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [API /transactions](https://developer.globalpayments.com/api/transactions.md) Create and retrieve payment links. ### [API /actions](https://developer.globalpayments.com/api/actions.md) Create and retrieve payment links. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ### [Quickstart Demo](https://demo.globalpay.com/merchants/insights-and-reporting/transaction-reports) Demo how easy it is to integrate our customizable solutions into your existing payment experience, and view transactions from multiple channels and regions in one place. ## Enhance your integration Below are value-added services you can enable for Real-Time Data Reporting. ### [Settlement Reporting](https://developer.globalpayments.com/docs/reporting/settlement-reporting-overview.md) Simplify reconciliation and get customized daily deposit data. ### [Disputes Management](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md) Automate the reporting and management of transaction disputes ### [File Processing](https://developer.globalpayments.com/docs/operations/file-processing-overview.md) Process large volumes of transactions in one file. ## Overview Source: https://developer.globalpayments.com/docs/reporting/settlement-reporting-overview.md # Settlement Reporting - Overview Settlement Reporting helps merchants simplify their daily fund transfer process by automating the reconciliation of funds transferred to their bank accounts with transactions from multiple payment channels. Our Deposits, Transactions, and Disputes capabilities offer maximum flexibility for pulling the deposit data, whether it's by timeframe, status, bank account number, and so on. With Settlement Reporting, you can: * Pull a list of deposits made to your bank account * Obtain each deposit’s granular details for transactions, fees, and disputes Settlement Reporting data is available the day after a transaction was processed. To see a transaction included in the report in real-time (that is, within 5 seconds of a transaction’s completion), you need to use our [Real-Time Data Reporting](https://developer.globalpayments.com/docs/reporting/real-time-reporting-guide.md) feature and be processing transactions through the API. > Settlement Reporting is available only to merchants who use us as their acquirer. ## How does it work? When you process a sale or refund transaction, we move the appropriate funds to or from the customer’s card and settles the transaction with the relevant card issuer. We handle your transactions from any payment channel, whether through an ecommerce website, point-of-sale (POS) platform, or call center. After aggregating all of your transactions over a determined period, we then transfer those funds to your specified bank account. This transfer of funds, or _deposit_, is made up of the sales and refunds you’ve processed within that period, including any deductions such as card processing fees and disputes (also known as _chargebacks_). Merchants who process a small number of transactions per day receive only one deposit per day, whereas larger volume merchants receive multiple ones. ## Sandbox testing When testing Settlement Reporting, our server returns a list of test transactions instead of real ones. This is because in our Sandbox environment, the settlement data is delivered via a standalone test harness, and reporting doesn’t generate from integration activity. In other words, the transactions you execute in Sandbox aren’t batched and flagged for settlement. However, the data does reflect Production. ## Next steps To try our Settlement Reporting solution, follow the steps and code samples in our [guide](https://developer.globalpayments.com/docs/reporting/settlement-reporting-guide.md). > Remember to first register for a developer account if you don't already have one. Once logged in, you can request Sandbox credentials from your account. ## Guide Source: https://developer.globalpayments.com/docs/reporting/settlement-reporting-guide.md # Settlement Reporting - Guide In this guide, you’ll learn how to use our Deposits, Transactions, and Disputes capabilities so you can understand how a daily transfer of funds to you works. Our examples provide a way to get more details for a particular deposit, but keep in mind that we offer maximum flexibility for how to pull deposit data, whether it’s by timeframe, status, bank account number, and so on. For information on managing transactions, see [Manage Payments](https://developer.globalpayments.com/docs/payments/manage-payments/overview.md). For more information on Settlement Reporting, see our [Overview](https://developer.globalpayments.com/docs/reporting/settlement-reporting-overview.md). > Settlement Reporting is available only to merchants who use us as their acquirer. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) * [Create an access token](https://developer.globalpayments.com/docs/getting-started/generate-token.md) ## Step 1: Get a list of deposits In this step, we pull a list of deposits. For this initial request, you must submit an Account Name or Account ID and the desired timeframe. You can filter the returned data by: * Amount * Bank account number (last 4 digits) * Status (for example, whether a deposit is funded or reserved) * ID - (to search for a particular deposit) You can sort the returned data by time created, status, or deposit in ascending or descending order. The page size can also be specified. In our example, we're not using any filters as we want to return all of the deposits in the timeframe specified. To make things simple, we're only going to return two deposits per page. #### Sample request ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/settlement/deposits?account_name=Settlement%20Reporting&from_time_created=2024-01-01&to_time_created=2024-01-01' \ --header 'Authorization: Bearer 8iZjQyEQeriGfqtA1V5wVDagEMAI' \ --header 'X-GP-Version: 2021-03-22' ``` ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Date startDate = DateTime.now().minusMonths(1).toDate(); Date enddate = DateTime.now().toDate(); try { DepositSummaryPaged response = ReportingService.findDepositsPaged(1, 10) .orderBy(DepositSortProperty.TimeCreated, SortDirection.Descending) .where(SearchCriteria.StartDate, startDate) .and(SearchCriteria.EndDate, enddate) .execute(); List depositList = response.getResults(); DepositSummary firstDeposit = depositList.get(0); // API raw response key "deposits[0]->id" String id = firstDeposit.getDepositId(); // API raw response key "deposits[0]->amount" BigDecimal amount = firstDeposit.getAmount(); // API raw response key "deposits[0]->time_created" Date timeCreated = firstDeposit.getDepositDate(); // API raw response key "deposits[0]->status" String status = firstDeposit.getStatus(); // API raw response key "deposits[0]->funding_type" String type = firstDeposit.getType(); // API raw response key "deposits[0]->currency" String currency = firstDeposit.getCurrency(); // API raw response key "deposits[0]->system->mid" String mid = firstDeposit.getMerchantNumber(); // API raw response key "deposits[0]->system->hierarchy" String hierarchy = firstDeposit.getMerchantHierarchy(); // API raw response key "deposits[0]->system->name" String mName = firstDeposit.getMerchantName(); // API raw response key "deposits[0]->system->dba" String dba = firstDeposit.getMerchantDbaName(); // API raw response key "deposits[0]->sales->count" int salesTotalCount = firstDeposit.getSalesTotalCount(); // API raw response key "deposits[0]->sales->amount" BigDecimal saleTotalAmount = firstDeposit.getSalesTotalAmount(); // API raw response key "deposits[0]->refunds->count" int refundsTotalCount = firstDeposit.getRefundsTotalCount(); // API raw response key "deposits[0]->refunds->amount" BigDecimal refundsTotalAmount = firstDeposit.getRefundsTotalAmount(); // API raw response key "deposits[0]->disputes->chargebacks->count" int chargebackTotalCount = firstDeposit.getChargebackTotalCount(); // API raw response key "deposits[0]->disputes->chargebacks->amount" BigDecimal chargebackTotalAmount = firstDeposit.getChargebackTotalAmount(); // API raw response key "deposits[0]->disputes->reversals->count" int adjustmentTotalCount = firstDeposit.getAdjustmentTotalCount(); // API raw response key "deposits[0]->disputes->reversals->amount" BigDecimal adjustmentTotalAmount = firstDeposit.getAdjustmentTotalAmount(); // API raw response key "deposits[0]->fees->amount" BigDecimal feesTotalAmount = firstDeposit.getFeesTotalAmount(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); DateTime StartDate = DateTime.UtcNow.AddYears(-1); DateTime EndDate = DateTime.UtcNow; try { PagedResult result = ReportingService.FindDepositsPaged(1, 10) .OrderBy(DepositSortProperty.TimeCreated, SortDirection.Descending) .Where(SearchCriteria.StartDate, StartDate) .And(SearchCriteria.EndDate, EndDate) .Execute(); var depositList = result.Results; DepositSummary firstDeposit = depositList.First(); // API raw response key "deposits[0]->id" var id = firstDeposit.DepositId; // API raw response key "deposits[0]->amount" var amount = firstDeposit.Amount; // API raw response key "deposits[0]->time_created" var timeCreated = firstDeposit.DepositDate; // API raw response key "deposits[0]->status" var status = firstDeposit.Status; // API raw response key "deposits[0]->funding_type" var type = firstDeposit.Type; // API raw response key "deposits[0]->currency" var currency = firstDeposit.Currency; // API raw response key "deposits[0]->system->mid" var mid = firstDeposit.MerchantNumber; // API raw response key "deposits[0]->system->hierarchy" var hierarchy = firstDeposit.MerchantHierarchy; // API raw response key "deposits[0]->system->name" var mName = firstDeposit.MerchantName; // API raw response key "deposits[0]->system->dba" var dba = firstDeposit.MerchantDbaName; // API raw response key "deposits[0]->sales->count" var salesTotalCount = firstDeposit.SalesTotalCount; // API raw response key "deposits[0]->sales->amount" var saleTotalAmount = firstDeposit.SalesTotalAmount; // API raw response key "deposits[0]->refunds->count" var refundsTotalCount = firstDeposit.RefundsTotalCount; // API raw response key "deposits[0]->refunds->amount" var refundsTotalAmount = firstDeposit.RefundsTotalAmount; // API raw response key "deposits[0]->disputes->chargebacks->count" var chargebackTotalCount = firstDeposit.ChargebackTotalCount; // API raw response key "deposits[0]->disputes->chargebacks->amount" var chargebackTotalAmount = firstDeposit.ChargebackTotalAmount; // API raw response key "deposits[0]->disputes->reversals->count" var adjustmentTotalCount = firstDeposit.AdjustmentTotalCount; // API raw response key "deposits[0]->disputes->reversals->amount" var adjustmentTotalAmount = firstDeposit.AdjustmentTotalAmount; // API raw response key "deposits[0]->fees->amount" var feesTotalAmount = firstDeposit.FeesTotalAmount; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); $startDate = (new DateTime('2024-01-01'))->setTime(0, 0, 0); $endDate = (new DateTime('2024-01-01'))->setTime(23, 59, 59); try { /** @var \GlobalPayments\Api\Entities\GpApi\PagedResult $response */ $response = ReportingService::findDepositsPaged(1, 10) ->orderBy(DepositSortProperty::TIME_CREATED, SortDirection::DESC) ->where(SearchCriteria::START_DATE, $startDate) ->andWith(SearchCriteria::END_DATE, $endDate) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $depositList = $response->result; /** @var \GlobalPayments\Api\Entities\Reporting\DepositSummary $firstDeposit */ $firstDeposit = reset($depositList); // API raw response key "deposits[0]->id" $id = $firstDeposit->depositId; // API raw response key "deposits[0]->amount" $amount = $firstDeposit->amount; // API raw response key "deposits[0]->time_created" $timeCreated = $firstDeposit->depositDate; // API raw response key "deposits[0]->status" $status = $firstDeposit->status; // API raw response key "deposits[0]->funding_type" $type = $firstDeposit->type; // API raw response key "deposits[0]->currency" $currency = $firstDeposit->currency; // API raw response key "deposits[0]->system->mid" $mid = $firstDeposit->merchantId; // API raw response key "deposits[0]->system->hierarchy" $mHierarchy = $firstDeposit->merchantHierarchy; // API raw response key "deposits[0]->system->name" $mName = $firstDeposit->merchantName; // API raw response key "deposits[0]->system->dba" $dba = $firstDeposit->merchantDbaName; // API raw response key "deposits[0]->sales->count" $salesTotalCount = $firstDeposit->salesTotalCount; // API raw response key "deposits[0]->sales->amount" $salesTotalAmount = $firstDeposit->salesTotalAmount; // API raw response key "deposits[0]->refunds->count" $refundsTotalCount = $firstDeposit->refundsTotalCount; // API raw response key "deposits[0]->refunds->amount" $refundsTotalAmount = $firstDeposit->refundsTotalAmount; // API raw response key "deposits[0]->tax->count" $taxTotalCount = $firstDeposit->taxTotalCount; // API raw response key "deposits[0]->tax->amount" $taxTotalAmount = $firstDeposit->taxTotalAmount; // API raw response key "deposits[0]->disputes->chargebacks->count" $chargebackTotalCount = $firstDeposit->chargebackTotalCount; // API raw response key "deposits[0]->disputes->chargebacks->amount" $chargebackTotalAmount = $firstDeposit->chargebackTotalAmount; // API raw response key "deposits[0]->disputes->reversals->count" $adjustmentTotalCount = $firstDeposit->adjustmentTotalCount; // API raw response key "deposits[0]->disputes->reversals->amount" $adjustmentTotalAmount = $firstDeposit->adjustmentTotalAmount; // API raw response key "deposits[0]->fees->amount" $feesTotalAmount = $firstDeposit->feesTotalAmount; ``` ### Deposit response The response data contains all of the deposits to your bank account within the specified timeframe. For each deposit, a summary object is returned outlining the number of sales, refunds, and disputes included in the deposit, along with any fees applied or discounts. The deposit’s unique ID is also returned, which we can use in Step 2 to get more details on this particular deposit. #### Sample response ```json ``` total_record_count": 21, "current_page_size": 5, "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "DAA_5763583e72ca4181bee088a25482bf06", "account_name": "Settlement Reporting", "filter": { "from_time_created": "2024-01-01", "to_time_created": "2024-01-01, "paging": page_size": 5, "page": 1, "order": "ASC", "order_by": "TIME_CREATED, "deposits": [ id": "DEP_2342423423", "time_created": "2021-03-07", "status": "FUNDED", "funding_type": "CREDIT", "amount": "11400", "currency": "USD", "aggregation_model": "H-By Date", "bank_transfer": { "masked_account_number_last4": "XXXXXX9999", "bank": { "code": "XXXXX0001 }, "system": mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group, "sales": count": 4, "amount": "12400, "refunds": count": 1, "amount": "-1000, "discounts": count": 0, "amount": ", "tax": count": 0, "amount": ", "disputes": chargebacks": { "count": 0, "amount": ", "reversals": count": 0, "amount": " }, "fees": amount": " }, id": "DEP_2342423424", "time_created": "2021-03-07", "status": "FUNDED", "funding_type": "CREDIT", "amount": "11000", "currency": "USD", "aggregation_model": "5-Consolidate", "bank_transfer": { "masked_account_number_last4": "XXXXXX9999", "bank": { "code": "XXXXX0001 }, "system": mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group, "sales": count": 4, "amount": "12500, "refunds": count": 1, "amount": "-1500, "discounts": count": 0, "amount": ", "tax": count": 0, "amount": ", "disputes": chargebacks": { "count": 0, "amount": ", "reversals": count": 0, "amount": " }, "fees": amount": " }, id": "DEP_2342423425", "time_created": "2021-03-07", "status": "FUNDED", "funding_type": "CREDIT", "amount": "12600", "currency": "USD", "aggregation_model": "3-No Summary", "bank_transfer": { "masked_account_number_last4": "XXXXXX9999", "bank": { "code": "XXXXX0001 }, "system": mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group, "sales": count": 5, "amount": "12600, "refunds": count": 0, "amount": ", "discounts": count": 0, "amount": ", "tax": count": 0, "amount": ", "disputes": chargebacks": { "count": 0, "amount": ", "reversals": count": 0, "amount": " }, "fees": amount": " }, id": "DEP_2342423426", "time_created": "2021-03-07", "status": "DELAYED", "funding_type": "CREDIT", "amount": "12700", "currency": "", "aggregation_model": "4-No Summary", "bank_transfer": { "masked_account_number_last4": "XXXXXX9999", "bank": { "code": "XXXXX0001 }, "system": mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group, "sales": count": 5, "amount": "12700, "refunds": count": 0, "amount": ", "discounts": count": 0, "amount": ", "tax": count": 0, "amount": ", "disputes": chargebacks": { "count": 0, "amount": ", "reversals": count": 0, "amount": " }, "fees": amount": " }, id": "DEP_2342423427", "time_created": "2021-03-07", "status": "DELAYED", "funding_type": "CREDIT", "amount": "12800", "currency": "", "aggregation_model": "F-No Summary", "bank_transfer": { "masked_account_number_last4": "XXXXXX9999", "bank": { "code": "XXXXX0001 }, "system": mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group, "sales": count": 5, "amount": "12800, "refunds": count": 0, "amount": ", "discounts": count": 0, "amount": ", "tax": count": 0, "amount": ", "disputes": chargebacks": { "count": 0, "amount": ", "reversals": count": 0, "amount": " }, "fees": amount": " } ], "action": id": "ACT_xUhHvNxUHbT0b2ZdJnDVYThxDkbX1w", "type": "DEPOSIT_LIST", "time_created": "2021-03-10T15:21:42.749Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app } ``` ``` ## Step 2: Get a list of deposit transactions Now that we have our deposit ID, we can call the transaction’s endpoint to pull the data of each individual sale or refund that makes up the deposit. It can also include disputes, which we cover in Step 3. The status of the transactions can be either funded or rejected. To search for a particular transaction in a deposit (or a particular timeframe), add the following data points to your request: * First six or last four digits of the card number used * Card brand (such as Visa or Mastercard) * Acquirer reference number (ARN) * Authorization code or unique merchant reference #### Sample request ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/settlement/transactions?account_name=Settlement%20Reporting&page_size=2&order_by=TIME_CREATED&order=DESC&deposit_id=DEP_2342423427' \ --header 'X-Gp-Version: 2021-03-22' \ --header 'Accept: application/json' \ --header 'Accept-Encoding: gzip' \ --header 'Authorization: Bearer 8iZjQyEQeriGfqtA1V5wVDagEMAI' ``` ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); try { PagedResult response = ReportingService.findSettlementTransactionsPaged(1, 15) .orderBy(DepositSortProperty.TimeCreated, SortDirection.Descending) .where(DataServiceCriteria.DepositReference, "DEP_2342423427") .execute(); // API raw response key "total_record_count" int totalRecordCount = response.getTotalRecordCount(); List trnList = response.getResults(); TransactionSummary transaction = trnList.get(0); // API raw response "transactions[0]->id" String id = transaction.getTransactionId(); // API raw response "transactions[0]->type" String type = transaction.getTransactionType(); // API raw response "transactions[0]->status" String status = transaction.getTransactionStatus(); // API raw response "transactions[0]->time_created" DateTime transactionDate = transaction.getTransactionDate(); // API raw response "transactions[0]->amount" BigDecimal amount = transaction.getAmount(); // API raw response "transactions[0]->currency" String currency = transaction.getCurrency(); // API raw response "transactions[0]->cashback_amount" BigDecimal cashBackAmount = transaction.getCashBackAmount(); // API raw response "transactions[0]->discount_amount" BigDecimal gratuityAmount = transaction.getGratuityAmount(); // API raw response "transactions[0]->tax_amount" BigDecimal taxAmount = transaction.getTaxAmount(); // API raw response "transactions[0]->reference" String reference = transaction.getReferenceNumber(); // API raw response "transactions[0]->time_created_reference" DateTime timeCreatedReference = transaction.getTransactionLocalDate(); // API raw response "transactions[0]->deposit_id" String depositId = transaction.getDepositReference(); // API raw response "transactions[0]->deposit_time_created" Date depositDate = transaction.getDepositDate(); // API raw response "transactions[0]->deposit_amount" BigDecimal depositAmount = transaction.getDepositAmount(); // API raw response "transactions[0]->batch_id" String batchId = transaction.getBatchId(); // API raw response "transactions[0]->batch_time_created" DateTime batchCloseDate = transaction.getBatchCloseDate(); // API raw response "transactions[0]->payment_method->card->brand" String cardType = transaction.getCardType(); // API raw response "transactions[0]->payment_method->card->brand_reference" String brandReference = transaction.getBrandReference(); // API raw response "transactions[0]->payment_method->card->authcode" String authCode = transaction.getAuthCode(); // API raw response "transactions[0]->payment_method->card->arn" String arn = transaction.getAcquirerReferenceNumber(); // API raw response "transactions[0]->order->reference" String orderId = transaction.getOrderId(); // API raw response "transactions[0]->system->mid" String mid = transaction.getMerchantId(); // API raw response "transactions[0]->system->hierarchy" String merchantHierarchy = transaction.getMerchantHierarchy(); // API raw response "transactions[0]->system->name" String systemName = transaction.getMerchantName(); // API raw response "transactions[0]->system->dba" String dba = transaction.getMerchantDbaName(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); try { PagedResult result = ReportingService.FindSettlementTransactionsPaged(1, 15) .OrderBy(TransactionSortProperty.TimeCreated, SortDirection.Descending) .Where(DataServiceCriteria.DepositReference, "DEP_2342423427") .Execute(); // API raw response key "total_record_count" var totalRecordCount = result.TotalRecordCount; var trnList = result.Results; TransactionSummary transaction = trnList.First(); //API raw response "transactions[0]->id" var id = transaction.TransactionId; //API raw response "transactions[0]->type" var type = transaction.TransactionType; //API raw response "transactions[0]->status" var status = transaction.TransactionStatus; //API raw response "transactions[0]->time_created" var transactionDate = transaction.TransactionDate; //API raw response "transactions[0]->amount" var amount = transaction.Amount; //API raw response "transactions[0]->currency" var currency = transaction.Currency; //API raw response "transactions[0]->cashback_amount" var cashBackAmount = transaction.CashBackAmount; //API raw response "transactions[0]->discount_amount" var gratuityAmount = transaction.GratuityAmount; //API raw response "transactions[0]->tax_amount" var taxAmount = transaction.TaxAmount; //API raw response "transactions[0]->reference" var reference = transaction.ReferenceNumber; //API raw response "transactions[0]->time_created_reference" var timeCreatedReference = transaction.TransactionLocalDate; //API raw response "transactions[0]->deposit_id" var depositId = transaction.DepositReference; //API raw response "transactions[0]->deposit_time_created" var depositDate = transaction.DepositDate; //API raw response "transactions[0]->deposit_amount" var depositAmount = transaction.DepositAmount; //API raw response "transactions[0]->batch_id" var batchId = transaction.BatchId; //API raw response "transactions[0]->batch_time_created" var batchCloseDate = transaction.BatchCloseDate; //API raw response "transactions[0]->payment_method->card->brand" var cardType = transaction.CardType; //API raw response "transactions[0]->payment_method->card->brand_reference" var brandReference = transaction.BrandReference; //API raw response "transactions[0]->payment_method->card->authcode" var authCode = transaction.AuthCode; //API raw response "transactions[0]->payment_method->card->arn" var arn = transaction.AquirerReferenceNumber; //API raw response "transactions[0]->order->reference" var orderId = transaction.OrderId; //API raw response "transactions[0]->system->mid" var mid = transaction.MerchantId; //API raw response "transactions[0]->system->hierarchy" var merchantHierarchy = transaction.MerchantHierarchy; //API raw response "transactions[0]->system->name" var systemName = transaction.MerchantName; //API raw response "transactions[0]->system->dba" var dba = transaction.MerchantDbaName; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); try { /** @var \GlobalPayments\Api\Entities\GpApi\PagedResult $response */ $response = ReportingService::findSettlementTransactionsPaged(1, 15) ->orderBy(TransactionSortProperty::TIME_CREATED, SortDirection::DESC) ->where(SearchCriteria::DEPOSIT_ID, 'DEP_2342423427') ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $trnList = $response->result; /** @var \GlobalPayments\Api\Entities\Reporting\TransactionSummary $transaction */ $transaction = reset($trnList); // "transactions[0]->id" $id = $transaction->transactionId; // "transactions[0]->type" $type = $transaction->transactionType; // "transactions[0]->status" $transactionStatus = $transaction->transactionStatus; // "transactions[0]->time_created" $transactionDate = $transaction->transactionDate; // "transactions[0]->amount" $amount = $transaction->amount; // "transactions[0]->currency" $currency = $transaction->currency; // "transactions[0]->cashback_amount" $cashBackAmount = $transaction->cashBackAmount; // "transactions[0]->merchant_amount" $merchantAmount = $transaction->merchantAmount; // "transactions[0]->merchant_currency" $merchantCurrency = $transaction->merchantCurrency; // "transactions[0]->discount_amount" $gratuityAmount = $transaction->gratuityAmount; // "transactions[0]->tax_amount" $taxAmount = $transaction->taxAmount; // "transactions[0]->reference" $referenceNumber = $transaction->referenceNumber; // "transactions[0]->time_created_reference" $timeCreatedReference = $transaction->transactionLocalDate; // "transactions[0]->deposit_id" $depositId = $transaction->depositReference; // "transactions[0]->deposit_time_created" $depositTimeCreated = $transaction->depositTimeCreated; // "transactions[0]->deposit_status" $depositStatus = $transaction->depositStatus; // "transactions[0]->deposit_amount" $depositAmount = $transaction->settlementAmount; // "transactions[0]->batch_id" $batchId = $transaction->batchSequenceNumber; // "transactions[0]->batch_time_created" $batchCloseDate = $transaction->batchCloseDate; // "transactions[0]->payment_method->entry_mode" $entryMode = $transaction->entryMode; // "transactions[0]->payment_method->card->brand" $cardType = $transaction->cardDetails->brand; // "transactions[0]->payment_method->card->brand_reference" $brandReference = $transaction->cardDetails->brandReference; // "transactions[0]->payment_method->card->authcode" $authcode = $transaction->authCode; // "transactions[0]->payment_method->card->arn" $arn = $transaction->aquirerReferenceNumber; // "transactions[0]->order->reference" $orderId = $transaction->orderId; // "transactions[0]->system->mid" $mid = $transaction->merchantId; // "transactions[0]->system->hierarchy" $systemHierarchy = $transaction->merchantHierarchy; // "transactions[0]->system->name" $systemName = $transaction->merchantName; // "transactions[0]->system->dba" $dba = $transaction->merchantDbaName; ``` ### Deposit transactions response For each of the deposit’s transactions, the response data contains funding status, time created, time batched, and the payment method the customer used. Also returned is the transaction’s unique merchant and acquirer references, which you can use to programmatically reconcile the sales and refunds from your ecommerce or point-of-sale solutions with the transactions funded into your bank account. #### Sample response ```json ``` total_record_count": 5, "current_page_size": 2, "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "DAA_5763583e72ca4181bee088a25482bf06", "account_name": "Settlement Reporting", "filter": { "from_deposit_time_created": "2024-01-08", "to_deposit_time_created": "2024-01-10", "deposit_id": "DEP_2342423427, "paging": page_size": 2, "page": 1, "order": "DESC", "order_by": "TIME_CREATED, "transactions": [ time_created": "2021-03-05T15:31:56", "status": "FUNDED", "type": "SALE", "amount": "2500", "currency": "USD", "cashback_amount": "", "merchant_amount": "2500", "merchant_currency": "USD", "discount_amount": "", "merchant_discount_amount": "", "tax_in_merchant_amount": true, "tax_amount": "", "merchant_tax_amount": "", "reference": "28012076eb6M", "time_created_reference": "2021-03-05T17:31:56", "deposit_id": "DEP_2342423427", "deposit_time_created": "2021-03-07", "deposit_status": "DELAYED", "batch_id": "", "batch_time_created": "2021-03-06T15:31:56.508Z", "payment_method": { "entry_mode": "MOTO", "card": { "brand": "AMEX", "authcode": "129623", "brand_reference": "MWE1P0JG80110", "masked_number_first6last4": "379132XXXXX1007", "arn": "71400011203688701393903 }, "system": mid": "101023947262", "tid": "", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group }, time_created": "2021-03-05T15:31:56", "status": "FUNDED", "type": "SALE", "amount": "2620", "currency": "USD", "cashback_amount": "", "merchant_amount": "2620", "merchant_currency": "USD", "discount_amount": "", "merchant_discount_amount": "", "tax_in_merchant_amount": true, "tax_amount": "", "merchant_tax_amount": "", "reference": "280120767b6M", "time_created_reference": "2021-03-05T17:31:56", "deposit_id": "DEP_2342423427", "deposit_time_created": "2021-03-07", "deposit_status": "DELAYED", "batch_id": "", "batch_time_created": "2021-03-06T15:31:56.576Z", "payment_method": { "entry_mode": "CP", "card": { "brand": "VISA", "authcode": "10557", "brand_reference": "MDJ1Q6CG80110", "masked_number_first6last4": "419132XXXXXX1007", "arn": "71406011129179730359011 }, "system": mid": "101023947262", "tid": "", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD.", "dba": "XYZ Group } ], "action": id": "ACT_LIFYysI3OtcaS0CrbJeUOHdkrxI5cN", "type": "TRANSACTION_LIST", "time_created": "2021-03-10T15:31:56.642Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app } ``` ``` ## Step 3: Get a list of deposit disputes Our final step is to pull the list of disputes that make up the deposit. To do this, we call the Disputes endpoint using the deposit ID. #### Sample request ```json ``` curl --location --request GET 'https://apis.sandbox.globalpay.com/ucp/settlement/disputes?from_deposit_time_created=2024-01-01&account_name=Settlement%20Reporting' \ --header 'Authorization: Bearer 8iZjQyEQeriGfqtA1V5wVDagEMAI' \ --header 'X-GP-Version: 2023-01-22' ``` ``` ```java GpApiConfig config = new GpApiConfig(); config.setAppId("AppId"); config.setAppKey("AppKey"); config.setChannel(Channel.CardNotPresent); config.setEnvironment(Environment.TEST); ServicesContainer.configureService(config); Date startDate = DateTime.now().minusYears(1).toDate(); try { DisputeSummaryPaged response = ReportingService.findSettlementDisputesPaged(1, 10) .where(DataServiceCriteria.StartDepositDate, startDate) .execute(); List disputeList = response.getResults(); val dispute = disputeList.get(0); // API raw response disputes[0]->id String disputeId = dispute.getCaseId(); // API raw response disputes[0]->status String status = dispute.getCaseStatus(); // API raw response disputes[0]->stage_time_created DateTime stageTime = dispute.getCaseStageTime(); // API raw response disputes[0]->stage String stage = dispute.getCaseStage(); // API raw response disputes[0]->amount BigDecimal amount = dispute.getCaseAmount(); // API raw response disputes[0]->currency String currency = dispute.getCaseCurrency(); // API raw response disputes[0]->reason_code String reasonCode = dispute.getReasonCode(); // API raw response disputes[0]->reason_description String reason = dispute.getReason(); // API raw response disputes[0]->time_to_respond_by DateTime respondByDate = dispute.getRespondByDate(); // API raw response disputes[0]->result String result = dispute.getResult(); // API raw response disputes[0]->deposit_time_created Date depositDate = dispute.getDepositDate(); // API raw response disputes[0]->deposit_id String depositId = dispute.getDepositReference(); // API raw response disputes[0]->last_adjustment_amount BigDecimal lastAdjustmentAmount = dispute.getLastAdjustmentAmount(); // API raw response disputes[0]->last_adjustment_currency String lastAdjustmentCurrency = dispute.getLastAdjustmentCurrency(); // API raw response disputes[0]->last_adjustment_funding String lastAdjustmentFunding = dispute.getLastAdjustmentFunding(); // API raw response disputes[0]->system->mid String mid = dispute.getCaseMerchantId(); // API raw response disputes[0]->system->hierarchy String merchantHierarchy = dispute.getMerchantHierarchy(); // API raw response disputes[0]->system->name String systemName = dispute.getMerchantName(); // API raw response disputes[0]->transaction->time_created DateTime transactionTime = dispute.getTransactionTime(); // API raw response disputes[0]->transaction->type String transactionType = dispute.getTransactionType(); // API raw response disputes[0]->transaction->amount BigDecimal transactionAmount = dispute.getTransactionAmount(); // API raw response disputes[0]->transaction->currency String transactionCurrency = dispute.getTransactionCurrency(); // API raw response disputes[0]->transaction->reference String transactionReference = dispute.getTransactionReferenceNumber(); // API raw response disputes[0]->transaction->payment_method->card->masked_number_first6last4 String transactionMaskedCardNumber = dispute.getTransactionMaskedCardNumber(); // API raw response disputes[0]->transaction->payment_method->card->arn String transactionArn = dispute.getTransactionARN(); // API raw response disputes[0]->transaction->payment_method->card->brand_reference String transactionBrandReference = dispute.getTransactionBrandReference(); // API raw response disputes[0]->transaction->payment_method->card->authcode String transactionAuthCode = dispute.getTransactionAuthCode(); // API raw response disputes[0]->transaction->payment_method->card->brand String transactionCardType = dispute.getTransactionCardType(); } catch (ApiException e) { // TODO: Add your exception handling here } ``` ```dotnet var config = new GpApiConfig(); config.AppId = "AppId"; config.AppKey = "AppKey"; config.Channel = Channel.CardNotPresent; config.Environment = Entities.Environment.TEST; ServicesContainer.ConfigureService(config); DateTime StartDate = DateTime.UtcNow.AddYears(-1); try { PagedResult response = ReportingService.FindSettlementDisputesPaged(1, 10) .Where(DataServiceCriteria.StartDepositDate, StartDate) .Execute(); var disputeList = response.Results; DisputeSummary dispute = disputeList.First(); // API raw response disputes[0]->id var disputeId = dispute.CaseId; // API raw response disputes[0]->status var status = dispute.CaseStatus; // API raw response disputes[0]->stage_time_created var stageTime = dispute.CaseStageTime; // API raw response disputes[0]->stage var stage = dispute.CaseStage; // API raw response disputes[0]->amount var amount = dispute.CaseAmount; // API raw response disputes[0]->currency var currency = dispute.CaseCurrency; // API raw response disputes[0]->reason_code var reasonCode = dispute.ReasonCode; // API raw response disputes[0]->reason_description var reason = dispute.Reason; // API raw response disputes[0]->time_to_respond_by var respondByDate = dispute.RespondByDate; // API raw response disputes[0]->result var result = dispute.Result; // API raw response disputes[0]->deposit_time_created var depositDate = dispute.DepositDate; // API raw response disputes[0]->deposit_id var depositId = dispute.DepositReference; // API raw response disputes[0]->last_adjustment_amount var lastAdjustmentAmount = dispute.LastAdjustmentAmount; // API raw response disputes[0]->last_adjustment_currency var lastAdjustmentCurrency = dispute.LastAdjustmentCurrency; // API raw response disputes[0]->last_adjustment_funding var lastAdjustmentFunding = dispute.LastAdjustmentFunding; // API raw response disputes[0]->system->mid var mid = dispute.CaseMerchantId; // API raw response disputes[0]->system->hierarchy var merchantHierarchy = dispute.MerchantHierarchy; // API raw response disputes[0]->system->name var systemName = dispute.MerchantName; // API raw response disputes[0]->transaction->time_created var transactionTime = dispute.TransactionTime; // API raw response disputes[0]->transaction->type var transactionType = dispute.TransactionType; // API raw response disputes[0]->transaction->amount var transactionAmount = dispute.TransactionAmount; // API raw response disputes[0]->transaction->currency var transactionCurrency = dispute.TransactionCurrency; // API raw response disputes[0]->transaction->reference var transactionReference = dispute.TransactionReferenceNumber; // API raw response disputes[0]->transaction->payment_method->card->masked_number_first6last4 var transactionMaskedCardNumber = dispute.TransactionMaskedCardNumber; // API raw response disputes[0]->transaction->payment_method->card->arn var transactionArn = dispute.TransactionARN; // API raw response disputes[0]->transaction->payment_method->card->brand_reference var transactionBrandReference = dispute.TransactionBrandReference; // API raw response disputes[0]->transaction->payment_method->card->authcode var transactionAuthCode = dispute.TransactionAuthCode; // API raw response disputes[0]->transaction->payment_method->card->brand var transactionCardType = dispute.TransactionCardType; } catch (GatewayException e) { Console.WriteLine(e); throw; } ``` ```php /* Config set at the start of your integration. Not required each time a method is called from the SDK */ $config = new GpApiConfig(); $config->appId = 'appId'; $config->appKey = 'appKey'; $config->channel = Channel::CardNotPresent; $config->environment = Environment::TEST; $config->requestLogger = new SampleRequestLogger(new Logger("logs")); ServicesContainer::configureService($config); // End of config $startDate = (new DateTime('2024-01-01'))->setTime(0, 0, 0); try { /** @var \GlobalPayments\Api\Entities\GpApi\PagedResult $response */ $response = ReportingService::findSettlementDisputesPaged(1, 10) ->where(DataServiceCriteria::START_DEPOSIT_DATE, $startDate) ->execute(); } catch (GatewayException $ex) { echo $ex->getMessage(); exit(); // TODO: Add your exception handling here } $disputeList = $response->result; /** @var \GlobalPayments\Api\Entities\Reporting\DisputeSummary $dispute */ $dispute = reset($disputeList); $disputeId = $dispute->caseId; // API raw response disputes[0]->id $status = $dispute->caseStatus; // API raw response disputes[0]->status $stageTime = $dispute->disputeStageTime; // API raw response "disputes[0]->stage_time_created" $stage = $dispute->caseStage; // API raw response "disputes[0]->stage" $amount = $dispute->caseAmount; // API raw response "disputes[0]->amount" $currency = $dispute->caseCurrency; //API raw response "disputes[0]->currency" $reasonCode = $dispute->reasonCode; // API raw response "disputes[0]->reason_code" $reason = $dispute->reason; // API raw response "disputes[0]->reason_description" $respondByDate = $dispute->respondByDate; // API raw response "disputes[0]->time_to_respond_by" $result = $dispute->result;// API raw response "disputes[0]->result" $fundingType = $dispute->fundingType; // API raw response "disputes[0]->funding_type" $depositDate = $dispute->depositDate; // API raw response "disputes[0]->deposit_time_created" $depositId = $dispute->depositReference;// API raw response "disputes[0]->deposit_id" // API raw response "disputes[0]->last_adjustment_amount" $lastAdjustmentAmount = $dispute->lastAdjustmentAmount; // API raw response "disputes[0]->last_adjustment_currency" $lastAdjustmentCurrency = $dispute->lastAdjustmentCurrency; // API raw response "disputes[0]->last_adjustment_funding" $lastAdjustmentFunding = $dispute->lastAdjustmentFunding; // API raw response "disputes[0]->last_adjustment_time_created" $lastAdjustmentTimeCreated = $dispute->lastAdjustmentTimeCreated; $mid = $dispute->caseMerchantId; // API raw response "disputes[0]->system->mid" $merchantName = $dispute->merchantName; // API raw response "disputes[0]->system->name" $hierarchy = $dispute->merchantHierarchy; // API raw response "disputes[0]->system->hierarchy" // API raw response "disputes[0]->transaction->time_created" $transactionTime = $dispute->transactionTime; // API raw response "disputes[0]->transaction->type" $transactionType = $dispute->transactionType; // API raw response "disputes[0]->transaction->amount" $transactionAmount = $dispute->transactionAmount; // API raw response "disputes[0]->transaction->currency" $transactionCurrency = $dispute->transactionCurrency; // API raw response "disputes[0]->transaction->reference" $transactionReferenceNumber = $dispute->transactionReferenceNumber; // API raw response "disputes[0]->transaction->payment_method->card->masked_number_first6last4" $transactionMaskedCardNumber = $dispute->transactionMaskedCardNumber; // API raw response "disputes[0]->transaction->payment_method->card->arn" $transactionARN = $dispute->transactionARN; // API raw response "disputes[0]->transaction->payment_method->card->brand_reference" $transactionBrandReference = $dispute->transactionBrandReference; // API raw response "disputes[0]->transaction->payment_method->card->authcode" $transactionAuthCode = $dispute->transactionAuthCode; // API raw response "disputes[0]->transaction->payment_method->card->brand" $transactionCardType = $dispute->transactionCardType; ``` ### Deposit disputes response For each of the deposit’s disputes, the response data contains the reason, date created, and the last adjustment, which indicates whether the funds were debited or credited to your account. You also receive data on the dispute’s status and what stage of the process it’s in. For more information on disputes, see [Disputes Management](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md). ```json ``` current_page_size": 5, "merchant_id": "MER_c4c0df11039c48a9b63701adeaa296c3", "merchant_name": "Sandbox_merchant_2", "account_id": "DAA_5763583e72ca4181bee088a25482bf06", "account_name": "Settlement Reporting", "filter": { "status": "FUNDED", "from_deposit_time_created": "2024-01-01", "to_deposit_time_created": "2024-03-10, "paging": page_size": 5, "page": 1, "order": "ASC", "order_by": "FROM_STAGE_TIME_CREATED, "disputes": [ id": "DIS_792", "status": "FUNDED", "stage": "CHARGEBACK", "stage_time_created": "2021-03-03T15:41:33", "amount": "200", "currency": "PHP", "reason_code": "53", "reason_description": "Not As Described/Defective Merchandise", "time_to_respond_by": "2021-03-20T15:41:33", "result": "LOST", "funding_type": "DEBIT", "deposit_time_created": "2021-03-07", "deposit_id": "DEP_2342423443", "last_adjustment_amount": "", "last_adjustment_currency": "", "last_adjustment_funding": "", "last_adjustment_time_created": "", "system": { "mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD., "transaction": time_created": "2021-02-08T15:41:33", "merchant_time_created": "2021-02-08T17:41:33", "type": "SALE", "amount": "200", "currency": "PHP", "reference": "28012075cffM", "payment_method": { "card": { "masked_number_first6last4": "516075XXXXXX4234", "arn": "74500010037624410827759", "brand": "MASTERCARD", "authcode": "28010", "brand_reference": "130 } } }, id": "DIS_793", "status": "FUNDED", "stage": "REVERSAL", "stage_time_created": "2021-03-03T15:41:33", "amount": "200", "currency": "PHP", "reason_code": "77", "reason_description": "Non-Matching Account Number", "time_to_respond_by": "2021-03-20T15:41:33", "result": "WON", "funding_type": "CREDIT", "deposit_time_created": "2021-03-07", "deposit_id": "DEP_2342423443", "last_adjustment_amount": "", "last_adjustment_currency": "", "last_adjustment_funding": "", "last_adjustment_time_created": "", "system": { "mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD., "transaction": time_created": "2021-02-08T15:41:33", "merchant_time_created": "2021-02-08T17:41:33", "type": "SALE", "amount": "200", "currency": "PHP", "reference": "28012076405M", "payment_method": { "card": { "masked_number_first6last4": "543458XXXXXX7652", "arn": "55504430037039389318875", "brand": "MASTERCARD", "authcode": "28656", "brand_reference": "MCF1CZ5ME5405 } } }, id": "DIS_794", "status": "FUNDED", "stage": "REVERSAL", "stage_time_created": "2021-03-03T15:41:33", "amount": "200", "currency": "PHP", "reason_code": "81", "reason_description": "Fraudulent Transaction-Card-Present Environment", "time_to_respond_by": "2021-03-20T15:41:33", "result": "WON", "funding_type": "CREIT", "deposit_time_created": "2021-03-07", "deposit_id": "DEP_2342423443", "last_adjustment_amount": "", "last_adjustment_currency": "", "last_adjustment_funding": "", "last_adjustment_time_created": "", "system": { "mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD., "transaction": time_created": "2021-02-08T15:41:33", "merchant_time_created": "2021-02-08T17:41:33", "type": "SALE", "amount": "200", "currency": "PHP", "reference": "28012076eb6M", "payment_method": { "card": { "masked_number_first6last4": "414720XXXXXX9274", "arn": "55181360037672410181238", "brand": "VISA", "authcode": "8481", "brand_reference": "MCS18V1EG3201 } } }, id": "DIS_795", "status": "FUNDED", "stage": "CHARGEBACK", "stage_time_created": "2021-03-03T15:41:33", "amount": "200", "currency": "PHP", "reason_code": "62", "reason_description": "Counterfeit Transaction", "time_to_respond_by": "2021-03-20T15:41:33", "result": "LOST", "funding_type": "DEBIT", "deposit_time_created": "2021-03-07", "deposit_id": "DEP_2342423443", "last_adjustment_amount": "", "last_adjustment_currency": "", "last_adjustment_funding": "", "last_adjustment_time_created": "", "system": { "mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD., "transaction": time_created": "2021-02-08T15:41:33", "merchant_time_created": "2021-02-08T17:41:33", "type": "SALE", "amount": "200", "currency": "PHP", "reference": "280120767b6M", "payment_method": { "card": { "masked_number_first6last4": "414720XXXXXX3564", "arn": "24137550037630153798573", "brand": "VISA", "authcode": "05075A", "brand_reference": "MCW1A7LHA1320 } } }, id": "DIS_796", "status": "FUNDED", "stage": "REVERSAL", "stage_time_created": "2021-03-03T15:41:33", "amount": "200", "currency": "PHP", "reason_code": "A02", "reason_description": "No Valid Authorization", "time_to_respond_by": "2021-03-20T15:41:33", "result": "WON", "funding_type": "CREDIT", "deposit_time_created": "2021-03-07", "deposit_id": "DEP_2342423443", "last_adjustment_amount": "", "last_adjustment_currency": "", "last_adjustment_funding": "", "last_adjustment_time_created": "", "system": { "mid": "101023947262", "hierarchy": "055-70-024-011-019", "name": "XYZ LTD., "transaction": time_created": "2021-02-08T15:41:33", "merchant_time_created": "2021-02-08T17:41:33", "type": "SALE", "amount": "200", "currency": "PHP", "reference": "2801207a017M", "payment_method": { "card": { "masked_number_first6last4": "452088XXXXXX7639", "arn": "24388940037630154188364", "brand": "VISA", "authcode": "00375J", "brand_reference": "MCSUYX1FY1977 } } } ], "action": id": "ACT_Xo6RjwmmPwO12wA1cRUr5hqV1SnA2k", "type": "DISPUTE_LIST", "time_created": "2021-03-10T15:41:33.961Z", "result_code": "SUCCESS", "app_id": "i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR", "app_name": "demo_app } ``` ``` ## Testing Our Settlement Reporting solution is available for testing in our free Sandbox environment for registered users of this developer portal. Use our resources below to start testing. ### [Test Cards](https://developer.globalpayments.com/ecommerce/resources/test-card-numbers) Test different transaction outcomes with simulated cards or banks. ### [Postman Collection](https://developer.globalpayments.com/api/postman-collection/overview.md) View, import, or fork our API collection in Postman. ### [Responses](https://developer.globalpayments.com/resources/responses.md) View successful responses, HTTP status codes, action response data, and errors. ## Integration references To get a deeper understanding of Settlement Reporting, we recommend that you use our provided integration references for both API and SDK integrations. For the full detailed API specification, see the [API Explorer](https://developer.globalpayments.com/api/overview.md). ### [API Settlement Reporting](https://developer.globalpayments.com/api/825) API Guide to using the Settlement Reporting Functionality. ### [Manage Payments](https://developer.globalpayments.com/docs/payments/manage-payments/overview.md) Explore all of the payment actions that are available for our API. ### [SDKs & Libraries](https://developer.globalpayments.com/docs/integration-options/sdk/overview.md) Add server-side or client-side code to your integration. ### [Quickstart Demo](https://demo.globalpay.com/merchants/insights-and-reporting/settlement-reports) Demo how easy it is to integrate our customizable solutions into your existing payment experience, and view transactions from multiple channels and regions in one place. ## Enhance your integration Below are value-added services you can enable for Real-Time Data Reporting. ### [Real-Time Data Reporting](https://developer.globalpayments.com/docs/reporting/real-time-reporting-guide.md) Simplify reconciliation and get customized daily deposit data. ### [Disputes Management](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md) Automate the reporting and management of transaction disputes. ### [File Processing](https://developer.globalpayments.com/docs/operations/file-processing-overview.md) Process large volumes of transactions in one file. ## Overview Source: https://developer.globalpayments.com/api/overview.md # API Explorer Our REST API is a single point of integration that provides access to a vast worldwide payments ecosystem. It easily enables the processing of payments in person, on a website, or within an application (in-app). You can use it to manage transactions, disputes, and deposits across a multitude of currencies, payment methods, and regions. This overview shows you how to use our interactive API Explorer, provides a link to Postman to view our API collection, and identifies some key API resources to get you started (for more information about our resources and their related actions, see [Resources & Actions](https://developer.globalpayments.com/api/definitions/resources-actions.md) in API Definitions). ## How it works ### Resources & actions In the API Explorer, each resource has a separate page for its associated API actions of GET, POST, or PATCH. For example, for the Transactions resource, you can directly go to an API action such as `[POST] Create` by clicking it on the left menu. Each API action page contains the complete list of parameters in the left column, grouped by Header, Request, Response, and so on. In the right column is the related endpoint at the top and an interactive code playground (black window) to call our API using JSON or cURL. The response window is right below it where you can see both success and failure model responses. ![API Explorer Action Page.](https://developer.globalpayments.com/gh-assets/api-explorer_action-page.png) **API Explorer Action Page - [POST Create]** ### Code playground In our code playground, we provide a model request sample to get you started, with separate tabs for the URL & Query (endpoint), Headers, and Body. You can use the Switch Example arrow to see other examples. Add your own values and run a test directly on the page. You can reset the code back to the model at any time. To better see the relevant parameters in the left column for the selected example, switch on the Highlight Properties feature. After running a test, the Response appears in the window directly below, so you can instantly see how it worked. For better viewing of the request or response, use the expand icon to open it in a separate window (as shown below). When finished, click the collapse icon. ![Response Model in a Separate Window.](https://developer.globalpayments.com/gh-assets/api-explorer_popup.png) **Response Model in a Separate Window** ## View in Postman If you prefer to view our collection of API resources and methods in Postman, click the button below. You can also import or fork the collection.   ## Basic API Actions ### [Access Token](https://developer.globalpayments.com/api/access-token.md) Create an access token to execute an API action. ### [Transactions](https://developer.globalpayments.com/api/transactions.md) Transfer funds between payer and merchant, and get transaction records. ## Manage risk ### [Authentications](https://developer.globalpayments.com/api/authentications.md) Request payer validation from the card issuer to support 3D Secure requirements. ### [Risk Assessments](https://developer.globalpayments.com/api/risk-assessments) Determine fraud risk for a transaction, payer, or payment method. ### [Stored Payment Methods](https://developer.globalpayments.com/api/payment-methods-tokenization.md) Use a token to securely store sensitive information for future sales and refunds. ### [Payers](https://developer.globalpayments.com/api/payers.md) Store customer details such as name, addresses, and payment methods to use for future transactions. ### [Verifications](https://developer.globalpayments.com/api/verifications.md) Verify a payment method to create a transaction at a later time. ## Manage transaction data ### [Actions](https://developer.globalpayments.com/api/actions.md) Report on all aspects of your app's usage of our API. ### [Batches](https://developer.globalpayments.com/api/batches.md) Close card-present batches and review them. ### [Deposits](https://developer.globalpayments.com/api/deposits) Obtain details of each deposit to your bank account. ### [Disputes](https://developer.globalpayments.com/api/disputes.md) Manage dispute queries and chargebacks. ### [Reports](https://developer.globalpayments.com/api/reports.md) Get available reports for a merchant. ## Expand your integration ### [Currency Conversion](https://developer.globalpayments.com/api/currency-conversion.md) Dynamically convert the transaction amount to the payer's currency. ### [Links](https://developer.globalpayments.com/api/links.md) Provide a unique payment link to your customer. ### [Installments](https://developer.globalpayments.com/api/installments.md) Allow Visa customers to pay for their purchases over time. ## Access Token Source: https://developer.globalpayments.com/api/access-token.md # Access Token ```yaml openapi: 3.0.3 x-stoplight: id: 236npehhvomkz info: x-gp-yaml-file-version: 1 title: Access Token description: 'Access Tokens are required to execute all API actions, you can use this resource to obtain one. The authority of the bearer token; the actions it can execute, is determined by the associated Merchant ID, Accounts and Permissions of the app used to create it.' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com version: 2021 03 22 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Create Access Token description: Authenticate using app credentials to use GP API. externalDocs: url: 'https://developer.globalpay.com/authentication' paths: /accesstoken: post: operationId: getAccessToken tags: - Create Access Token summary: Create a bearer access token. description: 'Using your app credentials, send a request to create a bearer access token that can be used to execute subsequent API actions. The actions that the token can execute are determined by the permissions the app has.' parameters: - name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. - name: X-GP-Version in: header required: true schema: type: string default: '2021-03-22' example: '2021-03-22' minLength: 1 maxLength: 50 description: The version of the API to execute the request. requestBody: content: application/json: schema: type: object x-stoplight: id: 5igkw0gaxy3pk x-examples: {} required: - app_id - nonce - secret - grant_type properties: app_id: type: string x-stoplight: id: h1m1w3h8tydy6 description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 nonce: type: string x-stoplight: id: 9k8g5ca0c250z description: A unique random value used to create the secret. The integrator must ensure this is unique and different for every request to create an access token. minLength: 1 maxLength: 50 example: random_string secret: type: string x-stoplight: id: z7k1t991s85of description: A unique string created using the nonce and app-key. This value is used to further authenticate the request. Created as follows - SHA512(NONCEAPP-KEY minLength: 1 maxLength: 200 example: e776ce1d9e94d5072ee13225 grant_type: type: string description: | This is an Oauth specific field that must be set to client_credentials. This indicates to the platform to give access to the apps own resources. * `client_credentials` example: client_credentials enum: - client_credentials minLength: 1 maxLength: 50 seconds_to_expire: type: number x-stoplight: id: s61i09l3wc3p0 description: The time in seconds that the access token will expire and can no longer be used. minLength: 60 maxLength: 604800 restricted_token: x-stoplight: id: n7m258oxpvkml title: restricted_token_ACCESS_TOKEN.restricted_token description: | Masks the account, merchant and app details that is returned in the response to a tokenisation request. * `YES` - A restricted access token will be created. Restricted access token is used when integrating with Drop-in UI or Hosted Fields to create a single-use payment token. * `NO` - A restricted access token will not be created. enum: - 'YES' - 'NO' interval_to_expire: type: string description: | The time interval set for when the token will expire. * `WEEK` * `DAY` * `12_HOURS` * `6_HOURS` * `3_HOURS` * `1_HOUR` * `30_MINUTES` * `10_MINUTES` * `5_MINUTES` example: 1_HOUR enum: - WEEK - DAY - 12_HOURS - 6_HOURS - 3_HOURS - 1_HOUR - 30_MINUTES - 10_MINUTES - 5_MINUTES permissions: type: array x-stoplight: id: p2yfui2r2jwtj description: All of the permissions or activites that may be performed by the account. example: - TRN_POST_Authorize items: x-stoplight: id: i0qald3jgwept enum: - TRN_POST_Authorize - TRN_POST_Refund - TRN_POST_Capture - TRN_POST_Reverse - VER_POST_Verify - TRN_GET_Single - TRN_GET_List - AUT_POST_Initiate - AUT_POST_Results - AUT_POST_Check_Availability x-gp-partner-permissions-enum: - MER_TRN - MER_TRN_POST_Refund_Standalone - MER_TRN_POST_Force - MER_VER - MER_BAT - MER_INS - MER_PMT - MER_PMT_POST_Detokenize - MER_ACT - MER_ACT_GET_Single_Logs - MER_ACT_POST_Multiple - MER_DEV - MER_GET_Single - MER_GET_List - MER_ACC - MER_CCS - MER_ACC_GET_Single_Platform - MER_AUT - ACC_GET_Single - ACC_GET_List - GET_Single - ACC_GET_Single_Platform - ACT_GET_Single - ACT_GET_List - ACT_GET_Single_Logs - ACT_POST_Multiple - MER_APP - APP_GET_Single - APP_GET_List - MER_PFC - MER_POST_Create - PFC_PATCH_Edit - MER_PATCH_Edit - PFC_GET_Single - PFC_GET_List - APP_GET_Single_Key - MER_APP_GET_Single_Key - MER_ACC_POST_Create - MER_ACC_PATCH_Edit - MER_RAS - ACT_POST_Auto_Action - MER_TRF - MER_LNK - MER_FND - MER_TRN_GET_Platform_References - MER_BIN - MER_HLD - MER_REL - MER_DOC title: '' examples: Get Access Token: value: app_id: i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR nonce: random_string secret: e776ce1d9e94d5072ee132258e446cd92668d7c28b2e475a345319b475ba601956c16e3983926ce279db6301d78b7f47cfb729e41b4169814e373f0a0bf38716 grant_type: client_credentials Get Access Token - Set Permissions: value: app_id: i9R0byBBor6RqTQNj3g4MuVBwH5rd7yR nonce: random_string secret: e776ce1d9e94d5072ee132258e446cd92668d7c28b2e475a345319b475ba601956c16e3983926ce279db6301d78b7f47cfb729e41b4169814e373f0a0bf38716 grant_type: client_credentials seconds_to_expire: 6400 permissions: - TRN_POST_Authorize required: true responses: '200': description: OK headers: {} content: application/json: schema: type: object x-stoplight: id: srrmix52qzhz6 properties: token: type: string x-stoplight: id: 12uehr4f6rhez description: The access token that can be used to execute API actions. A unique identifier generated by Global Payments to identify the merchant. example: AEI2ptJfKM1Wb5TFZxBDWFZA7Se7 minLength: 1 maxLength: 50 type: type: string description: | The type of token created. * `Bearer` - Indicates that the holder or bearer of this access token can access the API. example: Bearer enum: - Bearer minLength: 1 maxLength: 50 scope: type: object x-stoplight: id: 6kdjyslkq8owo properties: merchant_id: type: string x-stoplight: id: tt6hqlm0049lf description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' example: MER_A6A1EC44522F96630ABEA17A minLength: 1 maxLength: 50 merchant_name: type: string x-stoplight: id: nlseaqx2uszmu description: A meaningful label that better identifies the merchant. example: ABC INDUSTRIES minLength: 1 maxLength: 50 accounts: type: array x-stoplight: id: lty1a6h63osmr items: x-stoplight: id: 7uu05cn6ghwwq type: object properties: id: type: string description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: TRA_be83259a-455e-4ce6-a53a-6d5d31c79d41 minLength: 1 maxLength: 50 name: type: string x-stoplight: id: ajrjowtksptyt description: A meaningful label that better identifies the account. example: North American Website minLength: 1 maxLength: 50 permissions: type: array x-stoplight: id: p2yfui2r2jwtj description: All of the permissions or activites that may be performed by the account. example: - TRN_POST_Authorize items: x-stoplight: id: i0qald3jgwept enum: - TRN_POST_Authorize - TRN_POST_Refund - TRN_POST_Capture - TRN_POST_Reverse - VER_POST_Verify - TRN_GET_Single - TRN_GET_List - AUT_POST_Initiate - AUT_POST_Results - AUT_POST_Check_Availability x-gp-partner-permissions-enum: - MER_TRN - MER_TRN_POST_Refund_Standalone - MER_TRN_POST_Force - MER_VER - MER_BAT - MER_INS - MER_PMT - MER_PMT_POST_Detokenize - MER_ACT - MER_ACT_GET_Single_Logs - MER_ACT_POST_Multiple - MER_DEV - MER_GET_Single - MER_GET_List - MER_ACC - MER_CCS - MER_ACC_GET_Single_Platform - MER_AUT - ACC_GET_Single - ACC_GET_List - GET_Single - ACC_GET_Single_Platform - ACT_GET_Single - ACT_GET_List - ACT_GET_Single_Logs - ACT_POST_Multiple - MER_APP - APP_GET_Single - APP_GET_List - MER_PFC - MER_POST_Create - PFC_PATCH_Edit - MER_PATCH_Edit - PFC_GET_Single - PFC_GET_List - APP_GET_Single_Key - MER_APP_GET_Single_Key - MER_ACC_POST_Create - MER_ACC_PATCH_Edit - MER_RAS - ACT_POST_Auto_Action - MER_TRF - MER_LNK - MER_FND - MER_TRN_GET_Platform_References - MER_BIN - MER_HLD - MER_REL - MER_DOC title: '' app_id: type: string x-stoplight: id: h1m1w3h8tydy6 description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 app_name: type: string x-stoplight: id: 19ure21ohk2d9 description: A meaningful label that better identifies the app. example: my_lovely_app minLength: 1 maxLength: 50 time_created: type: string x-stoplight: id: nlgst0va86g3h description: Time indicating when the object was created in ISO-8601 format. Provided in UTC. example: '2021-05-03T21:23:39.718Z' seconds_to_expire: type: number x-stoplight: id: s61i09l3wc3p0 description: The time in seconds that the access token will expire and can no longer be used. minLength: 60 maxLength: 604800 interval_to_expire: type: string description: | The time interval set for when the token will expire. * `WEEK` * `DAY` * `12_HOURS` * `6_HOURS` * `3_HOURS` * `1_HOUR` * `30_MINUTES` * `10_MINUTES` * `5_MINUTES` example: 1_HOUR enum: - WEEK - DAY - 12_HOURS - 6_HOURS - 3_HOURS - 1_HOUR - 30_MINUTES - 10_MINUTES - 5_MINUTES email: type: string x-stoplight: id: k4yout8scjnoa description: Email registered with the app that was used to create the access token minLength: 1 maxLength: 50 example: james.mason@example.com '400': description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef '401': description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp '403': description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 '404': description: Resource Not Found content: {} '500': description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t '501': description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk '504': description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 components: schemas: request: type: object x-stoplight: id: 5igkw0gaxy3pk x-examples: {} required: - app_id - nonce - secret - grant_type properties: app_id: type: string x-stoplight: id: h1m1w3h8tydy6 description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 nonce: type: string x-stoplight: id: 9k8g5ca0c250z description: A unique random value used to create the secret. The integrator must ensure this is unique and different for every request to create an access token. minLength: 1 maxLength: 50 example: random_string secret: type: string x-stoplight: id: z7k1t991s85of description: A unique string created using the nonce and app-key. This value is used to further authenticate the request. Created as follows - SHA512(NONCEAPP-KEY minLength: 1 maxLength: 200 example: e776ce1d9e94d5072ee13225 grant_type: type: string description: | This is an Oauth specific field that must be set to client_credentials. This indicates to the platform to give access to the apps own resources. * `client_credentials` example: client_credentials enum: - client_credentials minLength: 1 maxLength: 50 seconds_to_expire: type: number x-stoplight: id: s61i09l3wc3p0 description: The time in seconds that the access token will expire and can no longer be used. minLength: 60 maxLength: 604800 restricted_token: x-stoplight: id: n7m258oxpvkml title: restricted_token_ACCESS_TOKEN.restricted_token description: | Masks the account, merchant and app details that is returned in the response to a tokenisation request. * `YES` - A restricted access token will be created. Restricted access token is used when integrating with Drop-in UI or Hosted Fields to create a single-use payment token. * `NO` - A restricted access token will not be created. enum: - 'YES' - 'NO' interval_to_expire: type: string description: | The time interval set for when the token will expire. * `WEEK` * `DAY` * `12_HOURS` * `6_HOURS` * `3_HOURS` * `1_HOUR` * `30_MINUTES` * `10_MINUTES` * `5_MINUTES` example: 1_HOUR enum: - WEEK - DAY - 12_HOURS - 6_HOURS - 3_HOURS - 1_HOUR - 30_MINUTES - 10_MINUTES - 5_MINUTES permissions: type: array x-stoplight: id: p2yfui2r2jwtj description: All of the permissions or activites that may be performed by the account. example: - TRN_POST_Authorize items: x-stoplight: id: i0qald3jgwept enum: - TRN_POST_Authorize - TRN_POST_Refund - TRN_POST_Capture - TRN_POST_Reverse - VER_POST_Verify - TRN_GET_Single - TRN_GET_List - AUT_POST_Initiate - AUT_POST_Results - AUT_POST_Check_Availability x-gp-partner-permissions-enum: - MER_TRN - MER_TRN_POST_Refund_Standalone - MER_TRN_POST_Force - MER_VER - MER_BAT - MER_INS - MER_PMT - MER_PMT_POST_Detokenize - MER_ACT - MER_ACT_GET_Single_Logs - MER_ACT_POST_Multiple - MER_DEV - MER_GET_Single - MER_GET_List - MER_ACC - MER_CCS - MER_ACC_GET_Single_Platform - MER_AUT - ACC_GET_Single - ACC_GET_List - GET_Single - ACC_GET_Single_Platform - ACT_GET_Single - ACT_GET_List - ACT_GET_Single_Logs - ACT_POST_Multiple - MER_APP - APP_GET_Single - APP_GET_List - MER_PFC - MER_POST_Create - PFC_PATCH_Edit - MER_PATCH_Edit - PFC_GET_Single - PFC_GET_List - APP_GET_Single_Key - MER_APP_GET_Single_Key - MER_ACC_POST_Create - MER_ACC_PATCH_Edit - MER_RAS - ACT_POST_Auto_Action - MER_TRF - MER_LNK - MER_FND - MER_TRN_GET_Platform_References - MER_BIN - MER_HLD - MER_REL - MER_DOC title: '' response: type: object x-stoplight: id: srrmix52qzhz6 properties: token: type: string x-stoplight: id: 12uehr4f6rhez description: The access token that can be used to execute API actions. A unique identifier generated by Global Payments to identify the merchant. example: AEI2ptJfKM1Wb5TFZxBDWFZA7Se7 minLength: 1 maxLength: 50 type: type: string description: | The type of token created. * `Bearer` - Indicates that the holder or bearer of this access token can access the API. example: Bearer enum: - Bearer minLength: 1 maxLength: 50 scope: type: object x-stoplight: id: 6kdjyslkq8owo properties: merchant_id: type: string x-stoplight: id: tt6hqlm0049lf description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' example: MER_A6A1EC44522F96630ABEA17A minLength: 1 maxLength: 50 merchant_name: type: string x-stoplight: id: nlseaqx2uszmu description: A meaningful label that better identifies the merchant. example: ABC INDUSTRIES minLength: 1 maxLength: 50 accounts: type: array x-stoplight: id: lty1a6h63osmr items: x-stoplight: id: 7uu05cn6ghwwq type: object properties: id: type: string description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: TRA_be83259a-455e-4ce6-a53a-6d5d31c79d41 minLength: 1 maxLength: 50 name: type: string x-stoplight: id: ajrjowtksptyt description: A meaningful label that better identifies the account. example: North American Website minLength: 1 maxLength: 50 permissions: type: array x-stoplight: id: p2yfui2r2jwtj description: All of the permissions or activites that may be performed by the account. example: - TRN_POST_Authorize items: x-stoplight: id: i0qald3jgwept enum: - TRN_POST_Authorize - TRN_POST_Refund - TRN_POST_Capture - TRN_POST_Reverse - VER_POST_Verify - TRN_GET_Single - TRN_GET_List - AUT_POST_Initiate - AUT_POST_Results - AUT_POST_Check_Availability x-gp-partner-permissions-enum: - MER_TRN - MER_TRN_POST_Refund_Standalone - MER_TRN_POST_Force - MER_VER - MER_BAT - MER_INS - MER_PMT - MER_PMT_POST_Detokenize - MER_ACT - MER_ACT_GET_Single_Logs - MER_ACT_POST_Multiple - MER_DEV - MER_GET_Single - MER_GET_List - MER_ACC - MER_CCS - MER_ACC_GET_Single_Platform - MER_AUT - ACC_GET_Single - ACC_GET_List - GET_Single - ACC_GET_Single_Platform - ACT_GET_Single - ACT_GET_List - ACT_GET_Single_Logs - ACT_POST_Multiple - MER_APP - APP_GET_Single - APP_GET_List - MER_PFC - MER_POST_Create - PFC_PATCH_Edit - MER_PATCH_Edit - PFC_GET_Single - PFC_GET_List - APP_GET_Single_Key - MER_APP_GET_Single_Key - MER_ACC_POST_Create - MER_ACC_PATCH_Edit - MER_RAS - ACT_POST_Auto_Action - MER_TRF - MER_LNK - MER_FND - MER_TRN_GET_Platform_References - MER_BIN - MER_HLD - MER_REL - MER_DOC title: '' app_id: type: string x-stoplight: id: h1m1w3h8tydy6 description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 app_name: type: string x-stoplight: id: 19ure21ohk2d9 description: A meaningful label that better identifies the app. example: my_lovely_app minLength: 1 maxLength: 50 time_created: type: string x-stoplight: id: nlgst0va86g3h description: Time indicating when the object was created in ISO-8601 format. Provided in UTC. example: '2021-05-03T21:23:39.718Z' seconds_to_expire: type: number x-stoplight: id: s61i09l3wc3p0 description: The time in seconds that the access token will expire and can no longer be used. minLength: 60 maxLength: 604800 interval_to_expire: type: string description: | The time interval set for when the token will expire. * `WEEK` * `DAY` * `12_HOURS` * `6_HOURS` * `3_HOURS` * `1_HOUR` * `30_MINUTES` * `10_MINUTES` * `5_MINUTES` example: 1_HOUR enum: - WEEK - DAY - 12_HOURS - 6_HOURS - 3_HOURS - 1_HOUR - 30_MINUTES - 10_MINUTES - 5_MINUTES email: type: string x-stoplight: id: k4yout8scjnoa description: Email registered with the app that was used to create the access token minLength: 1 maxLength: 50 example: james.mason@example.com parameters: {} ``` ## Accounts Source: https://developer.globalpayments.com/api/accounts.md # Accounts ```yaml openapi: 3.0.3 x-stoplight: id: guoqkwhgu8vk4 info: title: Accounts description: Accounts represent the payment processing capability a merchant is set up for on the Global Payments API. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com version: 2021 03 22 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Get Merchant's Account info description: Get information about the merchant's account configurations. - name: Get info about a Single Account description: Get information about a merchant's single account configuration. - name: Edit a Merchant's Account info description: Edit merchant's account configuration. - name: Address Lookup description: 'This method is used to get an Address Lookup Reference, which will help with merchant approval in the UK.' paths: /accounts: get: operationId: getMerchantAccounts tags: - Get Merchant's Account info summary: Get information about the merchant's accounts. description: Get information about the merchant's accounts. parameters: - name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ x-stoplight: id: stor96sg67n8f - in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 description: The version of the API to execute the request. - in: query name: page description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. schema: type: number description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: xt3cwf79jwl2d - in: query name: page_size description: The total number of objects to return in a single page for that list. schema: description: The total number of objects to return in a single page for that list. maximum: 1000 minimum: 1 type: number default: 5 x-stoplight: id: 4iqthk95ugc7v - in: query name: order description: 'The direction of the ordering of the entire list, ASC or DESC' schema: description: 'The direction of the ordering of the entire list, ASC or DESC' type: string enum: - ASC - DESC x-stoplight: id: 59c5dolt8d8ef - in: query name: order_by description: 'The value to order the entire list by. ' schema: description: 'The value to order the entire list by. ' type: string enum: - TIME_CREATED x-stoplight: id: ziqb38c67ru3m - name: status in: query schema: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf - name: name in: query schema: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 - name: id in: query schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei - name: from_time_created in: query schema: description: 'The start time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-10-01' x-stoplight: id: qygysumvdtwz3 - name: to_time_created in: query schema: description: 'The end time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-12-31' x-stoplight: id: 0svhhf4ktdxnf responses: '200': description: OK headers: Content-Type: schema: description: Indicates the format of the message. type: string default: application/json x-stoplight: id: qdoiuafa6zsf8 Content-Encoding: schema: description: Indicates if the message is compressed and using what compression mechanism. type: string default: gzip x-stoplight: id: rgi0h47svaey8 X-GP-Version: schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' maximum: 1000 minimum: 1 default: 1 x-stoplight: id: 1umhez91th7ms current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: q9g6w665hrijx merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 x-stoplight: id: 7pvnp70dzc67l merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 x-stoplight: id: 1u0vbo2ma1ave filter: type: object description: Indicates what fields and values used to filter the current list of resource objects in the current response. properties: from_time_created: description: 'The start time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-10-01' x-stoplight: id: qygysumvdtwz3 to_time_created: description: 'The end time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-12-31' x-stoplight: id: 0svhhf4ktdxnf x-stoplight: id: e8pt9r89he6tn paging: type: object description: The paging values used to generate this response. properties: page: type: number description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: xt3cwf79jwl2d page_size: description: The total number of objects to return in a single page for that list. maximum: 1000 minimum: 1 type: number default: 5 x-stoplight: id: 4iqthk95ugc7v order_by: description: 'The value to order the entire list by. ' type: string enum: - TIME_CREATED x-stoplight: id: ziqb38c67ru3m order: description: 'The direction of the ordering of the entire list, ASC or DESC' type: string enum: - ASC - DESC x-stoplight: id: 59c5dolt8d8ef x-stoplight: id: van8v4byz75fg accounts: type: array description: A list of Account records. items: oneOf: - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso x-stoplight: id: flc22fnj2fk2o - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: 2y7iaxclc0jwp - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: ozra69b6745an action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-examples: {} x-stoplight: id: w2ed8k385d7iq examples: {} '400': description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef '401': description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp '403': description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 '404': description: Resource Not Found content: {} '500': description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t '501': description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk '504': description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 '/accounts/': patch: operationId: editAccountSingle tags: - Edit a Merchant's Account info summary: Edit merchant's account configuration. description: Edit merchant's account configuration. parameters: - name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ x-stoplight: id: stor96sg67n8f - in: header name: Content-type description: Format of the message. required: true schema: description: Indicates the format of the message. type: string default: application/json x-stoplight: id: qdoiuafa6zsf8 - in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 description: The version of the API to execute the request. - in: header name: X-GP-Idempotency description: 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. schema: description: 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. type: string minLength: 1 maxLength: 50 x-stoplight: id: 7adhri038cefq - name: id in: path description: This is the account id created to uniquely identify it in the Global Payments system. required: true schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei responses: '200': description: OK headers: Content-Type: schema: description: Indicates the format of the message. type: string default: application/json x-stoplight: id: qdoiuafa6zsf8 Content-Encoding: schema: description: Indicates if the message is compressed and using what compression mechanism. type: string default: gzip x-stoplight: id: rgi0h47svaey8 X-GP-Version: schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 content: application/json: schema: oneOf: - type: object x-examples: {} x-stoplight: id: bfzostrlwwmx5 properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 type: type: string description: 'Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization.' enum: - FUND_MANAGEMENT example: FUND_MANAGEMENT status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh time_last_updated: description: The date and time the resource object was last changed. type: string format: date-time example: '2021-05-03T21:23:39.718Z' x-stoplight: id: qp48b0dwlma2a merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 x-stoplight: id: 7pvnp70dzc67l merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 x-stoplight: id: 1u0vbo2ma1ave card_replacment_reason: title: card_replacement_reason_ACCOUNTS.card_replacment_reason type: string description: |- Indicates the reason why a Prepaied card needs to be replaced. * `LOST` - The card has either been lost or stolen. This will immediately disable the currently-assigned card and issue a new card with a new number. The card PIN number will be mailed to the account's shipping address. example: LOST enum: - LOST permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a examples: {} '400': description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef '401': description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp '403': description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 '404': description: Resource Not Found content: {} '500': description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t '501': description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk '504': description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 callbacks: Account Edit Notification: '{$request.body#/notifications.status_url}': post: parameters: - name: Authorization in: header schema: type: string example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true - name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. - name: X-GP-Version in: header required: true schema: type: string default: '2021-03-22' example: '2021-03-22' minLength: 1 maxLength: 50 description: The version of the API to execute the request. - name: X-GP-Idempotency in: header required: false schema: type: string minLength: 1 maxLength: 50 description: 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. requestBody: content: application/json: schema: title: edit_account_notification x-stoplight: id: u73md4ygezf6s type: object properties: id: type: string x-stoplight: id: h6cu0iclk4x1z description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c examples: - FMA_02ca6d0284b743449a28aadfb702c71c name: type: string x-stoplight: id: oazg9qw855ngj description: A understandable name associated with an instance of a account. example: '718586025_753619' status: type: string x-stoplight: id: 3k9gnceuatf1w description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE enum: - ACTIVE - INACTIVE type: type: string x-stoplight: id: mwyrqyt6ui7z7 description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT time_created: type: string x-stoplight: id: l55qhlt9213eq description: GP API platform date and time that indicates when this instance of a platform configuration was created. format: date-time time_last_updated: type: string x-stoplight: id: l9c1w81othekj description: GP API platform date and time that indicates when this instance of a platform configuration was last updated. format: date-time status_description: title: status_description_ACCOUNTS.status_description x-stoplight: id: eorrm2x48mrbj type: string description: 'A further desctiption of the status of a account. ' example: Account Update Successful action: type: object x-stoplight: id: o4jstxz3jmeet properties: id: title: id_Actions.id x-stoplight: id: q4ri2g067xcft type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACT_tdXGc8Jz0BDqtQSNhkDAgeJZF7OqCM minLength: 1 maxLength: 50 type: title: type.Actions.type x-stoplight: id: nvewxtp9qbdn3 type: string description: 'The type of action executed. This is a non-exhaustive list of enums. ' enum: - AUTHORIZE - PREAUTHORIZE - REFUND - REVERSE - CAPTURE - ADJUST - HOLD - RELEASE - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE time_created: title: time_created_Actions.time_created x-stoplight: id: 49hgmtg547dzc type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2023-04-27T21:23:39.718Z' format: date-time result_code: title: result_code_Actions.result_code x-stoplight: id: 25t8aencq1oo7 type: string description: The result of the action executed. example: SUCCESS app_id: title: app_id_Actions.app_id x-stoplight: id: 9epqv4sk8a9xy type: string description: The id of the app that was used to create the token. example: 07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOu maxLength: 50 app_name: title: app_name_Actions.app_name x-stoplight: id: 9w6luoywhzm9z type: string description: The name of the app the user gave to the application. example: Sandbox Merchant 3 description: The account update notification message that will be sent to the merchant status URL. responses: '200': description: OK requestBody: content: application/json: schema: type: object x-examples: {} x-stoplight: id: 3vjftphokxj1v properties: payer: type: object properties: payment_method: type: object properties: name: type: string x-stoplight: id: qubmy5nd7up49 description: First and last name on the payment method used minLength: 1 maxLength: 50 default: John Smith reference: type: string x-stoplight: id: 808b9knd0op3b description: A label that further describes the payment method card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 x-stoplight: id: n2uov4b16p0nk expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 x-stoplight: id: 53kw6yrtqgdx5 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 x-stoplight: id: kwd2ano99oent required: - number - expiry_month - expiry_year x-stoplight: id: s08hk95sgeuq3 billing_address: type: object required: - line_1 - city - state - postal_code - country properties: line_1: type: string description: First line of the address. example: 123 Merchant Street minLength: 1 maxLength: 255 x-stoplight: id: jdmgddxtn09gt line_2: type: string description: Second line of the address. example: Suite 2 minLength: 0 maxLength: 255 x-stoplight: id: y30jmjrgalgg6 line_3: type: string description: Third line of the address. example: foyer minLength: 0 maxLength: 255 x-stoplight: id: 8i2o8ontcev77 city: type: string description: The city associated with the address. example: Beverly Hills minLength: 1 maxLength: 255 x-stoplight: id: 49cy709171mxr state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA minLength: 1 maxLength: 255 x-stoplight: id: azgzm2kv3n7w6 postal_code: type: string description: The postal code of the address. example: '90210' minLength: 1 maxLength: 255 x-stoplight: id: qdg07fkz8s65e country: x-stoplight: id: ek7scjl70mzmm type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: t838e9lc3alkz card_replacement_reason: title: card_replacement_reason_ACCOUNTS.card_replacment_reason type: string description: |- Indicates the reason why a Prepaied card needs to be replaced. * `LOST` - The card has either been lost or stolen. This will immediately disable the currently-assigned card and issue a new card with a new number. The card PIN number will be mailed to the account's shipping address. example: LOST enum: - LOST notifications: type: object x-stoplight: id: gvf3ahhmurtsn properties: status_url: title: notifications.status_url x-stoplight: id: ke0l8twg6m3q0 type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. example: 'https://www.example.com/notifications/status' minLength: 1 maxLength: 255 examples: 'Edit Account - Payout Card ': value: payer: payment_method: name: name reference: '123456' card: number: '4747474747474747' expiry_month: '02' expiry_year: '22' cvv: '999' billing_address: line_1: Address 1 line_2: '' city: Atlanta state: Georgia postal_code: '30346' country: USA Edit Account - Allowed Negative Balance: value: processing_limits: allowed_negative_balance_amount: '10000' notifications: status_url: 'https://envf9cub7b5qrsj.m.pipedream.net/' 'Edit Account - Capabilities and Processing Limits ': value: capabilities: - PAY_OUT_ENABLE - PAY_IN_ENABLE - CC_PROCESSING_ENABLE - TRANSFER_IN_ENABLE - TRANSFER_OUT_ENABLE - CARD_PROCESSING_OVER_LIMIT_ENABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_ENABLE processing_limits: card_transaction_limit_amount: '34' card_monthly_limit_amount: '1000' bank_transfer_transaction_limit_amount: '1000000' bank_transfer_monthly_limit_amount: '300000000' disable_payout_card_limit_percentage: '300' disable_payout_bank_transfer_limit_percentage: '300' status_change_reason: ReadyToProcess notifications: status_url: 'https://www.webhooknotificationurl.com/' Edit Account - Replace Prepaid Card: value: card_replacement_reason: LOST notifications: status_url: 'https://www.webhooknotificationurl.com/' description: '' get: operationId: getAccountSingle tags: - Get info about a Single Account summary: Get the details of a single Account using its unique id. description: Get the details of a single Account using its unique id. parameters: - name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ x-stoplight: id: stor96sg67n8f - in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 description: The version of the API to execute the request. - name: id in: path description: This is the account id created to uniquely identify it in the Global Payments system. required: true schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei responses: '200': description: OK headers: Content-Type: schema: description: Indicates the format of the message. type: string default: application/json x-stoplight: id: qdoiuafa6zsf8 Content-Encoding: schema: description: Indicates if the message is compressed and using what compression mechanism. type: string default: gzip x-stoplight: id: rgi0h47svaey8 X-GP-Version: schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 content: application/json: schema: oneOf: - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso configurations: type: array description: 'A list of configurations for an account. Each configuration''s countries, channels, currencies and payment_methods represents a different transaction processing system route.' items: type: object description: 'A configuration''s countries, channels, currencies and payment_methods, represents a different transaction processing system route.' properties: countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso x-stoplight: id: if55f071eg0rt action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: 3p1lu5nicysak - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf email_id: type: string description: 'Email registered with the application that was used to access this token. ' example: james.mason@example.com minLength: 1 maxLength: 50 x-stoplight: id: pvh8kob2rvwhd permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: wkiewvrc46mto - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: ozra69b6745an - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: m055svh6cgbh6 examples: {} '400': description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef '401': description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp '403': description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 '404': description: Resource Not Found content: {} '500': description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t '501': description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk '504': description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 '/merchants//accounts/': get: summary: Get FMA Account Details tags: - Get FMA Account Details responses: '200': description: OK content: application/json: schema: title: accounts_GET_FMA x-stoplight: id: ej4yc7z1g7dx2 type: object properties: id: type: string x-stoplight: id: h6cu0iclk4x1z description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c examples: - FMA_02ca6d0284b743449a28aadfb702c71c type: type: string x-stoplight: id: mwyrqyt6ui7z7 description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT name: type: string x-stoplight: id: oazg9qw855ngj description: A understandable name associated with an instance of a account. example: '718586025_753619' status: type: string x-stoplight: id: 3k9gnceuatf1w description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE enum: - ACTIVE - INACTIVE permissions: type: array x-stoplight: id: 3jksunf1n0lj4 description: All of the permissions or activites that may be performed by the account. example: APP_GET_Single_Key items: type: string enum: - FMA_LIMIT_Notification x-stoplight: id: eq6jxrsl3eldk capabilities: type: array x-stoplight: id: kj3o1j062117b description: The capabilities of a Funds Management account. example: PAY_OUT_ENABLE items: type: string enum: - PAY_OUT_ENABLE - CARD_PROCESSING_OVER_LIMIT_ENABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_ENABLE - PAY_OUT_DISABLE - CARD_PROCESSING_OVER_LIMIT_DISABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_DISABLE x-stoplight: id: tibizsvuj75vd payment_processing_statistics: type: object x-stoplight: id: iw3fz4j5u9coo properties: card_transaction_limit_amount: type: string x-stoplight: id: 7lre5hshgmeb0 description: The maximum permitted transactional amount for card transactions. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '500000' card_monthly_limit_amount: type: string x-stoplight: id: eamdztz3u635u description: 'The processing amount for card transactions permitted in a calendar month. If this amount is exceeded, a merchant will generally be able to continue processing, but may have funding disabled until the account has been reviewed or additional underwriting has been performed. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '2000000' bank_transfer_per_transaction_limit_amount: type: string x-stoplight: id: rjrdby8wypzkh description: The maximum permitted transactional amount for card transactions. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '500000' bank_transfer_monthly_limit_amount: type: string x-stoplight: id: ni2w0icdt7k38 description: 'The processing amount for bank transfer transactions permitted in a calendar month. If this amount is exceeded, a merchant will generally be able to continue processing, but may have funding disabled until the account has been reviewed or additional underwriting has been performed. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '2000000' bank_transfer_month_to_date_processed_amount: type: string x-stoplight: id: hn2fizjtutnzp description: The total bank transfer transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' title: '' card_month_to_date_processed_amount: type: string x-stoplight: id: wols8dgcp4x8s description: The total card transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '0.00' available_balance_amount: type: string x-stoplight: id: 7jeyaza0ckch9 description: The account balance available for transfer or payout. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' pending_balance_amount: type: string x-stoplight: id: ymd74oeetx0ua description: 'The pending account balance for transactions that have been approved, but have not yet been funded. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '1000000' reserve_balance_amount: type: string x-stoplight: id: iem8l9vf04qon description: The account balance that has been set aside as a reserve. The reserve balance may not be transfered or paid out. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' allowed_negative_balance_amount: type: string x-stoplight: id: lkvh7fqrk8u2p description: The permitted negative balance for an account. A permissable negative balance allows a merchant to perform refunds from their account available funds. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' disable_payout_card_limit_percentage: type: string x-stoplight: id: s05fmgpwvhi8g description: The percentage at which funding will be disabled on an acocunt. The percentage is calulated by dividing the card_month_to_date_amount by the card_monthly_limit_amount. example: '100' disable_payout_bank_transfer_limit_percentage: type: string x-stoplight: id: mj770zg6vbw99 description: The percentage at which funding will be disabled on an acocunt. The percentage is calulated by dividing the ach_month_to_date_amount by the ach_monthly_limit_amount. example: '100' card_month_to_date_processed_percentage: type: string x-stoplight: id: wols8dgcp4x8s description: The total card transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '0.00' bank_transfer_month_to_date_processed_percentage: title: bank_transfer_month_to_date_processed_percentage_ACCOUNTS.payment_processing_statistics.bank_transfer_month_to_date_processed_percentage x-stoplight: id: 02dwmsdcsgnuo type: string description: 'The total bank transfer transaction percentage processed in the current calendar month. ' example: '10.00' action: type: object x-stoplight: id: n4hbhbjehx1lg properties: id: title: id_Actions.id x-stoplight: id: q4ri2g067xcft type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACT_tdXGc8Jz0BDqtQSNhkDAgeJZF7OqCM minLength: 1 maxLength: 50 type: title: type_ACCOUNTS.action.type x-stoplight: id: 1mnkktrfuncmy type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACCOUNTS_SINGLE time_created: title: time_created_Actions.time_created x-stoplight: id: 49hgmtg547dzc type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2023-04-27T21:23:39.718Z' format: date-time result_code: title: result_code_Actions.result_code x-stoplight: id: 25t8aencq1oo7 type: string description: The result of the action executed. example: SUCCESS app_id: title: app_id_Actions.app_id x-stoplight: id: 9epqv4sk8a9xy type: string description: The id of the app that was used to create the token. example: 07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOu maxLength: 50 app_name: title: app_name_Actions.app_name x-stoplight: id: 9w6luoywhzm9z type: string description: The name of the app the user gave to the application. example: Sandbox Merchant 3 '400': description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef '401': description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp '403': description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 '404': description: Resource Not Found content: {} '500': description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t '501': description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk '504': headers: Content-Type: schema: {} Content-Encoding: schema: {} X-GP-Version: schema: {} description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 operationId: get-accounts-FMA_id x-stoplight: id: y2pke9efu7cx1 description: Get the details of a Funds Management Account using its unique id. parameters: - name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ x-stoplight: id: stor96sg67n8f - in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 description: The version of the API to execute the request. - name: FMA_id in: path required: true schema: type: string x-stoplight: id: h6cu0iclk4x1z description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c examples: - FMA_02ca6d0284b743449a28aadfb702c71c - name: MER_id in: path required: true schema: type: string x-stoplight: id: nz8c5kk4fcdl0 description: A unique identifier for the merchant set by Global Payments. example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 maxLength: 50 components: schemas: merchants_single: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 x-stoplight: id: 7pvnp70dzc67l merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 x-stoplight: id: 1u0vbo2ma1ave time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh status: type: string minLength: 1 description: | Indicates whether the merchant is in its lifecycle. * ACTIVE - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. * INACTIVE - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. * UNDER_REVIEW - The entity is under review and can cannot used any of the payment processing capabilities until the review is complete and the merchant is switched to active. * DECLINED - The entity did not complete the risk review process and cannot use any payment processing capabilities. * WITH_MERCHANT - The entity must submit additional information or documentation before activation. enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT x-stoplight: id: akbuwr0srhiho email: type: string description: Primary email configured with the merchant. example: merchant@example.com minLength: 1 maxLength: 50 x-stoplight: id: y0lnxwr8mf0x5 address_1: type: string description: First line of the address. example: 123 Merchant Street minLength: 1 maxLength: 255 x-stoplight: id: jdmgddxtn09gt address_2: type: string description: Second line of the address. example: Suite 2 minLength: 0 maxLength: 255 x-stoplight: id: y30jmjrgalgg6 city: type: string description: The city associated with the address. example: Beverly Hills minLength: 1 maxLength: 255 x-stoplight: id: 49cy709171mxr zip: type: string description: The postal code of the address. example: '90210' minLength: 1 maxLength: 255 x-stoplight: id: qdg07fkz8s65e state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA minLength: 1 maxLength: 255 x-stoplight: id: azgzm2kv3n7w6 country: x-stoplight: id: ek7scjl70mzmm type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 links: type: array items: type: array items: type: object properties: rel: type: string description: | Describes the relationship the associated link href value has to the current resource. * SELF - indicates a link to the current resource. * ACCOUNTS - indicates a link to the current resource's list of accounts. enum: - SELF - ACCOUNTS minLength: 0 maxLength: 50 x-stoplight: id: b3qhkoit4ku5l href: type: string description: A href link to the resources or resource actions as indicated in the corresponding rel value. example: 'https://apis.globalpay.com/ucp/merchants/MER_c4c0df11039c48a9b63701adeaa296c3' minLength: 0 maxLength: 2048 x-stoplight: id: ncx1tvm51h5wi x-stoplight: id: l5nofh6vwp8yz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: 17yh7upvp185d accounts_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' maximum: 1000 minimum: 1 default: 1 x-stoplight: id: 1umhez91th7ms current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: q9g6w665hrijx merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 x-stoplight: id: 7pvnp70dzc67l merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 x-stoplight: id: 1u0vbo2ma1ave filter: type: object description: Indicates what fields and values used to filter the current list of resource objects in the current response. properties: from_time_created: description: 'The start time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-10-01' x-stoplight: id: qygysumvdtwz3 to_time_created: description: 'The end time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-12-31' x-stoplight: id: 0svhhf4ktdxnf x-stoplight: id: e8pt9r89he6tn paging: type: object description: The paging values used to generate this response. properties: page: type: number description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: xt3cwf79jwl2d page_size: description: The total number of objects to return in a single page for that list. maximum: 1000 minimum: 1 type: number default: 5 x-stoplight: id: 4iqthk95ugc7v order_by: description: 'The value to order the entire list by. ' type: string enum: - TIME_CREATED x-stoplight: id: ziqb38c67ru3m order: description: 'The direction of the ordering of the entire list, ASC or DESC' type: string enum: - ASC - DESC x-stoplight: id: 59c5dolt8d8ef x-stoplight: id: van8v4byz75fg accounts: type: array description: A list of Account records. items: oneOf: - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso x-stoplight: id: flc22fnj2fk2o - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: 2y7iaxclc0jwp - type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: ozra69b6745an action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-examples: {} x-stoplight: id: w2ed8k385d7iq accounts_single_transaction_processing: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso configurations: type: array description: 'A list of configurations for an account. Each configuration''s countries, channels, currencies and payment_methods represents a different transaction processing system route.' items: type: object description: 'A configuration''s countries, channels, currencies and payment_methods, represents a different transaction processing system route.' properties: countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso x-stoplight: id: if55f071eg0rt action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: 3p1lu5nicysak accounts_transaction_processing_list: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso x-stoplight: id: flc22fnj2fk2o accounts_single_backoffice: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf email_id: type: string description: 'Email registered with the application that was used to access this token. ' example: james.mason@example.com minLength: 1 maxLength: 50 x-stoplight: id: pvh8kob2rvwhd permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: wkiewvrc46mto accounts_single_backoffice_list: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: 2y7iaxclc0jwp accounts_single_tokenization: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz x-stoplight: id: ozra69b6745an accounts_single_fundmanagement_request: type: object x-examples: {} x-stoplight: id: 3vjftphokxj1v properties: payer: type: object properties: payment_method: type: object properties: name: type: string x-stoplight: id: qubmy5nd7up49 description: First and last name on the payment method used minLength: 1 maxLength: 50 default: John Smith reference: type: string x-stoplight: id: 808b9knd0op3b description: A label that further describes the payment method card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 x-stoplight: id: n2uov4b16p0nk expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 x-stoplight: id: 53kw6yrtqgdx5 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 x-stoplight: id: kwd2ano99oent required: - number - expiry_month - expiry_year x-stoplight: id: s08hk95sgeuq3 billing_address: type: object required: - line_1 - city - state - postal_code - country properties: line_1: type: string description: First line of the address. example: 123 Merchant Street minLength: 1 maxLength: 255 x-stoplight: id: jdmgddxtn09gt line_2: type: string description: Second line of the address. example: Suite 2 minLength: 0 maxLength: 255 x-stoplight: id: y30jmjrgalgg6 line_3: type: string description: Third line of the address. example: foyer minLength: 0 maxLength: 255 x-stoplight: id: 8i2o8ontcev77 city: type: string description: The city associated with the address. example: Beverly Hills minLength: 1 maxLength: 255 x-stoplight: id: 49cy709171mxr state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA minLength: 1 maxLength: 255 x-stoplight: id: azgzm2kv3n7w6 postal_code: type: string description: The postal code of the address. example: '90210' minLength: 1 maxLength: 255 x-stoplight: id: qdg07fkz8s65e country: x-stoplight: id: ek7scjl70mzmm type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: t838e9lc3alkz card_replacement_reason: title: card_replacement_reason_ACCOUNTS.card_replacment_reason type: string description: |- Indicates the reason why a Prepaied card needs to be replaced. * `LOST` - The card has either been lost or stolen. This will immediately disable the currently-assigned card and issue a new card with a new number. The card PIN number will be mailed to the account's shipping address. example: LOST enum: - LOST notifications: type: object x-stoplight: id: gvf3ahhmurtsn properties: status_url: title: notifications.status_url x-stoplight: id: ke0l8twg6m3q0 type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. example: 'https://www.example.com/notifications/status' minLength: 1 maxLength: 255 accounts_single_fundmanagement_response: type: object x-examples: {} x-stoplight: id: bfzostrlwwmx5 properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 type: type: string description: 'Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization.' enum: - FUND_MANAGEMENT example: FUND_MANAGEMENT status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh time_last_updated: description: The date and time the resource object was last changed. type: string format: date-time example: '2021-05-03T21:23:39.718Z' x-stoplight: id: qp48b0dwlma2a merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 x-stoplight: id: 7pvnp70dzc67l merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 x-stoplight: id: 1u0vbo2ma1ave card_replacment_reason: title: card_replacement_reason_ACCOUNTS.card_replacment_reason type: string description: |- Indicates the reason why a Prepaied card needs to be replaced. * `LOST` - The card has either been lost or stolen. This will immediately disable the currently-assigned card and issue a new card with a new number. The card PIN number will be mailed to the account's shipping address. example: LOST enum: - LOST permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a accounts_single_fundmanagement: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a x-stoplight: id: m055svh6cgbh6 accounts_single_update_capabilities: title: accounts_single_update_capabilities x-stoplight: id: 00ao5y36cllj6 type: object x-examples: Example 1: capabilities: - PAY_IN_ENABLE processing_limits: card_transaction_limit_amount: '34' card_monthly_limit_amount: '1000' ach_transaction_limit_amount: '1000' ach_monthly_limit_amount: '1000' disable_payout_card_limit_percentage: '1000' disable_payout_ach_limit_percentage: '1000' status_change_reason: ACTIVE notifications: status_url: 'https://www.example.com/notifications/status' properties: capabilities: type: array items: type: string description: These are the capabilities enabled by the platform for the account. enum: - PAY_IN_ENABLE - PAY_IN_DISABLE - Pay_OUT_ENABLE - PAY_OUT_DISABLE - CC_PROCESSING_ENABLE - CC_PROCESSING_DISABLE - TRANSFER_IN_ENABLE - TRANSFER_IN_DISABLE - TRANSFER_OUT_ENABLE - TRANSFER_OUT_DISABLE - CARD_PROCESSING_OVER_LIMIT_ENABLE - CARD_PROCESSING_OVER_LIMIT_DISABLE - ACH_PROCESSING_OVER_LIMIT_ENABLE - ACH_PROCESSING_OVER_LIMIT_DISABLE x-stoplight: id: kdd2ckld8stvs processing_limits: type: object properties: card_transaction_limit_amount: type: string description: This is the maximum ticket size permitted for a card transaction. example: '34' x-stoplight: id: i5ejqp2pljqrs card_monthly_limit_amount: type: string description: This is the total monthly card volume permitted to be processed by this account in the account's currency. example: '1000' x-stoplight: id: b7ovm47q4f6fj ach_transaction_limit_amount: type: string description: This is the maximum ticket size permitted for an ach transaction. example: '1000' x-stoplight: id: xgr1f6hcoup35 ach_monthly_limit_amount: type: string description: This is the total monthly card volume permitted to be processed by this account in the account's currency. example: '1000' x-stoplight: id: 2g3gaqkms9vxr disable_payout_card_limit_percentage: type: string description: This is the percentage of the monthly card processing volume that will disable pay outs if exceeded. example: '1000' x-stoplight: id: 351r6h2co03ze disable_payout_ach_limit_percentage: type: string description: This is the percentage of the monthly ach processing volume that will disable pay outs if exceeded. example: '1000' x-stoplight: id: nneauqz3nblb5 status_change_reason: type: string description: | This is the reason or nature of the status. * ACTIVE - The merchant is in good standing. * CLOSED_BY_MERCHANT - The merchant has been closed at the request of the merchant or partner. * CLOSED_BY_RISK - The merchant has been closed by a Global Payments Risk Team. * APPLICATION_DENIED - The merchant application has been denied by the Global Payments Risk Team. * PENDING_REVIEW - The merchant application is pending review from the Global Payments Risk Team. * PENDING_MERCHANT_CONSENT - The merchant must agree to terms and conditions prior to accepting payments. * PENDING_IDENTITY_VALIDATION - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team. * PENDING_IDENTITY_VALIDATION_AND_PAYMENT - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team and submit payment. * PENDING_PAYMENT - The merchant must submit payment. * UNKNOWN_STATUS - Contact your relationship manager for more details. * REMOVE_PARTNERSHIP - The partner has requested to disassociate the merchant from the partner program. enum: - ACTIVE - CLOSED_BY_MERCHANT - CLOSED_BY_RISK - APPLICATION_DENIED - PENDING_REVIEW - PENDING_MERCHANT_CONSENT - PENDING_IDENTITY_VALIDATION - PENDING_IDENTITY_VALIDATION_AND_PAYMENT - PENDING_PAYMENT - UNKNOWN_STATUS x-stoplight: id: h4d0xjtwkjye2 notifications: type: object properties: status_url: type: string minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. x-stoplight: id: 0pc91e54lwhz7 accounts_single_allowed_negative: type: object properties: processing_limits: type: object properties: allowed_negative_balance: type: string description: The negative balance allowed to an account. x-stoplight: id: p73jo823tsxjt notifications: type: object properties: status_url: type: string minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. x-stoplight: id: 0pc91e54lwhz7 x-examples: Example 1: processing_limits: allowed_negative_balance: '10000' notifications: status_url: 'https://envf9cub7b5qrsj.m.pipedream.net/' x-stoplight: id: qbu4f922l52i2 accounts_GET_FMA: title: accounts_GET_FMA x-stoplight: id: ej4yc7z1g7dx2 type: object properties: id: type: string x-stoplight: id: h6cu0iclk4x1z description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c examples: - FMA_02ca6d0284b743449a28aadfb702c71c type: type: string x-stoplight: id: mwyrqyt6ui7z7 description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT name: type: string x-stoplight: id: oazg9qw855ngj description: A understandable name associated with an instance of a account. example: '718586025_753619' status: type: string x-stoplight: id: 3k9gnceuatf1w description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE enum: - ACTIVE - INACTIVE permissions: type: array x-stoplight: id: 3jksunf1n0lj4 description: All of the permissions or activites that may be performed by the account. example: APP_GET_Single_Key items: type: string enum: - FMA_LIMIT_Notification x-stoplight: id: eq6jxrsl3eldk capabilities: type: array x-stoplight: id: kj3o1j062117b description: The capabilities of a Funds Management account. example: PAY_OUT_ENABLE items: type: string enum: - PAY_OUT_ENABLE - CARD_PROCESSING_OVER_LIMIT_ENABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_ENABLE - PAY_OUT_DISABLE - CARD_PROCESSING_OVER_LIMIT_DISABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_DISABLE x-stoplight: id: tibizsvuj75vd payment_processing_statistics: type: object x-stoplight: id: iw3fz4j5u9coo properties: card_transaction_limit_amount: type: string x-stoplight: id: 7lre5hshgmeb0 description: The maximum permitted transactional amount for card transactions. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '500000' card_monthly_limit_amount: type: string x-stoplight: id: eamdztz3u635u description: 'The processing amount for card transactions permitted in a calendar month. If this amount is exceeded, a merchant will generally be able to continue processing, but may have funding disabled until the account has been reviewed or additional underwriting has been performed. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '2000000' bank_transfer_per_transaction_limit_amount: type: string x-stoplight: id: rjrdby8wypzkh description: The maximum permitted transactional amount for card transactions. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '500000' bank_transfer_monthly_limit_amount: type: string x-stoplight: id: ni2w0icdt7k38 description: 'The processing amount for bank transfer transactions permitted in a calendar month. If this amount is exceeded, a merchant will generally be able to continue processing, but may have funding disabled until the account has been reviewed or additional underwriting has been performed. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '2000000' bank_transfer_month_to_date_processed_amount: type: string x-stoplight: id: hn2fizjtutnzp description: The total bank transfer transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' title: '' card_month_to_date_processed_amount: type: string x-stoplight: id: wols8dgcp4x8s description: The total card transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '0.00' available_balance_amount: type: string x-stoplight: id: 7jeyaza0ckch9 description: The account balance available for transfer or payout. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' pending_balance_amount: type: string x-stoplight: id: ymd74oeetx0ua description: 'The pending account balance for transactions that have been approved, but have not yet been funded. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '1000000' reserve_balance_amount: type: string x-stoplight: id: iem8l9vf04qon description: The account balance that has been set aside as a reserve. The reserve balance may not be transfered or paid out. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' allowed_negative_balance_amount: type: string x-stoplight: id: lkvh7fqrk8u2p description: The permitted negative balance for an account. A permissable negative balance allows a merchant to perform refunds from their account available funds. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' disable_payout_card_limit_percentage: type: string x-stoplight: id: s05fmgpwvhi8g description: The percentage at which funding will be disabled on an acocunt. The percentage is calulated by dividing the card_month_to_date_amount by the card_monthly_limit_amount. example: '100' disable_payout_bank_transfer_limit_percentage: type: string x-stoplight: id: mj770zg6vbw99 description: The percentage at which funding will be disabled on an acocunt. The percentage is calulated by dividing the ach_month_to_date_amount by the ach_monthly_limit_amount. example: '100' card_month_to_date_processed_percentage: type: string x-stoplight: id: wols8dgcp4x8s description: The total card transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '0.00' bank_transfer_month_to_date_processed_percentage: title: bank_transfer_month_to_date_processed_percentage_ACCOUNTS.payment_processing_statistics.bank_transfer_month_to_date_processed_percentage x-stoplight: id: 02dwmsdcsgnuo type: string description: 'The total bank transfer transaction percentage processed in the current calendar month. ' example: '10.00' action: type: object x-stoplight: id: n4hbhbjehx1lg properties: id: title: id_Actions.id x-stoplight: id: q4ri2g067xcft type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACT_tdXGc8Jz0BDqtQSNhkDAgeJZF7OqCM minLength: 1 maxLength: 50 type: title: type_ACCOUNTS.action.type x-stoplight: id: 1mnkktrfuncmy type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACCOUNTS_SINGLE time_created: title: time_created_Actions.time_created x-stoplight: id: 49hgmtg547dzc type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2023-04-27T21:23:39.718Z' format: date-time result_code: title: result_code_Actions.result_code x-stoplight: id: 25t8aencq1oo7 type: string description: The result of the action executed. example: SUCCESS app_id: title: app_id_Actions.app_id x-stoplight: id: 9epqv4sk8a9xy type: string description: The id of the app that was used to create the token. example: 07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOu maxLength: 50 app_name: title: app_name_Actions.app_name x-stoplight: id: 9w6luoywhzm9z type: string description: The name of the app the user gave to the application. example: Sandbox Merchant 3 edit_account_notification: title: edit_account_notification x-stoplight: id: u73md4ygezf6s type: object properties: id: type: string x-stoplight: id: h6cu0iclk4x1z description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c examples: - FMA_02ca6d0284b743449a28aadfb702c71c name: type: string x-stoplight: id: oazg9qw855ngj description: A understandable name associated with an instance of a account. example: '718586025_753619' status: type: string x-stoplight: id: 3k9gnceuatf1w description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE enum: - ACTIVE - INACTIVE type: type: string x-stoplight: id: mwyrqyt6ui7z7 description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT time_created: type: string x-stoplight: id: l55qhlt9213eq description: GP API platform date and time that indicates when this instance of a platform configuration was created. format: date-time time_last_updated: type: string x-stoplight: id: l9c1w81othekj description: GP API platform date and time that indicates when this instance of a platform configuration was last updated. format: date-time status_description: title: status_description_ACCOUNTS.status_description x-stoplight: id: eorrm2x48mrbj type: string description: 'A further desctiption of the status of a account. ' example: Account Update Successful action: type: object x-stoplight: id: o4jstxz3jmeet properties: id: title: id_Actions.id x-stoplight: id: q4ri2g067xcft type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACT_tdXGc8Jz0BDqtQSNhkDAgeJZF7OqCM minLength: 1 maxLength: 50 type: title: type.Actions.type x-stoplight: id: nvewxtp9qbdn3 type: string description: 'The type of action executed. This is a non-exhaustive list of enums. ' enum: - AUTHORIZE - PREAUTHORIZE - REFUND - REVERSE - CAPTURE - ADJUST - HOLD - RELEASE - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE time_created: title: time_created_Actions.time_created x-stoplight: id: 49hgmtg547dzc type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2023-04-27T21:23:39.718Z' format: date-time result_code: title: result_code_Actions.result_code x-stoplight: id: 25t8aencq1oo7 type: string description: The result of the action executed. example: SUCCESS app_id: title: app_id_Actions.app_id x-stoplight: id: 9epqv4sk8a9xy type: string description: The id of the app that was used to create the token. example: 07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOu maxLength: 50 app_name: title: app_name_Actions.app_name x-stoplight: id: 9w6luoywhzm9z type: string description: The name of the app the user gave to the application. example: Sandbox Merchant 3 Allowed_negative_balance_amount_ACCOUNTS_Payment_processing_statistics_Allowed_negative_balance_amount: type: string x-stoplight: id: lkvh7fqrk8u2p description: The permitted negative balance for an account. A permissable negative balance allows a merchant to perform refunds from their account available funds. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' Available_balance_amount_ACCOUNTS_Payment_processing_statistics_Available_balance_amount: type: string x-stoplight: id: 7jeyaza0ckch9 description: The account balance available for transfer or payout. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' Bank_transfer_month_to_date_processed_amount_ACCOUNTS_Payment_processing_statistics_Bank_transfer_month_to_date_processed_amount: type: string x-stoplight: id: hn2fizjtutnzp description: The total bank transfer transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' title: '' Bank_transfer_month_to_date_processed_percentage_ACCOUNTS_Payment_processing_statistics_Bank_transfer_month_to_date_processed_percentage: title: bank_transfer_month_to_date_processed_percentage_ACCOUNTS.payment_processing_statistics.bank_transfer_month_to_date_processed_percentage x-stoplight: id: 02dwmsdcsgnuo type: string description: 'The total bank transfer transaction percentage processed in the current calendar month. ' example: '10.00' Bank_transfer_monthly_limit_amount_ACCOUNTS_Payment_processing_statistics_Bank_transfer_monthly_limit_amount: type: string x-stoplight: id: ni2w0icdt7k38 description: 'The processing amount for bank transfer transactions permitted in a calendar month. If this amount is exceeded, a merchant will generally be able to continue processing, but may have funding disabled until the account has been reviewed or additional underwriting has been performed. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '2000000' Bank_transfer_per_transaction_limit_amount_ACCOUNTS_Payment_processing_statistics_Bank_transfer_per_transaction_limit_amount: type: string x-stoplight: id: rjrdby8wypzkh description: The maximum permitted transactional amount for card transactions. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '500000' Capabilities_ACCOUNTS_Capabilities: type: array x-stoplight: id: kj3o1j062117b description: The capabilities of a Funds Management account. example: PAY_OUT_ENABLE items: type: string enum: - PAY_OUT_ENABLE - CARD_PROCESSING_OVER_LIMIT_ENABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_ENABLE - PAY_OUT_DISABLE - CARD_PROCESSING_OVER_LIMIT_DISABLE - BANK_TRANSFER_PROCESSING_OVER_LIMIT_DISABLE x-stoplight: id: tibizsvuj75vd Card_month_to_date_processed_amount_ACCOUNTS_Payment_processing_statistics_Card_month_to_date_processed_amount: type: string x-stoplight: id: wols8dgcp4x8s description: The total card transaction amount processed in the current calendar month. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '0.00' Card_monthly_limit_amount_ACCOUNTS_Payment_processing_statistics_Card_monthly_limit_amount: type: string x-stoplight: id: eamdztz3u635u description: 'The processing amount for card transactions permitted in a calendar month. If this amount is exceeded, a merchant will generally be able to continue processing, but may have funding disabled until the account has been reviewed or additional underwriting has been performed. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '2000000' Card_replacement_reason_ACCOUNTS_Card_replacment_reason: title: card_replacement_reason_ACCOUNTS.card_replacment_reason type: string description: |- Indicates the reason why a Prepaied card needs to be replaced. * `LOST` - The card has either been lost or stolen. This will immediately disable the currently-assigned card and issue a new card with a new number. The card PIN number will be mailed to the account's shipping address. example: LOST enum: - LOST Card_transaction_limit_amount_ACCOUNTS_Payment_processing_statistics_Card_transaction_limit_amount: type: string x-stoplight: id: 7lre5hshgmeb0 description: The maximum permitted transactional amount for card transactions. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '500000' Disable_payout_bank_transfer_limit_percentage_ACCOUNTS_Payment_processing_statistics_Disable_payout_bank_transfer_limit_percentage: type: string x-stoplight: id: mj770zg6vbw99 description: The percentage at which funding will be disabled on an acocunt. The percentage is calulated by dividing the ach_month_to_date_amount by the ach_monthly_limit_amount. example: '100' Disable_payout_card_limit_percentage_ACCOUNTS_Payment_processing_statistics_Disable_payout_card_limit_percentage: type: string x-stoplight: id: s05fmgpwvhi8g description: The percentage at which funding will be disabled on an acocunt. The percentage is calulated by dividing the card_month_to_date_amount by the card_monthly_limit_amount. example: '100' Id_ACCOUNTS_Id: type: string x-stoplight: id: h6cu0iclk4x1z description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c examples: - FMA_02ca6d0284b743449a28aadfb702c71c Name_ACCOUNTS_Name: type: string x-stoplight: id: oazg9qw855ngj description: A understandable name associated with an instance of a account. example: '718586025_753619' Pending_balance_amount_ACCOUNTS_Payment_processing_statistics_Pending_balance_amount: type: string x-stoplight: id: ymd74oeetx0ua description: 'The pending account balance for transactions that have been approved, but have not yet been funded. Represented as the lowest denomination of the currency (i.e. $1.00= 100).' example: '1000000' Permissions_ACCOUNTS_Permissions: type: array x-stoplight: id: 3jksunf1n0lj4 description: All of the permissions or activites that may be performed by the account. example: APP_GET_Single_Key items: type: string enum: - FMA_LIMIT_Notification x-stoplight: id: eq6jxrsl3eldk Reserve_balance_amount_ACCOUNTS_Payment_processing_statistics_Reserve_balance_amount: type: string x-stoplight: id: iem8l9vf04qon description: The account balance that has been set aside as a reserve. The reserve balance may not be transfered or paid out. Represented as the lowest denomination of the currency (i.e. $1.00= 100). example: '1000000' Status_ACCOUNTS_Status: type: string x-stoplight: id: 3k9gnceuatf1w description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE enum: - ACTIVE - INACTIVE Status_description_ACCOUNTS_Status_description: title: status_description_ACCOUNTS.status_description x-stoplight: id: eorrm2x48mrbj type: string description: 'A further desctiption of the status of a account. ' example: Account Update Successful Time_created_ACCOUNTS_Time_created: type: string x-stoplight: id: l55qhlt9213eq description: GP API platform date and time that indicates when this instance of a platform configuration was created. format: date-time Time_last_updated_ACCOUNTS_Time_last_updated: type: string x-stoplight: id: l9c1w81othekj description: GP API platform date and time that indicates when this instance of a platform configuration was last updated. format: date-time Type_ACCOUNTS_Action_Type: title: type_ACCOUNTS.action.type x-stoplight: id: 1mnkktrfuncmy type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACCOUNTS_SINGLE Type_ACCOUNTS_Type: type: string x-stoplight: id: mwyrqyt6ui7z7 description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT Id_MERCHANTS_Id: type: string x-stoplight: id: nz8c5kk4fcdl0 description: A unique identifier for the merchant set by Global Payments. example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 maxLength: 50 App_id_Actions_App_id: title: app_id_Actions.app_id x-stoplight: id: 9epqv4sk8a9xy type: string description: The id of the app that was used to create the token. example: 07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOu maxLength: 50 App_name_Actions_App_name: title: app_name_Actions.app_name x-stoplight: id: 9w6luoywhzm9z type: string description: The name of the app the user gave to the application. example: Sandbox Merchant 3 Id_Actions_Id: title: id_Actions.id x-stoplight: id: q4ri2g067xcft type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: ACT_tdXGc8Jz0BDqtQSNhkDAgeJZF7OqCM minLength: 1 maxLength: 50 Notifications_Status_url: title: notifications.status_url x-stoplight: id: ke0l8twg6m3q0 type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. example: 'https://www.example.com/notifications/status' minLength: 1 maxLength: 255 Result_code_Actions_Result_code: title: result_code_Actions.result_code x-stoplight: id: 25t8aencq1oo7 type: string description: The result of the action executed. example: SUCCESS Time_created_Actions_Time_created: title: time_created_Actions.time_created x-stoplight: id: 49hgmtg547dzc type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2023-04-27T21:23:39.718Z' format: date-time Type_Actions_Type: title: type.Actions.type x-stoplight: id: nvewxtp9qbdn3 type: string description: 'The type of action executed. This is a non-exhaustive list of enums. ' enum: - AUTHORIZE - PREAUTHORIZE - REFUND - REVERSE - CAPTURE - ADJUST - HOLD - RELEASE - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE Data_dictionary.v1_Authorization: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ x-stoplight: id: stor96sg67n8f Data_dictionary.v1_Content-Encoding: description: Indicates if the message is compressed and using what compression mechanism. type: string default: gzip x-stoplight: id: rgi0h47svaey8 Data_dictionary.v1_Content-Type: description: Indicates the format of the message. type: string default: application/json x-stoplight: id: qdoiuafa6zsf8 Data_dictionary.v1_X-GP-Idempotency: description: 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. type: string minLength: 1 maxLength: 50 x-stoplight: id: 7adhri038cefq Data_dictionary.v1_X-GP-Version: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 Data_dictionary.v1_Account_Ach_monthly_limit_amount: type: string description: This is the total monthly card volume permitted to be processed by this account in the account's currency. example: '1000' x-stoplight: id: 2g3gaqkms9vxr Data_dictionary.v1_Account_Ach_transaction_limit_amount: type: string description: This is the maximum ticket size permitted for an ach transaction. example: '1000' x-stoplight: id: xgr1f6hcoup35 Data_dictionary.v1_Account_Allowed_negative_balance: type: string description: The negative balance allowed to an account. x-stoplight: id: p73jo823tsxjt Data_dictionary.v1_Account_Card_monthly_limit_amount: type: string description: This is the total monthly card volume permitted to be processed by this account in the account's currency. example: '1000' x-stoplight: id: b7ovm47q4f6fj Data_dictionary.v1_Account_Card_transaction_limit_amount: type: string description: This is the maximum ticket size permitted for a card transaction. example: '34' x-stoplight: id: i5ejqp2pljqrs Data_dictionary.v1_Account_Channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt Data_dictionary.v1_Account_Countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 Data_dictionary.v1_Account_Currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b Data_dictionary.v1_Account_Disable_payout_ach_limit_percentage: type: string description: This is the percentage of the monthly ach processing volume that will disable pay outs if exceeded. example: '1000' x-stoplight: id: nneauqz3nblb5 Data_dictionary.v1_Account_Disable_payout_card_limit_percentage: type: string description: This is the percentage of the monthly card processing volume that will disable pay outs if exceeded. example: '1000' x-stoplight: id: 351r6h2co03ze Data_dictionary.v1_Account_Payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso Data_dictionary.v1_Account_Permissions: type: array items: type: string description: The list of the permissions an account is configured for. x-stoplight: id: hyaa8p1dvssnz Data_dictionary.v1_Account_Type: type: string description: | Describes what capability the account relates to be it transaction processing, data services, dispute management, merchant management,tokenization. * TRANSACTION_PROCESSING - indicates an account that can be used to create and manage transactions. * DATA_SERVICES - indicates an account that can be used to retrieve data. * DISPUTE_MANAGEMENT - indicates an account that can be used to manage transaction disputes. * TOKENIZATION - indicates an account that can be used to store and manage payment methods securely. * FUND_MANAGMENT - indicates an account where funds are added to and paid out from. * MERCHANT_MANAGEMENT - indicates an account that can be used to store and manage merchants and their accounts. enum: - TRANSACTION_PROCESSING - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - TOKENIZATION - FUND_MANAGEMENT x-stoplight: id: 6i6yxyta9a40q Data_dictionary.v1_Account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing x-stoplight: id: 2qexxdlfno0r3 Data_dictionary.v1_Accounts_Capabilities: type: string description: These are the capabilities enabled by the platform for the account. enum: - PAY_IN_ENABLE - PAY_IN_DISABLE - Pay_OUT_ENABLE - PAY_OUT_DISABLE - CC_PROCESSING_ENABLE - CC_PROCESSING_DISABLE - TRANSFER_IN_ENABLE - TRANSFER_IN_DISABLE - TRANSFER_OUT_ENABLE - TRANSFER_OUT_DISABLE - CARD_PROCESSING_OVER_LIMIT_ENABLE - CARD_PROCESSING_OVER_LIMIT_DISABLE - ACH_PROCESSING_OVER_LIMIT_ENABLE - ACH_PROCESSING_OVER_LIMIT_DISABLE x-stoplight: id: kdd2ckld8stvs Data_dictionary.v1_Action_Id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 Data_dictionary.v1_Address_City: type: string description: The city associated with the address. example: Beverly Hills minLength: 1 maxLength: 255 x-stoplight: id: 49cy709171mxr Data_dictionary.v1_Address_Country: x-stoplight: id: ek7scjl70mzmm type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 Data_dictionary.v1_Address_Line_1: type: string description: First line of the address. example: 123 Merchant Street minLength: 1 maxLength: 255 x-stoplight: id: jdmgddxtn09gt Data_dictionary.v1_Address_Line_2: type: string description: Second line of the address. example: Suite 2 minLength: 0 maxLength: 255 x-stoplight: id: y30jmjrgalgg6 Data_dictionary.v1_Address_Line_3: type: string description: Third line of the address. example: foyer minLength: 0 maxLength: 255 x-stoplight: id: 8i2o8ontcev77 Data_dictionary.v1_Address_Postal_code: type: string description: The postal code of the address. example: '90210' minLength: 1 maxLength: 255 x-stoplight: id: qdg07fkz8s65e Data_dictionary.v1_Address_State: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA minLength: 1 maxLength: 255 x-stoplight: id: azgzm2kv3n7w6 Data_dictionary.v1_App_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r Data_dictionary.v1_App_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 Data_dictionary.v1_Card_Expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 x-stoplight: id: 53kw6yrtqgdx5 Data_dictionary.v1_Card_Expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 x-stoplight: id: kwd2ano99oent Data_dictionary.v1_Card_Number: type: string description: The card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 x-stoplight: id: n2uov4b16p0nk Data_dictionary.v1_Country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec Data_dictionary.v1_Currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw Data_dictionary.v1_Email: type: string description: 'Email registered with the application that was used to access this token. ' example: james.mason@example.com minLength: 1 maxLength: 50 x-stoplight: id: pvh8kob2rvwhd Data_dictionary.v1_Entity_Status: type: string description: | Indicates where a configured entity on the Global Payments system is in its lifecycle. * ACTIVE - The configured entity is able to execute related API actions. * INACTIVE - The configured entity is not able to execute related API actions as its status has been set to inactive. enum: - ACTIVE - INACTIVE example: ACTIVE minLength: 0 maxLength: 50 x-stoplight: id: bw2jnswembeqf Data_dictionary.v1_From_time_created: description: 'The start time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-10-01' x-stoplight: id: qygysumvdtwz3 Data_dictionary.v1_Id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 x-stoplight: id: 7b0f8jlxcp7ei Data_dictionary.v1_Link_Href: type: string description: A href link to the resources or resource actions as indicated in the corresponding rel value. example: 'https://apis.globalpay.com/ucp/merchants/MER_c4c0df11039c48a9b63701adeaa296c3' minLength: 0 maxLength: 2048 x-stoplight: id: ncx1tvm51h5wi Data_dictionary.v1_Link_Rel: type: string description: | Describes the relationship the associated link href value has to the current resource. * SELF - indicates a link to the current resource. * ACCOUNTS - indicates a link to the current resource's list of accounts. enum: - SELF - ACCOUNTS minLength: 0 maxLength: 50 x-stoplight: id: b3qhkoit4ku5l Data_dictionary.v1_Merchant_Email: type: string description: Primary email configured with the merchant. example: merchant@example.com minLength: 1 maxLength: 50 x-stoplight: id: y0lnxwr8mf0x5 Data_dictionary.v1_Merchant_Status: type: string minLength: 1 description: | Indicates whether the merchant is in its lifecycle. * ACTIVE - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. * INACTIVE - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. * UNDER_REVIEW - The entity is under review and can cannot used any of the payment processing capabilities until the review is complete and the merchant is switched to active. * DECLINED - The entity did not complete the risk review process and cannot use any payment processing capabilities. * WITH_MERCHANT - The entity must submit additional information or documentation before activation. enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT x-stoplight: id: akbuwr0srhiho Data_dictionary.v1_Merchant_Status_change_reason: type: string description: | This is the reason or nature of the status. * ACTIVE - The merchant is in good standing. * CLOSED_BY_MERCHANT - The merchant has been closed at the request of the merchant or partner. * CLOSED_BY_RISK - The merchant has been closed by a Global Payments Risk Team. * APPLICATION_DENIED - The merchant application has been denied by the Global Payments Risk Team. * PENDING_REVIEW - The merchant application is pending review from the Global Payments Risk Team. * PENDING_MERCHANT_CONSENT - The merchant must agree to terms and conditions prior to accepting payments. * PENDING_IDENTITY_VALIDATION - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team. * PENDING_IDENTITY_VALIDATION_AND_PAYMENT - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team and submit payment. * PENDING_PAYMENT - The merchant must submit payment. * UNKNOWN_STATUS - Contact your relationship manager for more details. * REMOVE_PARTNERSHIP - The partner has requested to disassociate the merchant from the partner program. enum: - ACTIVE - CLOSED_BY_MERCHANT - CLOSED_BY_RISK - APPLICATION_DENIED - PENDING_REVIEW - PENDING_MERCHANT_CONSENT - PENDING_IDENTITY_VALIDATION - PENDING_IDENTITY_VALIDATION_AND_PAYMENT - PENDING_PAYMENT - UNKNOWN_STATUS x-stoplight: id: h4d0xjtwkjye2 Data_dictionary.v1_Merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 x-stoplight: id: 7pvnp70dzc67l Data_dictionary.v1_Merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 x-stoplight: id: 1u0vbo2ma1ave Data_dictionary.v1_Notifications_Status_url: type: string minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. x-stoplight: id: 0pc91e54lwhz7 Data_dictionary.v1_Pagination_Current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: q9g6w665hrijx Data_dictionary.v1_Pagination_Order: description: 'The direction of the ordering of the entire list, ASC or DESC' type: string enum: - ASC - DESC x-stoplight: id: 59c5dolt8d8ef Data_dictionary.v1_Pagination_Order_by: description: 'The value to order the entire list by. ' type: string enum: - TIME_CREATED x-stoplight: id: ziqb38c67ru3m Data_dictionary.v1_Pagination_Page: type: number description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: xt3cwf79jwl2d Data_dictionary.v1_Pagination_Page_size: description: The total number of objects to return in a single page for that list. maximum: 1000 minimum: 1 type: number default: 5 x-stoplight: id: 4iqthk95ugc7v Data_dictionary.v1_Pagination_Total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' maximum: 1000 minimum: 1 default: 1 x-stoplight: id: 1umhez91th7ms Data_dictionary.v1_Payment_method: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 Data_dictionary.v1_Result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs Data_dictionary.v1_Time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh Data_dictionary.v1_Time_last_updated: description: The date and time the resource object was last changed. type: string format: date-time example: '2021-05-03T21:23:39.718Z' x-stoplight: id: qp48b0dwlma2a Data_dictionary.v1_To_time_created: description: 'The end time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-12-31' x-stoplight: id: 0svhhf4ktdxnf Data_dictionary.v1_Transaction_Channel: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts AuthenticationInvalid_401: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp NotAuthorized_403: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 ServerError_500: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t ServerTimeout_504: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 UnknownPlatformError_502: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk UnknownServerError_501: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 ObjRequestInvalid_400: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef Schema_objects.v1_Action: type: object description: Information about the Action executed. x-examples: {} properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 x-stoplight: id: xnms7mltd8048 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' x-stoplight: id: rpbgzwjlkjplh result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 x-stoplight: id: 4pkvnddoveqhs app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 x-stoplight: id: suuqlay17e03r app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 x-stoplight: id: zmj4d2nba18s7 x-stoplight: id: ivnijmjnz0z3a Schema_objects.v1_Address: type: object required: - line_1 - city - state - postal_code - country properties: line_1: type: string description: First line of the address. example: 123 Merchant Street minLength: 1 maxLength: 255 x-stoplight: id: jdmgddxtn09gt line_2: type: string description: Second line of the address. example: Suite 2 minLength: 0 maxLength: 255 x-stoplight: id: y30jmjrgalgg6 line_3: type: string description: Third line of the address. example: foyer minLength: 0 maxLength: 255 x-stoplight: id: 8i2o8ontcev77 city: type: string description: The city associated with the address. example: Beverly Hills minLength: 1 maxLength: 255 x-stoplight: id: 49cy709171mxr state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA minLength: 1 maxLength: 255 x-stoplight: id: azgzm2kv3n7w6 postal_code: type: string description: The postal code of the address. example: '90210' minLength: 1 maxLength: 255 x-stoplight: id: qdg07fkz8s65e country: x-stoplight: id: ek7scjl70mzmm type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: t838e9lc3alkz Schema_objects.v1_Filter: type: object description: Indicates what fields and values used to filter the current list of resource objects in the current response. properties: from_time_created: description: 'The start time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-10-01' x-stoplight: id: qygysumvdtwz3 to_time_created: description: 'The end time to search for in a range, using the resource time_created value.' type: string format: date example: '2021-12-31' x-stoplight: id: 0svhhf4ktdxnf x-stoplight: id: e8pt9r89he6tn Schema_objects.v1_Links: type: array items: type: object properties: rel: type: string description: | Describes the relationship the associated link href value has to the current resource. * SELF - indicates a link to the current resource. * ACCOUNTS - indicates a link to the current resource's list of accounts. enum: - SELF - ACCOUNTS minLength: 0 maxLength: 50 x-stoplight: id: b3qhkoit4ku5l href: type: string description: A href link to the resources or resource actions as indicated in the corresponding rel value. example: 'https://apis.globalpay.com/ucp/merchants/MER_c4c0df11039c48a9b63701adeaa296c3' minLength: 0 maxLength: 2048 x-stoplight: id: ncx1tvm51h5wi x-stoplight: id: l5nofh6vwp8yz Schema_objects.v1_Merchant_Payment_method_Card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 x-stoplight: id: n2uov4b16p0nk expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 x-stoplight: id: 53kw6yrtqgdx5 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 x-stoplight: id: kwd2ano99oent required: - number - expiry_month - expiry_year x-stoplight: id: s08hk95sgeuq3 Schema_objects.v1_Paging: type: object description: The paging values used to generate this response. properties: page: type: number description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: xt3cwf79jwl2d page_size: description: The total number of objects to return in a single page for that list. maximum: 1000 minimum: 1 type: number default: 5 x-stoplight: id: 4iqthk95ugc7v order_by: description: 'The value to order the entire list by. ' type: string enum: - TIME_CREATED x-stoplight: id: ziqb38c67ru3m order: description: 'The direction of the ordering of the entire list, ASC or DESC' type: string enum: - ASC - DESC x-stoplight: id: 59c5dolt8d8ef x-stoplight: id: van8v4byz75fg Schema_objects.v1_Transaction_processing_configuration: type: object description: 'A configuration''s countries, channels, currencies and payment_methods, represents a different transaction processing system route.' properties: countries: type: array description: A list of countries in ISO-3166-1(alpha-2 code) format an account is configured for. items: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 x-stoplight: id: p2mw62eqobzec x-stoplight: id: ura0zszbfp8p5 currencies: type: array description: A list of currencies in ISO-4217(alpha-3) format an account is configured for. items: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 x-stoplight: id: s1sr777tqxziw x-stoplight: id: qhy93mv2fud8b channels: type: array description: A list of channels account is configured for. items: type: string description: | 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 example: CNP enum: - CP - CNP x-stoplight: id: v8gawvrm2lzts x-stoplight: id: zxibom1ixapkt payment_methods: type: array description: A list of payment methods an account is configured for. items: type: string description: | The payment methods available to create transactions with. * CARD - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code. * DIGITAL_WALLET - ApplePay or Pay With Google digital wallet built using scheme tokenization and cards payment method rails. * BANK_TRANSFER - Payment method based on the transfer of fund using a routing number, sort code or BIC and the payer''s bank account number or IBAN. * APM - Broad category of alternative and local payment methods usualy specific to a country or region. * PAYPAL - Popular wallet used to easily pay with securely stored stored payment methods on the payer''s Paypal account.' enum: - CARD - DIGITAL_WALLET - BANK_TRANSFER - APM - PAYPAL minLength: 1 maxLength: 50 x-stoplight: id: z8jn8j0inp6x5 x-stoplight: id: brotc7pxcusso x-stoplight: id: if55f071eg0rt securitySchemes: bearerAuth: type: http scheme: bearer responses: Errors_AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token x-stoplight: id: xz7ijn9g6wuhp Errors_NotAuthorized_403: description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action x-stoplight: id: klomm831n3xe4 Errors_RequestInvalid_400: description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data x-stoplight: id: 4bq8e4zmuh5ef Errors_ServerError_500: description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error x-stoplight: id: 9h5t2qirsa09t Errors_ServerTimeout_504: description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. x-stoplight: id: urr7utebg8ys7 Errors_UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. x-stoplight: id: af8ttv0haa7zk Errors_UnknownServerError_501: description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' x-stoplight: id: bbg3lue873fk0 parameters: Parameters.v1_Header_Authorization: name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ x-stoplight: id: stor96sg67n8f Parameters.v1_Header_Content-Type: in: header name: Content-type description: Format of the message. required: true schema: description: Indicates the format of the message. type: string default: application/json x-stoplight: id: qdoiuafa6zsf8 Parameters.v1_Header_X-GP-Idempotency: in: header name: X-GP-Idempotency description: 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. schema: description: 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. type: string minLength: 1 maxLength: 50 x-stoplight: id: 7adhri038cefq Parameters.v1_Header_X-GP-Version: in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 x-stoplight: id: r6rjivm6gr5z6 description: The version of the API to execute the request. Parameters.v1_Query_pagination_order: in: query name: order description: 'The direction of the ordering of the entire list, ASC or DESC' schema: description: 'The direction of the ordering of the entire list, ASC or DESC' type: string enum: - ASC - DESC x-stoplight: id: 59c5dolt8d8ef Parameters.v1_Query_pagination_order_by: in: query name: order_by description: 'The value to order the entire list by. ' schema: description: 'The value to order the entire list by. ' type: string enum: - TIME_CREATED x-stoplight: id: ziqb38c67ru3m Parameters.v1_Query_pagination_page: in: query name: page description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. schema: type: number description: Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field. maximum: 1000 minimum: 1 default: 1 x-stoplight: id: xt3cwf79jwl2d Parameters.v1_Query_pagination_page_size: in: query name: page_size description: The total number of objects to return in a single page for that list. schema: description: The total number of objects to return in a single page for that list. maximum: 1000 minimum: 1 type: number default: 5 x-stoplight: id: 4iqthk95ugc7v security: - bearerAuth: [] ``` ## Actions Source: https://developer.globalpayments.com/api/actions.md # Actions ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Actions description: Actions represent request and response messages sent to GP API. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /actions: get: tags: - Get a list of Actions summary: Get a list of Actions using criteria passed in the query string. Page through the result set to access all records. description: Get a list of Actions using criteria passed in the query string. Page through the result set to access all records. operationId: getActionList parameters: - name: page in: query schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 - name: page_size in: query schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 - name: order in: query schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC - name: order_by in: query schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED - name: id in: query schema: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy - name: type in: query schema: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT - name: resource in: query schema: example: TRANSACTIONS type: string description: The resource the action is directly related to. examples: default: value: TRANSACTIONS - name: resource_status in: query schema: type: string description: The status of the resource the action is directly related to. - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: merchant_name in: query schema: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 - name: account_name in: query schema: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing - name: app_name in: query schema: type: string description: The name of the app that is being used to execute and sign the action - name: version in: query schema: type: string description: The version of the platform the action relates to. - name: response_code in: query schema: type: string description: The error code of the action if the action resulted in an error. - name: http_response_code in: query schema: type: string description: The HTTP response code for the action. - name: resource_id in: query description: The Id of a specific resource linked to the action. schema: type: string - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC actions: type: array description: A list of action records. items: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time resource: type: string description: The resource the action is directly related to. resource_id: type: string description: The id of the resource the action is directly related to. resource_status: type: string description: The status of the resource the action is directly related to. version: type: string description: The version of the platform the action relates to. http_response_code: type: string description: The HTTP response code for the action. response_code: type: string description: The error code of the action if the action resulted in an error. app_id: type: string description: The id of the app that is being used to execute and sign the action app_name: type: string description: The name of the app that is being used to execute and sign the action merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/actions/': get: tags: - Get a Single Action summary: Get the details of a single action using its unique id. description: Get the details of a single action using its unique id. operationId: getActionSingle parameters: - name: id in: path required: true schema: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time resource: type: string description: The resource the action is directly related to. resource_id: type: string description: The id of the resource the action is directly related to. resource_parent_id: type: string description: The id of the parent resource the action is relates to. resource_status: type: string description: The status of the resource the action is directly related to. resource_request_url: type: string description: The URL the action was executed to. version: type: string description: The version of the platform the action relates to. http_response_code: type: string description: The HTTP response code for the action. response_code: type: string description: The error code of the action if the action resulted in an error. response_detailed_code: type: string description: The detailed error code of the action provides more detail on why the action erred. response_detailed_message: type: string description: A verbal description of the error which will help users of the platform understand the error. app_id: type: string description: The id of the app that is being used to execute and sign the action app_name: type: string description: The name of the app that is being used to execute and sign the action email: type: string description: Email registered with the application that was used to access this token. minLength: 1 maxLength: 50 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing source_location: type: string description: This indicates the IP address of the source or origin of the action. destination_location: type: string description: This indicates the IP address of the destination the action is being sent to. message_received: type: string description: The JSON message received by the platform for this action. message_sent: type: string description: The JSON message returned by the platform for this action. metrics: type: string description: The X-GP header fields captured for this action. total_time_milliseconds: type: string description: The total time in milliseconds it took the action to complete. total_time_downstream_milliseconds: type: string description: The time in milliseconds it took the downstream platform to complete the action. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Get a list of Actions description: Get a list of Actions using criteria passed in the query string. Page through the result set to access all records. - name: Get a Single Action description: Get the details of a single action using its unique id. components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED id_ACTIONS.id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type_ACTIONS.type: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT resource_ACTIONS.resource: type: string description: The resource the action is directly related to. resource_status_ACTIONS.resource_status: type: string description: The status of the resource the action is directly related to. from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' merchant_name_ACTIONS.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_name_ACTIONS.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing app_name_ACTIONS.app_name: type: string description: The name of the app that is being used to execute and sign the action version_ACTIONS.version: type: string description: The version of the platform the action relates to. response_code_ACTIONS.response_code: type: string description: The error code of the action if the action resulted in an error. http_response_code_ACTIONS.http_response_code: type: string description: The HTTP response code for the action. actions_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC actions: type: array description: A list of action records. items: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time resource: type: string description: The resource the action is directly related to. resource_id: type: string description: The id of the resource the action is directly related to. resource_status: type: string description: The status of the resource the action is directly related to. version: type: string description: The version of the platform the action relates to. http_response_code: type: string description: The HTTP response code for the action. response_code: type: string description: The error code of the action if the action resulted in an error. app_id: type: string description: The id of the app that is being used to execute and sign the action app_name: type: string description: The name of the app that is being used to execute and sign the action merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id_ACTIONS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC actions_list_single: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time resource: type: string description: The resource the action is directly related to. resource_id: type: string description: The id of the resource the action is directly related to. resource_status: type: string description: The status of the resource the action is directly related to. version: type: string description: The version of the platform the action relates to. http_response_code: type: string description: The HTTP response code for the action. response_code: type: string description: The error code of the action if the action resulted in an error. app_id: type: string description: The id of the app that is being used to execute and sign the action app_name: type: string description: The name of the app that is being used to execute and sign the action merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing time_created_ACTIONS.time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time resource_id_ACTIONS.resource_id: type: string description: The id of the resource the action is directly related to. app_id_ACTIONS.app_id: type: string description: The id of the app that is being used to execute and sign the action id_ACTIONS.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_ACTIONS.action.type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created_ACTIONS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_ACTIONS.action.result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id_ACTIONS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_ACTIONS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app action_single: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type: type: string description: The type of action that was executed that initialed the activity this notification is providing an update on. example: MERCHANT_EDIT time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time resource: type: string description: The resource the action is directly related to. resource_id: type: string description: The id of the resource the action is directly related to. resource_parent_id: type: string description: The id of the parent resource the action is relates to. resource_status: type: string description: The status of the resource the action is directly related to. resource_request_url: type: string description: The URL the action was executed to. version: type: string description: The version of the platform the action relates to. http_response_code: type: string description: The HTTP response code for the action. response_code: type: string description: The error code of the action if the action resulted in an error. response_detailed_code: type: string description: The detailed error code of the action provides more detail on why the action erred. response_detailed_message: type: string description: A verbal description of the error which will help users of the platform understand the error. app_id: type: string description: The id of the app that is being used to execute and sign the action app_name: type: string description: The name of the app that is being used to execute and sign the action email: type: string description: Email registered with the application that was used to access this token. minLength: 1 maxLength: 50 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing source_location: type: string description: This indicates the IP address of the source or origin of the action. destination_location: type: string description: This indicates the IP address of the destination the action is being sent to. message_received: type: string description: The JSON message received by the platform for this action. message_sent: type: string description: The JSON message returned by the platform for this action. metrics: type: string description: The X-GP header fields captured for this action. total_time_milliseconds: type: string description: The total time in milliseconds it took the action to complete. total_time_downstream_milliseconds: type: string description: The time in milliseconds it took the downstream platform to complete the action. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app resource_parent_id_ACTIONS.resource_parent_id: type: string description: The id of the parent resource the action is relates to. resource_request_url_ACTIONS.resource_request_url: type: string description: The URL the action was executed to. response_detailed_code_ACTIONS.response_detailed_code: type: string description: The detailed error code of the action provides more detail on why the action erred. response_detailed_message_ACTIONS.response_detailed_message: type: string description: A verbal description of the error which will help users of the platform understand the error. email_ACTIONS.email: type: string description: Email registered with the application that was used to access this token. minLength: 1 maxLength: 50 account_id_ACTIONS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b source_location_ACTIONS.source_location: type: string description: This indicates the IP address of the source or origin of the action. destination_location_ACTIONS.destination_location: type: string description: This indicates the IP address of the destination the action is being sent to. message_received_ACTIONS.message_received: type: string description: The JSON message received by the platform for this action. message_sent_ACTIONS.message_sent: type: string description: The JSON message returned by the platform for this action. metrics_ACTIONS.metrics: type: string description: The X-GP header fields captured for this action. total_time_milliseconds_ACTIONS.total_time_milliseconds: type: string description: The total time in milliseconds it took the action to complete. total_time_downstreams_milliseconds_ACTIONS.total_time_downstreams_milliseconds: type: string description: The time in milliseconds it took the downstream platform to complete the action. objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Authentications Source: https://developer.globalpayments.com/api/authentications.md # Authentications ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Authentications description: Authentications represent the attempt to validate the payer and reduce the risk of fraud when transaction is in processing. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1.4 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /authentications: post: tags: - Check Availability summary: Start the authentication process by confirming the available mechanisms to authenticate the payer based on a payment method. description: "Start the authentication process by confirming the available mechanisms to authenticate the payer based on a payment method.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: check3DSAvailability parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: required: true content: application/json: schema: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '29' notifications: type: object properties: return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' minLength: 1 maxLength: 256 status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain status events that occur on the platform. minLength: 1 maxLength: 256 challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. minLength: 1 maxLength: 256 decoupled_challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication when the authentication is decoupled and separate to the purchase. minLength: 1 maxLength: 256 required: - challenge_return_url - three_ds_method_return_url mobile_data: type: object properties: sdk_interface: type: string enum: - NATIVE - BOTH description: Indicates the type of interface provided by the mobile SDK to present the challenge to the user. example: BOTH sdk_ui_type: type: array description: Specifies which UI types the SDK supports for challenge screens items: type: string enum: - TEXT - SINGLE_SELECT - MULTI_SELECT - OUT_OF_BAND - HTML_OTHER example: - TEXT ephemeral_public_key: type: object properties: kty: type: string description: Key type (typically EC) example: EC crv: type: string description: Curve type (typically P-256) example: P-256 x: type: string description: The Base64 URL encoded X coordinate 'y': type: string description: The Base64 URL encoded Y coordinate maximum_timeout: type: string description: Defines the maximum time (in minutes) the SDK allows for a challenge interaction. example: '05' reference_number: type: string description: Identifies the SDK vendor and version. example: 3DS_LOA_SDK_PPFU_020100_00007 sdk_trans_reference: type: string description: A unique transaction identifier generated by the SDK. example: c1c3b6f1-7a9c-4b9e-bc41-92fbbf9f2c01 encoded_data: type: string description: Contains the Base 64 encoded SDK data required for authentication. example: eyJzZGsiOiAiZGF0YSIsICJlbmMiOiAiYmFzZTY0In0=" required: - account_name - country - amount - currency - reference - payment_method - notifications examples: Check Availability - 3DS 2 Challenge: value: account_name: Transaction_Processing reference: 3ds2_ref1 channel: CNP amount: '5089' currency: EUR country: FR payment_method: card: number: '4012001038488884' expiry_month: '12' expiry_year: '30' notifications: challenge_return_url: 'https://ensi808o85za.x.pipedream.net/' three_ds_method_return_url: 'https://ensi808o85za.x.pipedream.net/' Check Availability 3DS 2 Frictionless: value: account_name: Transaction_Processing reference: 3ds1_ref2 channel: CNP amount: '5089' currency: EUR country: FR payment_method: card: number: '4263970000005262' expiry_month: '12' expiry_year: '30' notifications: challenge_return_url: 'https://ensi808o85za.x.pipedream.net/' three_ds_method_return_url: 'https://ensi808o85za.x.pipedream.net/' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' transaction_type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 example: SALE status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e three_ds: type: object properties: server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 message_version: type: string description: Indicates the version of 3DS. ds_protocol_version_start: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 ds_protocol_version_end: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 acs_protocol_version_start: type: string description: The version range supported by the Access Control Server (Issuer). minLength: 1 maxLength: 50 acs_protocol_version_end: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 acs_info_indicator: type: array description: | Identifies the 3D Secure 2 features that the ACS supports, for example, Whitelisting or Decoupled Authentication. * `NOT_AVAILABLE` * `AUTHENTICATION_AVAILABLE_AT_ACS` * `ATTEMPTS_SUPPORTED_BY_ACS` * `DECOUPLED_AUTHENTICATION_SUPPORTED` * `WHITELISTING_SUPPORTED` * `SCHEME_INFO_INDICATOR_##` items: type: string enum: - NOT_AVAILABLE - AUTHENTICATION_AVAILABLE_AT_ACS - ATTEMPTS_SUPPORTED_BY_ACS - DECOUPLED_AUTHENTICATION_SUPPORTED - WHITELISTING_SUPPORTED - SCHEME_INFO_INDICATOR_## example: - NOT_AVAILABLE enrolled_status: type: string enum: - ENROLLED - NOT_ENROLLED - NOT_ENROLLED_ATTEMPT - UNABLE_TO_VERIFY description: | Indicates if the payer is enrolled for 3DS with this card. * `ENROLLED` * `NOT_ENROLLED` * `NOT_ENROLLED_ATTEMPT` * `UNABLE_TO_VERIFY` minLength: 1 maxLength: 50 example: ENROLLED eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 challenge_model: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE session_data_field_name: type: string enum: - threeDSSessionData - MD description: | Indicates the field name to populate data with when redirecting to the 3DS ACS. The data will be returned by the ACS in the same field name when redirecting back to the notification challenge result URL. * MD - Use this field name in the redirect to the ACS 3DS 1. * threeDSSessionData - Use this field name in the redirect to the ACS for 3DS 2. minLength: 1 maxLength: 50 example: threeDSSessionData message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ challenge_value: type: string description: The value to be submitted in the request to the redirect_url when challenging an authentication. It is Base64url encoded and must be sent to the ACS. minLength: 1 maxLength: 50 redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. method_url: type: string description: 'The URL to facilitate the ACS gathering device data. If the ACS does not support this functionality, this field will not be returned. This URL needs to be called from a hidden iframe so that the ACS can gather information about the device being used to authenticate, for example a phone or a browser. The notifications.method_return_url will receive a notification when the 3DS ACS successfully gathers device information and to close the hidden iFrame.' method_data: type: object properties: three_ds_server_trans_id: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. encoded_method_data: type: string description: 'JSON object containing the Base64Url encoded string, made up of the integator''s method_notification_url and the server_trans_ref which must be sent to the method_url when facilitating the ACS to gather device information.' notifications: type: object properties: challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. callbacks: Challenge Return Notification: '{$request.body#/notifications.challenge_return_url}': post: description: The endpoint which will receive 3DS challenge return notification messages. These notifications indicate that the payer has completed the 3DS authentication challenge and the result of the challenge can be obtained. requestBody: content: application/json: schema: type: object title: 3ds_callback properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing three_ds: type: object properties: acs_trans_reference: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string message_version: type: string description: Indicates the version of 3DS. acs_transaction_status: type: string session_data: type: string action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app responses: '200': description: OK security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - Get List of Authentications summary: Get List of Authentications description: "Return a list of Authentication Responses.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: get-authentications parameters: - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: id in: query schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: amount in: query schema: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' - name: country in: query schema: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US - name: currency in: query schema: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD - name: source in: query schema: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER - name: three_ds.ds_trans_ref in: query schema: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 - name: three_ds.server_trans_ref in: query schema: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 - name: three_ds.liability_shift in: query schema: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 - name: three_ds.authentication_value in: query schema: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 - name: three_ds.eci in: query schema: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 - name: three_ds.message_version in: query schema: type: string description: Indicates the version of 3DS. - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 - name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 - name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC - name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED responses: '200': description: OK content: application/json: schema: type: object properties: current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED authentications: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER payment_method: type: object properties: result: type: string description: Result code from the payment method provider message: type: string description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED three_ds: type: object properties: acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION message_version: type: string description: Indicates the version of 3DS. challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED action_create_id: type: string description: A unique identifier generated by Global Payments to identify the action returned on the Authentication initiated example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d system: type: object properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: Example 1: current_page_size: '' merchant_id: '' merchant_name: '' account_id: '' account_name: '' filter: from_time_created: '' to_time_created: '' paging: page_size: '' page: '' order: '' order_by: '' authentications: id: '' time_created: '' status: '' channel: '' amount: '' currency: '' country: '' source: '' payment_method: result: '' message: '' entry_mode: '' fingerprint: '' fingerprint_presence_indicator: '' name: '' card: funding: '' brand: '' authcode: '' brand_reference: '' masked_number_first6last4: '' cvv_indicator: '' cvv_result: '' avs_address_result: '' avs_postal_code_result: '' three_ds: acs_trans_ref: '' ds_trans_ref: '' server_trans_ref: '' liability_shift: '' value: '' eci: '' status: '' status_reason: '' message_category: '' message_version: '' challenge_status: '' action_create_id: '' system: mid: '' tid: '' name: '' action: id: '' type: '' time_created: '' result_code: '' app_id: '' app_name: '' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error '501': description: Not Implemented '502': description: Bad Gateway '504': description: Gateway Timeout security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/authentications//initiate': post: tags: - Initiate summary: 'For 3DS 2, submit data including the billing and shipping details of the payer, at least one phone number, the device data, transaction details, outcome from the ACS Method URL if it took place and a link to the merchant''s About or Contact page.' description: "For 3DS 2, submit data including the billing and shipping details of the payer, at least one phone number, the device data, transaction details, outcome from the ACS Method URL if it took place and a link to the merchant's About or Contact page.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: initiate3DS parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: required: true content: application/json: schema: type: object properties: three_ds: type: object properties: source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER preference: type: string enum: - NO_PREFERENCE - NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERRED - CHALLENGE_MANDATED - NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED - NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY - NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED - NO_CHALLENGE_REQUESTED_WHITELIST - CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST description: | Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. * `NO_PREFERENCE` - No preference as to whether the customer is challenged * `NO_CHALLENGE_REQUESTED` - Preference is for the customer not be challenged * `CHALLENGE_PREFERRED` - Preference is for the customer to be challenged. * `CHALLENGE_MANDATED` - A challenge is required for the transaction to be authorized due to local/regional mandates or other variables. NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED * `NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY` * `NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED` * `NO_CHALLENGE_REQUESTED_WHITELIST` * `CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST` minLength: 1 maxLength: 50 example: NO_PREFERENCE whitelist_status: type: string enum: - WHITELISTED_BY_CARDHOLDER - NOT_WHITELISTED_BY_CARDHOLDER - NOT_ELIGIBLE - PENDING_CARDHOLDER_CONFIRMATION - REJECTED_BY_CARDHOLDER - WHITELIST_STATUS_UNKNOWN description: | Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor (Merchant). * `WHITELISTED_BY_CARDHOLDER` * `NOT_WHITELISTED_BY_CARDHOLDER` * `NOT_ELIGIBLE` * `PENDING_CARDHOLDER_CONFIRMATION` * `REJECTED_BY_CARDHOLDER` * `WHITELIST_STATUS_UNKNOWN` minLength: 1 maxLength: 50 example: WHITELISTED_BY_CARDHOLDER merchant_contact_url: type: string description: The url of the website that shows the merchant's contact details. Please note that local URLs are not allowed. The URL provided has to be valid payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '29' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 time_created_reference: type: string description: Merchant defined time the order was created. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order. minLength: 1 maxLength: 50 currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD address_match_indicator: type: string enum: - 'TRUE' - 'FALSE' description: | Indicates whether the shipping address matches the billing address. * `TRUE` * `FALSE` Note for European merchants: This field is recommended for SCA. minLength: 1 maxLength: 50 example: 'TRUE' shipping_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: 'This is the country of the address represented as in ISO 3166-1 format. Please click on Country Codes to access the full list of countries' minLength: 3 maxLength: 3 example: '840' gift_card_count: type: number description: The total number of prepaid or gift cards purchased. gift_card_amount: type: string description: The amount of the gift card. minLength: 1 maxLength: 50 gift_card_currency: type: string enum: - 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 description: The currency of the gift card amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: EUR delivery_email: type: string description: | For ELECTRONIC_DELIVERY, the email address to which the merchandise was delivered. The field must be submitted in the form name@host.domain. Note for European merchants: This field is recommended for SCA. minLength: 1 maxLength: 100 delivery_timeframe: type: string enum: - ELECTRONIC_DELIVERY - SAME_DAY - OVERNIGHT - TWO_DAYS_OR_MORE description: | Indicates the delivery timeframe for the order. * `ELECTRONIC_DELIVERY` * `SAME_DAY` * `OVERNIGHT` * `TWO_DAYS_OR_MORE` minLength: 1 maxLength: 50 example: ELECTRONIC_DELIVERY shipping_method: type: string enum: - BILLING_ADDRESS - ANOTHER_VERIFIED_ADDRESS - UNVERIFIED_ADDRESS - SHIP_TO_STORE - DIGITAL_GOODS - TRAVEL_AND_EVENT_TICKETS - OTHER description: | Indicates shipping method chosen for the transaction. Must be specific to this transaction, not generally to the merchant. If one or more items are included in the sale, use the Shipping Indicator code for the physical goods. If all the goods are digital, use the Shipping Method code that describes the most expensive item. * `BILLING_ADDRESS` * `ANOTHER_VERIFIED_ADDRESS` * `UNVERIFIED_ADDRESS` * `SHIP_TO_STORE` * `DIGITAL_GOODS` * `TRAVEL_AND_EVENT_TICKETS` * `OTHER` minLength: 1 maxLength: 50 example: BILLING_ADDRESS shipping_name_matches_cardholder_name: type: string enum: - 'YES' - 'NO' description: | Indicates whether the account customer name matches the shipping address name. * `YES` * `NO` minLength: 1 maxLength: 50 example: 'YES' preorder_indicator: type: string enum: - MERCHANDISE_AVAILABLE - FUTURE_AVAILABILITY description: | Indicates whether the customer is paying for merchandise that will be available at a future date. * `MERCHANDISE_AVAILABLE` * `FUTURE_AVAILABILITY` minLength: 1 maxLength: 50 example: MERCHANDISE_AVAILABLE preorder_availability_date: type: string description: In the case of a pre order; the expected date when the merchandise will be available. category: type: string enum: - GOODS_SERVICE_PURCHASE - CHECK_ACCEPTANCE - ACCOUNT_FUNDING - QUASI_CASH_TRANSACTION - PREPAID_ACTIVATION_AND_LOAD description: The type of order being authenticated. example: GOODS_SERVICE_PURCHASE reorder_indicator: type: string enum: - FIRST_TIME_ORDER - REORDER description: | The type of order being authenticated. * `FIRST_TIME_ORDER` * `REORDER` minLength: 1 maxLength: 50 example: REORDER required: - time_created_reference browser_data: type: object properties: language: type: string description: The language the browser is set to. minLength: 1 maxLength: 50 accept_header: type: string description: HTTP accept headers as sent by the browser. minLength: 1 maxLength: 50 user_agent: type: string description: Exact content of the HTTP user-agent header sent by the browser. minLength: 1 maxLength: 50 color_depth: type: string enum: - ONE_BIT - TWO_BITS - FOUR_BITS - EIGHT_BITS - FIFTEEN_BITS - SIXTEEN_BITS - TWENTY_FOUR_BITS - THIRTY_TWO_BITS - FORTY_EIGHT_BITS description: | Browser color depth. * `ONE_BIT` * `TWO_BITS` * `FOUR_BITS` * `EIGHT_BITS` * `FIFTEEN_BITS` * `SIXTEEN_BITS` * `TWENTY_FOUR_BITS` * `THIRTY_TWO_BITS` * `FORTY_EIGHT_BITS` minLength: 1 maxLength: 50 example: ONE_BIT ip: type: string description: | Exact content of the HTTP user-agent header sent by the browser. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 java_enabled: type: string enum: - 'YES' - 'NO' description: whether the browser can execute Java. minLength: 1 maxLength: 50 example: 'YES' javascript_enabled: type: string enum: - 'YES' - 'NO' description: whether the browser can execute JavaScript. minLength: 1 maxLength: 50 example: 'YES' screen_height: type: string description: | Total height of the customer's screen in pixels. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 screen_width: type: string description: Total width of the customer's screen in pixels. minLength: 1 maxLength: 50 challenge_window_size: type: string description: | Dimensions of the challenge window that has been displayed to the customer. The ACS shall reply with content that is formatted to appropriately. * `WINDOWED_250X400` * `WINDOWED_390X400` * `WINDOWED_500X600` * `WINDOWED_600X400` * `FULL_SCREEN` minLength: 1 maxLength: 50 example: WINDOWED_250X400 timezone: type: string description: 'Time difference between UTC time and the customer''s browser local time, in minutes.' minLength: 1 maxLength: 50 method_url_completion_status: type: string enum: - 'YES' - 'NO' description: | Indicates whether the 3DS Method was completed successfully. * `YES` * `NO` minLength: 1 maxLength: 50 example: 'YES' message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION stored_credential: type: object properties: model: type: string enum: - UNSCHEDULED - RECURRING - SUBSCRIPTION - INSTALLMENT - ADD_PAYMENT_METHOD - MAINTAIN_PAYMENT_METHOD - MAINTAIN_PAYMENT_VERIFICATION - SPLIT_OR_DELAYED_SHIPMENT - TOP_UP - MAIL_ORDER - TELEPHONE_ORDER - WHITELIST_STATUS_CHECK - OTHER_PAYMENT - BILLING_AGREEMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions: * `UNSCHEDULED` * `RECURRING` * `SUBSCRIPTION` * `ADD_PAYMENT_METHOD` * `MAINTAIN_PAYMENT_METHOD` * `MAINTAIN_PAYMENT_VERIFICATION` * `SPLIT_OR_DELAYED_SHIPMENT` * `TOP_UP` * `MAIL_ORDER` * `TELEPHONE_ORDER` * `WHITELIST_STATUS_CHECK` * `OTHER_PAYMENT` * `BILLING_AGREEMENT` minLength: 1 maxLength: 50 example: RECURRING payer: type: object properties: name: type: string description: The full name of the payer. minLength: 1 maxLength: 50 reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 date_of_birth: type: string description: | The date of birth of the payer Note for European merchants: This field is recommended for SCA. account_age: type: string enum: - NO_ACCOUNT - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time the customer has had an account with the merchant. Note for European merchants: This field is recommended for SCA. * `NO_ACCOUNT` * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: NO_ACCOUNT account_creation_date: type: string description: Date the customer opened their account with the merchant. account_change_date: type: string description: 'Date the customer''s account with the merchant was last changed. For example, if the billing or shipping details changed, new payment account or new users added.' account_change_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time since the account has changed. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: THIS_TRANSACTION account_password_change_date: type: string description: Date the customer's account with the merchant had a password change or account reset. account_password_change_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time since the account has changed. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: THIS_TRANSACTION email: type: string description: The email of the Payer minLength: 1 maxLength: 50 example: payer@gmail.com billing_address: type: object description: "The billing address of the payer.\r\nNote for European merchants- All billing fields are recommended for SCA." properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: 'This is the country of the address represented as in ISO 3166-1 format. Please click on Country Codes to access the full list of countries' minLength: 3 maxLength: 3 example: '840' home_phone: type: object properties: country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be 1 for England it would be 44 for Germany it would be 49 minLength: 1 maxLength: 3 subscriber_number: type: string description: 'The phone number.Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 work_phone: type: object properties: country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be 1 for England it would be 44 for Germany it would be 49 minLength: 1 maxLength: 3 subscriber_number: type: string description: 'The phone number. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 mobile_phone: type: object properties: country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 3 subscriber_number: type: string description: 'The phone number.Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 payment_account_creation_date: type: string description: Date the payment account was associated with the customer's account. payment_account_age_indicator: type: string enum: - NO_ACCOUNT - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time the customer has had an account with the merchant. * `NO_ACCOUNT` * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: NO_ACCOUNT suspicious_account_activity: type: string enum: - SUSPICIOUS_ACTIVITY - NO_SUSPICIOUS_ACTIVITY description: | Indicates whether there has been suspicious activity on this customer's account, including fraudulent activity. Note for European merchants: This field is recommended for SCA. * `SUSPICIOUS_ACTIVITY` * `NO_SUSPICIOUS_ACTIVITY` minLength: 1 maxLength: 50 example: SUSPICIOUS_ACTIVITY purchases_last_6months_count: type: number description: 'Number of purchases with this customer''s account during the previous six months. Note for European merchants: This field is recommended for SCA.' transactions_last_24hours_count: type: number description: 'Number of transactions (successful and abandoned) for this customer account with the merchant in the previous 24 hours. Note for European merchants: This field is recommended for SCA.' shipping_address_time_created_reference: type: string description: Date the shipping address was first used with the merchant. acct_info: type: object properties: shipping_address_creation_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | When the shipping address was first used with the merchant. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: LESS_THAN_THIRTY_DAYS transaction_last_year_count: type: number description: Number of transactions (successful and abandoned) for this customer account with the merchant in the previous year. minimum: 1 maximum: 50 example: 5 payer_login_data: type: object properties: authentication_timestamp: type: string description: 'The timestamp of the authentication with the merchant. Minimum of 3 microseconds precision, can be up to 6. Must also include timezone.' format: date-time authentication_type: type: string enum: - NOT_AUTHENTICATED - MERCHANT_SYSTEM_AUTHENTICATION - FEDERATED_ID_AUTHENTICATION - ISSUER_CREDENTIAL_AUTHENTICATION - THIRD_PARTY_AUTHENTICATION - FIDO_AUTHENTICATION description: | Method used by the customer to previously authenticate with the merchant. * `NOT_AUTHENTICATED` * `MERCHANT_SYSTEM_AUTHENTICATION` * `FEDERATED_ID_AUTHENTICATION` * `ISSUER_CREDENTIAL_AUTHENTICATION` * `THIRD_PARTY_AUTHENTICATION` * `FIDO_AUTHENTICATION` Note for European merchants: All billing fields are recommended for SCA. minLength: 1 maxLength: 50 example: NOT_AUTHENTICATED authentication_data: type: string description: Data that documents and supports a specific authentication process. minLength: 1 maxLength: 50 payer_prior_three_ds_authentication_data: type: object properties: authentication_method: type: string enum: - FRICTIONLESS_AUTHENTICATION - CHALLENGE_OCCURRED - AVS_VERIFIED - OTHER_ISSUER_METHOD description: | Method used by the customer previously to authenticate. * `FRICTIONLESS_AUTHENTICATION` * `CHALLENGE_OCCURRED` * `AVS_VERIFIED` * `OTHER_ISSUER_METHOD` minLength: 1 maxLength: 50 example: FRICTIONLESS_AUTHENTICATION acs_transaction_reference: type: string description: ACS Transaction ID for a prior 3DS authenticated transaction. minLength: 1 maxLength: 50 authentication_timestamp: type: string description: 'Date and time in UTC of the prior customer authentication. Minimum of 3 microseconds precision, can be up to 6. Must also include timezone. Note for European merchants: All billing fields are recommended for SCA.' format: date-time authentication_data: type: string description: Data that documents and supports a specific authentication process. minLength: 1 maxLength: 50 recurring_authorization_data: type: object properties: max_number_of_instalments: type: string description: Indicates the maximum number of authorizations permitted for instalment payments. frequency: type: string description: The minimum number of days between recurring authorizations. minLength: 1 maxLength: 50 expiry_date: type: string description: Date after which no further recurring authorizations shall be performed. required: - three_ds - merchant_contact_url - payment_method - order - browser_data examples: Initiate - 3DS 2 Challenge: value: method_url_completion_status: 'YES' three_ds: source: BROWSER merchant_contact_url: 'https://enp4qhvjseljg.x.pipedream.net/' order: time_created_reference: '2019-04-26T10:19:32.552327Z' amount: '5089' currency: EUR reference: 3400dd37-101d-4940-be15-3c963b6109b3 address_match_indicator: 'TRUE' shipping_address: line1: Apartment 852 line2: Complex 741 line3: House 963 city: Chicago postal_code: '50001' state: IL country: '840' gift_card_count: 1 gift_card_currency: EUR gift_card_amount: '25000' delivery_email: james.mason@example.com delivery_timeframe: ELECTRONIC_DELIVERY shipping_method: ANOTHER_VERIFIED_ADDRESS shipping_name_matches_cardholder_name: 'YES' preorder_indicator: MERCHANDISE_AVAILABLE preorder_availability_date: '2019-04-18' reorder_indicator: FIRST_TIME_ORDER category: GOODS_SERVICE_PURCHASE payment_method: card: number: '4012001038488884' expiry_month: '12' expiry_year: '30' payer: reference: 6dcb24f5-74a0-4da3-98da-4f0aa0e88db3 account_age: LESS_THAN_THIRTY_DAYS account_creation_date: '2019-01-10' account_change_date: '2019-01-28' account_change_indicator: THIS_TRANSACTION account_password_change_date: '2019-01-15' account_password_change_indicator: LESS_THAN_THIRTY_DAYS mobile_phone: country_code: '44' subscriber_number: '987654321' home_phone: country_code: '44' subscriber_number: '123456789' work_phone: country_code: '44' subscriber_number: '1801555888' payment_account_creation_date: '2019-01-01' payment_account_age_indicator: LESS_THAN_THIRTY_DAYS suspicious_account_activity: NO_SUSPICIOUS_ACTIVITY purchases_last_6months_count: 3 transactions_last_24hours_count: 1 transaction_last_year_count: 5 provision_attempt_last_24hours_count: '01' shipping_address_time_created_reference: '2019-01-28' shipping_address_creation_indicator: THIS_TRANSACTION payer_prior_three_ds_authentication_data: authentication_method: FRICTIONLESS_AUTHENTICATION acs_transaction_reference: 26c3f619-39a4-4040-bf1f-6fd433e6d615 authentication_timestamp: '2020-07-28T10:26:49.712Z' authentication_data: secret123 recurring_authorization_data: max_number_of_instalments: '05' frequency: '25' expiry_date: '2019-08-25' payer_login_data: authentication_data: secret123 authentication_timestamp: '2020-07-28T10:26:49.712Z' authentication_type: MERCHANT_SYSTEM_AUTHENTICATION browser_data: accept_header: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' color_depth: TWENTY_FOUR_BITS ip: 123.123.123.123 java_enabled: 'TRUE' javascript_enabled: 'TRUE' language: en-US screen_height: '1080' screen_width: '1920' challenge_window_size: FULL_SCREEN timezone: '0' user_agent: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.110 Safari/537.36' Initiate - 3DS 2 Frictionless: value: method_url_completion_status: 'YES' three_ds: source: BROWSER merchant_contact_url: 'https://enp4qhvjseljg.x.pipedream.net/' order: time_created_reference: '2019-04-26T10:19:32.552327Z' amount: '5089' currency: EUR reference: 3400dd37-101d-4940-be15-3c963b6109b3 address_match_indicator: 'TRUE' shipping_address: line1: Apartment 852 line2: Complex 741 line3: House 963 city: Chicago postal_code: '50001' state: IL country: '840' gift_card_count: 1 gift_card_currency: EUR gift_card_amount: '25000' delivery_email: james.mason@example.com delivery_timeframe: ELECTRONIC_DELIVERY shipping_method: ANOTHER_VERIFIED_ADDRESS shipping_name_matches_cardholder_name: 'YES' preorder_indicator: MERCHANDISE_AVAILABLE preorder_availability_date: '2019-04-18' reorder_indicator: FIRST_TIME_ORDER category: GOODS_SERVICE_PURCHASE payment_method: card: number: '4263970000005262' expiry_month: '12' expiry_year: '30' payer: reference: 6dcb24f5-74a0-4da3-98da-4f0aa0e88db3 account_age: LESS_THAN_THIRTY_DAYS account_creation_date: '2019-01-10' account_change_date: '2019-01-28' account_change_indicator: THIS_TRANSACTION account_password_change_date: '2019-01-15' account_password_change_indicator: LESS_THAN_THIRTY_DAYS mobile_phone: country_code: '44' subscriber_number: '987654321' home_phone: country_code: '44' subscriber_number: '123456789' work_phone: country_code: '44' subscriber_number: '1801555888' payment_account_creation_date: '2019-01-01' payment_account_age_indicator: LESS_THAN_THIRTY_DAYS suspicious_account_activity: NO_SUSPICIOUS_ACTIVITY purchases_last_6months_count: 3 transactions_last_24hours_count: 1 transaction_last_year_count: 5 provision_attempt_last_24hours_count: '01' shipping_address_time_created_reference: '2019-01-28' shipping_address_creation_indicator: THIS_TRANSACTION payer_prior_three_ds_authentication_data: authentication_method: FRICTIONLESS_AUTHENTICATION acs_transaction_reference: 26c3f619-39a4-4040-bf1f-6fd433e6d615 authentication_timestamp: '2020-07-28T10:26:49.712Z' authentication_data: secret123 recurring_authorization_data: max_number_of_instalments: '05' frequency: '25' expiry_date: '2019-08-25' payer_login_data: authentication_data: secret123 authentication_timestamp: '2020-07-28T10:26:49.712Z' authentication_type: MERCHANT_SYSTEM_AUTHENTICATION browser_data: accept_header: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' color_depth: TWENTY_FOUR_BITS ip: 123.123.123.123 java_enabled: 'TRUE' javascript_enabled: 'TRUE' language: en-US screen_height: '1080' screen_width: '1920' challenge_window_size: FULL_SCREEN timezone: '0' user_agent: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.110 Safari/537.36' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' transaction_type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 example: SALE status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER three_ds: type: object properties: server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE authentication_source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK title: authentication_source_AUTHENTICATION.three_ds.authentication_source description: Indicates the type of channel used to initiate the transaction. message_version: type: string description: Indicates the version of 3DS. authentication_value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 cardholder_response_info: type: string description: 'Optional text provided by the ACS/Issuer to the customer during a frictionless transaction that was not authenticated. For example, a customer care phone number to call.' minLength: 1 maxLength: 50 message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED challenge_model: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE session_data_field_name: type: string enum: - threeDSSessionData - MD description: | Indicates the field name to populate data with when redirecting to the 3DS ACS. The data will be returned by the ACS in the same field name when redirecting back to the notification challenge result URL. * MD - Use this field name in the redirect to the ACS 3DS 1. * threeDSSessionData - Use this field name in the redirect to the ACS for 3DS 2. minLength: 1 maxLength: 50 example: threeDSSessionData message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ challenge_value: type: string description: The value to be submitted in the request to the redirect_url when challenging an authentication. It is Base64url encoded and must be sent to the ACS. minLength: 1 maxLength: 50 exemption_optimization_result: type: string enum: - APPLY_EXEMPTION - CONTINUE - FORCE_SECURE - BLOCK description: The result from the transaction risk analysis minLength: 1 maxLength: 50 example: APPLY_EXEMPTION mobile_data: type: object properties: acs_signed_content: type: string description: | Contains the following data necessary to present the challenge to the customer: ACS URL ACS Ephemeral Public Key (QT) SDK Ephemeral Public Key (QC) example: eyJhbGciOiJQUzI1NiIsIng1YyI6Ik1JSURlVENDQW1HZ0F3SUJBZ0lRYlM0QzRCU acs_rendering_type: type: string description: Identifies the ACS UI Template that the ACS will first present to the consumer. acs_interface: type: string description: | The ACS interface that the challenge will present to the cardholder. Possible values: NATIVE HTML example: NATIVE acs_ui_template: type: string description: | Identifies the UI Template format that the ACS first presents to the consumer. Possible values TEXT SINGLE_SELECT MULTI_SELECT OOB HTML_OTHER example: MULTI_SELECT notifications: type: object properties: challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. callbacks: Challenge Return Notification: '{$request.body#/notifications.challenge_return_url}': post: description: The endpoint which will receive 3DS challenge return notification messages. These notifications indicate that the payer has completed the 3DS authentication challenge and the result of the challenge can be obtained. requestBody: content: application/json: schema: type: object title: 3ds_callback properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing three_ds: type: object properties: acs_trans_reference: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string message_version: type: string description: Indicates the version of 3DS. acs_transaction_status: type: string session_data: type: string action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app responses: '200': description: OK security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/authentications//result': get: tags: - Obtain Result summary: Obtain the authentication information that must be submitted when creating a transaction to achieve the fraud liability shift from the merchant. description: "Obtain the authentication information that must be submitted when creating a transaction to achieve the fraud liability shift from the merchant.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: get3DSResult parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: required: false content: application/json: schema: type: object properties: three_ds: type: object properties: challenge_result_value: type: string description: The value retrieved from the ACS once 3DS authentication step completed and is needed to obtain the result of the authentication. maxLength: 10000 examples: Obtain Result - 3DS 1: value: three_ds: challenge_result_value: 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 Obtain Result - 3DS 2: value: {} responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER three_ds: type: object properties: acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 authentication_type: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE authentication_value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. authentication_request_type: type: string enum: - PAYMENT_TRANSACTION - RECURRING_TRANSACTION - INSTALMENT_TRANSACTION - ADD_CARD - MAINTAIN_CARD - CARDHOLDER_VERIFICATION description: | Indicates the type of channel used to initiate the transaction. * `PAYMENT_TRANSACTION` * `RECURRING_TRANSACTION` * `INSTALMENT_TRANSACTION` * `ADD_CARD` * `MAINTAIN_CARD` * `CARDHOLDER_VERIFICATION` minLength: 1 maxLength: 50 example: PAYMENT_TRANSACTION acs_decoupled_response_indicator: type: array description: | Indicates whether the ACS will utilise Decoupled Authentication to authenticate the Cardholder. * `DECOUPLED_AUTHENTICATION_UTILISED` * `DECOUPLED_AUTHENTICATION_NOT_UTILISED` items: type: string enum: - DECOUPLED_AUTHENTICATION_UTILISED - DECOUPLED_AUTHENTICATION_NOT_UTILISED example: - DECOUPLED_AUTHENTICATION_UTILISED whitelist_status: type: string enum: - WHITELISTED_BY_CARDHOLDER - NOT_WHITELISTED_BY_CARDHOLDER - NOT_ELIGIBLE - PENDING_CARDHOLDER_CONFIRMATION - REJECTED_BY_CARDHOLDER - WHITELIST_STATUS_UNKNOWN description: | Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor (Merchant). * `WHITELISTED_BY_CARDHOLDER` * `NOT_WHITELISTED_BY_CARDHOLDER` * `NOT_ELIGIBLE` * `PENDING_CARDHOLDER_CONFIRMATION` * `REJECTED_BY_CARDHOLDER` * `WHITELIST_STATUS_UNKNOWN` minLength: 1 maxLength: 50 example: WHITELISTED_BY_CARDHOLDER message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string notifications: type: object properties: challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/authentications/': get: tags: - Get Single Authentication summary: Get Single Authentication description: "Return a single Authentication Response.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: get-authentications-id parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER payment_method: type: object properties: result: type: string description: Result code from the payment method provider message: type: string description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED three_ds: type: object properties: acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION message_version: type: string description: Indicates the version of 3DS. challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED action_create_id: type: string description: A unique identifier generated by Global Payments to identify the action returned on the Authentication initiated example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d system: type: object properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: Example 1: id: '' time_created: '' status: '' merchant_id: '' merchant_name: '' account_id: '' account_name: '' channel: '' amount: '' currency: '' country: '' source: '' payment_method: result: '' message: '' entry_mode: '' fingerprint: '' fingerprint_presence_indicator: '' name: Jane card: funding: '' brand: '' authcode: '' brand_reference: '' masked_number_first6last4: '' cvv_indicator: '' cvv_result: '' avs_address_result: '' avs_postal_code_result: '' three_ds: acs_trans_ref: '' ds_trans_ref: '' server_trans_ref: '' liability_shift: '' value: '' eci: '' status: '' status_reason: '' message_category: '' message_version: '' challenge_status: '' action_create_id: '' system: mid: '' tid: '' name: '' action: id: '' type: '' time_created: '' result_code: '' app_id: '' app_name: '' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error '501': description: Not Implemented '502': description: Bad Gateway '504': description: Gateway Timeout security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Check Availability description: Start the authentication process by querying the available mechanisms to authenticate the payer based on the payment method. - name: Initiate description: 'For 3DS 2 only, submit additional data including the billing and shipping details of the payer, at least one phone number, the device data, transaction details, outcome from the ACS Method URL if it took place and a link to the merchant''s About or Contact page.' - name: Obtain Result description: Obtain the authentication information that must be submitted when creating a transaction to achieve fraud liability shift from the merchant. components: parameters: page: name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 page_size: name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 order: name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC order_by: name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. callbacks: Challenge Return Notification: '{$request.body#/notifications.challenge_return_url}': post: description: The endpoint which will receive 3DS challenge return notification messages. These notifications indicate that the payer has completed the 3DS authentication challenge and the result of the challenge can be obtained. requestBody: content: application/json: schema: type: object title: 3ds_callback properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing three_ds: type: object properties: acs_trans_reference: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string message_version: type: string description: Indicates the version of 3DS. acs_transaction_status: type: string session_data: type: string action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app responses: '200': description: OK schemas: create_request: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '29' notifications: type: object properties: return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' minLength: 1 maxLength: 256 status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain status events that occur on the platform. minLength: 1 maxLength: 256 challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. minLength: 1 maxLength: 256 decoupled_challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication when the authentication is decoupled and separate to the purchase. minLength: 1 maxLength: 256 required: - challenge_return_url - three_ds_method_return_url mobile_data: type: object properties: sdk_interface: type: string enum: - NATIVE - BOTH description: Indicates the type of interface provided by the mobile SDK to present the challenge to the user. example: BOTH sdk_ui_type: type: array description: Specifies which UI types the SDK supports for challenge screens items: type: string enum: - TEXT - SINGLE_SELECT - MULTI_SELECT - OUT_OF_BAND - HTML_OTHER example: - TEXT ephemeral_public_key: type: object properties: kty: type: string description: Key type (typically EC) example: EC crv: type: string description: Curve type (typically P-256) example: P-256 x: type: string description: The Base64 URL encoded X coordinate 'y': type: string description: The Base64 URL encoded Y coordinate maximum_timeout: type: string description: Defines the maximum time (in minutes) the SDK allows for a challenge interaction. example: '05' reference_number: type: string description: Identifies the SDK vendor and version. example: 3DS_LOA_SDK_PPFU_020100_00007 sdk_trans_reference: type: string description: A unique transaction identifier generated by the SDK. example: c1c3b6f1-7a9c-4b9e-bc41-92fbbf9f2c01 encoded_data: type: string description: Contains the Base 64 encoded SDK data required for authentication. example: eyJzZGsiOiAiZGF0YSIsICJlbmMiOiAiYmFzZTY0In0=" required: - account_name - country - amount - currency - reference - payment_method - notifications account_name_AUTHENTICATIONS.account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel_AUTHENTICATIONS.channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country_AUTHENTICATIONS.country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US amount_AUTHENTICATIONS.amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency_AUTHENTICATIONS.currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference_AUTHENTICATIONS.reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e id_AUTHENTICATIONS.payment_method.id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 name_AUTHENTICATIONS.payment_method.name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method entry_mode_AUTHENTICATIONS.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM number_AUTHENTICATIONS.payment_method.card.number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month_AUTHENTICATIONS.payment_method.card.expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '12' expiry_year_AUTHENTICATIONS.payment_method.card.expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '29' return_url_AUTHENTICATIONS.notifications.return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' minLength: 1 maxLength: 256 status_url_AUTHENTICATIONS.notifications.status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain status events that occur on the platform. minLength: 1 maxLength: 256 challenge_return_url_AUTHENTICATIONS.notifications.challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 three_ds_method_return_url_AUTHENTICATIONS.notifications.three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. minLength: 1 maxLength: 256 decoupled_challenge_return_url_AUTHENTICATIONS.notifications.decoupled_challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication when the authentication is decoupled and separate to the purchase. minLength: 1 maxLength: 256 sdk_interface_AUTHENTICATIONS.mobile_data.sdk_interface: type: string enum: - NATIVE - BOTH description: Indicates the type of interface provided by the mobile SDK to present the challenge to the user. example: BOTH sdk_ui_type_AUTHENTICATIONS.mobile_data.sdk_ui_type: type: array description: Specifies which UI types the SDK supports for challenge screens items: type: string enum: - TEXT - SINGLE_SELECT - MULTI_SELECT - OUT_OF_BAND - HTML_OTHER example: - TEXT kty_AUTHENTICATIONS.mobile_data.ephemeral_public_key.kty: type: string description: Key type (typically EC) example: EC crv_AUTHENTICATIONS.mobile_data.ephemeral_public_key.crv: type: string description: Curve type (typically P-256) example: P-256 x_AUTHENTICATIONS.mobile_data.ephemeral_public_key.x: type: string description: The Base64 URL encoded X coordinate y_AUTHENTICATIONS.mobile_data.ephemeral_public_key.y: type: string description: The Base64 URL encoded Y coordinate maximum_timeout_AUTHENTICATIONS.mobile_data.maximum_timeout: type: string description: Defines the maximum time (in minutes) the SDK allows for a challenge interaction. example: '05' reference_number_AUTHENTICATIONS.mobile_data.reference_number: type: string description: Identifies the SDK vendor and version. example: 3DS_LOA_SDK_PPFU_020100_00007 sdk_trans_reference_AUTHENTICATIONS.mobile_data.sdk_trans_reference: type: string description: A unique transaction identifier generated by the SDK. example: c1c3b6f1-7a9c-4b9e-bc41-92fbbf9f2c01 encoded_data_AUTHENTICATIONS.mobile_data.encoded_data: type: string description: Contains the Base 64 encoded SDK data required for authentication. example: eyJzZGsiOiAiZGF0YSIsICJlbmMiOiAiYmFzZTY0In0=" create_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' transaction_type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 example: SALE status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e three_ds: type: object properties: server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 message_version: type: string description: Indicates the version of 3DS. ds_protocol_version_start: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 ds_protocol_version_end: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 acs_protocol_version_start: type: string description: The version range supported by the Access Control Server (Issuer). minLength: 1 maxLength: 50 acs_protocol_version_end: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 acs_info_indicator: type: array description: | Identifies the 3D Secure 2 features that the ACS supports, for example, Whitelisting or Decoupled Authentication. * `NOT_AVAILABLE` * `AUTHENTICATION_AVAILABLE_AT_ACS` * `ATTEMPTS_SUPPORTED_BY_ACS` * `DECOUPLED_AUTHENTICATION_SUPPORTED` * `WHITELISTING_SUPPORTED` * `SCHEME_INFO_INDICATOR_##` items: type: string enum: - NOT_AVAILABLE - AUTHENTICATION_AVAILABLE_AT_ACS - ATTEMPTS_SUPPORTED_BY_ACS - DECOUPLED_AUTHENTICATION_SUPPORTED - WHITELISTING_SUPPORTED - SCHEME_INFO_INDICATOR_## example: - NOT_AVAILABLE enrolled_status: type: string enum: - ENROLLED - NOT_ENROLLED - NOT_ENROLLED_ATTEMPT - UNABLE_TO_VERIFY description: | Indicates if the payer is enrolled for 3DS with this card. * `ENROLLED` * `NOT_ENROLLED` * `NOT_ENROLLED_ATTEMPT` * `UNABLE_TO_VERIFY` minLength: 1 maxLength: 50 example: ENROLLED eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 challenge_model: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE session_data_field_name: type: string enum: - threeDSSessionData - MD description: | Indicates the field name to populate data with when redirecting to the 3DS ACS. The data will be returned by the ACS in the same field name when redirecting back to the notification challenge result URL. * MD - Use this field name in the redirect to the ACS 3DS 1. * threeDSSessionData - Use this field name in the redirect to the ACS for 3DS 2. minLength: 1 maxLength: 50 example: threeDSSessionData message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ challenge_value: type: string description: The value to be submitted in the request to the redirect_url when challenging an authentication. It is Base64url encoded and must be sent to the ACS. minLength: 1 maxLength: 50 redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. method_url: type: string description: 'The URL to facilitate the ACS gathering device data. If the ACS does not support this functionality, this field will not be returned. This URL needs to be called from a hidden iframe so that the ACS can gather information about the device being used to authenticate, for example a phone or a browser. The notifications.method_return_url will receive a notification when the 3DS ACS successfully gathers device information and to close the hidden iFrame.' method_data: type: object properties: three_ds_server_trans_id: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. encoded_method_data: type: string description: 'JSON object containing the Base64Url encoded string, made up of the integator''s method_notification_url and the server_trans_ref which must be sent to the method_url when facilitating the ACS to gather device information.' notifications: type: object properties: challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app id_AUTHENTICATIONS.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created_AUTHENTICATIONS.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' transaction_type_AUTHENTICATIONS.transaction_type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 example: SALE status_AUTHENTICATIONS.status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE merchant_id_AUTHENTICATIONS.merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name_AUTHENTICATIONS.merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id_AUTHENTICATIONS.account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b server_trans_ref_AUTHENTICATIONS.three_ds.server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 message_version_AUTHENTICATIONS.three_ds.message_version: type: string description: Indicates the version of 3DS. ds_protocol_version_start_AUTHENTICATIONS.three_ds.ds_protocol_version_start: type: string description: The version range supported by the Directory Server (Card Scheme). minLength: 1 maxLength: 50 acs_protocol_version_start_AUTHENTICATIONS.three_ds.acs_protocol_version_start: type: string description: The version range supported by the Access Control Server (Issuer). minLength: 1 maxLength: 50 acs_info_indicator_AUTHENTICATIONS.three_ds.acs_info_indicator: type: array description: | Identifies the 3D Secure 2 features that the ACS supports, for example, Whitelisting or Decoupled Authentication. * `NOT_AVAILABLE` * `AUTHENTICATION_AVAILABLE_AT_ACS` * `ATTEMPTS_SUPPORTED_BY_ACS` * `DECOUPLED_AUTHENTICATION_SUPPORTED` * `WHITELISTING_SUPPORTED` * `SCHEME_INFO_INDICATOR_##` items: type: string enum: - NOT_AVAILABLE - AUTHENTICATION_AVAILABLE_AT_ACS - ATTEMPTS_SUPPORTED_BY_ACS - DECOUPLED_AUTHENTICATION_SUPPORTED - WHITELISTING_SUPPORTED - SCHEME_INFO_INDICATOR_## example: - NOT_AVAILABLE enrolled_status_AUTHENTICATIONS.three_ds.enrolled_status: type: string enum: - ENROLLED - NOT_ENROLLED - NOT_ENROLLED_ATTEMPT - UNABLE_TO_VERIFY description: | Indicates if the payer is enrolled for 3DS with this card. * `ENROLLED` * `NOT_ENROLLED` * `NOT_ENROLLED_ATTEMPT` * `UNABLE_TO_VERIFY` minLength: 1 maxLength: 50 example: ENROLLED eci_AUTHENTICATIONS.three_ds.eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 liability_shift_AUTHENTICATIONS.three_ds.liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 challenge_model_AUTHENTICATIONS.three_ds.challenge_model: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE session_data_field_name_AUTHENTICATIONS.three_ds.session_data_field_name: type: string enum: - threeDSSessionData - MD description: | Indicates the field name to populate data with when redirecting to the 3DS ACS. The data will be returned by the ACS in the same field name when redirecting back to the notification challenge result URL. * MD - Use this field name in the redirect to the ACS 3DS 1. * threeDSSessionData - Use this field name in the redirect to the ACS for 3DS 2. minLength: 1 maxLength: 50 example: threeDSSessionData message_type_AUTHENTICATIONS.three_ds.message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ challenge_value_AUTHENTICATIONS.three_ds.challenge_value: type: string description: The value to be submitted in the request to the redirect_url when challenging an authentication. It is Base64url encoded and must be sent to the ACS. minLength: 1 maxLength: 50 redirect_url_AUTHENTICATIONS.three_ds.redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url_AUTHENTICATIONS.three_ds.acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. method_url_AUTHENTICATIONS.three_ds.method_url: type: string description: 'The URL to facilitate the ACS gathering device data. If the ACS does not support this functionality, this field will not be returned. This URL needs to be called from a hidden iframe so that the ACS can gather information about the device being used to authenticate, for example a phone or a browser. The notifications.method_return_url will receive a notification when the 3DS ACS successfully gathers device information and to close the hidden iFrame.' three_ds_server_trans_id_AUTHENTICATIONS.three_ds.method_data.three_ds_server_trans_id: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. three_ds_method_return_url_AUTHENTICATIONS.three_ds.method_data.three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. encoded_method_data_AUTHENTICATIONS.three_ds.method_data.encoded_method_data: type: string description: 'JSON object containing the Base64Url encoded string, made up of the integator''s method_notification_url and the server_trans_ref which must be sent to the method_url when facilitating the ACS to gather device information.' id_AUTHENTICATIONS.action.id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_AUTHENTICATIONS.action.type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY result_code_AUTHENTICATIONS.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id_AUTHENTICATIONS.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_AUTHENTICATIONS.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app 3ds_callback: type: object title: 3ds_callback properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the authentication. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing three_ds: type: object properties: acs_trans_reference: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string message_version: type: string description: Indicates the version of 3DS. acs_transaction_status: type: string session_data: type: string action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app acs_trans_ref_AUTHENTICATIONS.three_ds.acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 message_extension_AUTHENTICATIONS.three_ds.message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' source_AUTHENTICATIONS.source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER ds_trans_ref_AUTHENTICATIONS.three_ds.ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 authentication_value_AUTHENTICATIONS.three_ds.authentication_value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 list_response: type: object properties: current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED authentications: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER payment_method: type: object properties: result: type: string description: Result code from the payment method provider message: type: string description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED three_ds: type: object properties: acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION message_version: type: string description: Indicates the version of 3DS. challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED action_create_id: type: string description: A unique identifier generated by Global Payments to identify the action returned on the Authentication initiated example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d system: type: object properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: Example 1: current_page_size: '' merchant_id: '' merchant_name: '' account_id: '' account_name: '' filter: from_time_created: '' to_time_created: '' paging: page_size: '' page: '' order: '' order_by: '' authentications: id: '' time_created: '' status: '' channel: '' amount: '' currency: '' country: '' source: '' payment_method: result: '' message: '' entry_mode: '' fingerprint: '' fingerprint_presence_indicator: '' name: '' card: funding: '' brand: '' authcode: '' brand_reference: '' masked_number_first6last4: '' cvv_indicator: '' cvv_result: '' avs_address_result: '' avs_postal_code_result: '' three_ds: acs_trans_ref: '' ds_trans_ref: '' server_trans_ref: '' liability_shift: '' value: '' eci: '' status: '' status_reason: '' message_category: '' message_version: '' challenge_status: '' action_create_id: '' system: mid: '' tid: '' name: '' action: id: '' type: '' time_created: '' result_code: '' app_id: '' app_name: '' current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED result_AUTHENTICATIONS.payment_method.result: type: string description: Result code from the payment method provider message_AUTHENTICATIONS.payment_method.message: type: string description: Result message from the payment method provider corresponding to the result code. fingerprint_AUTHENTICATIONS.payment_method.fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 fingerprint_presence_indicator_AUTHENTICATIONS.payment_method.fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW funding_AUTHENTICATIONS.payment_method.card.funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand_AUTHENTICATIONS.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA authcode_AUTHENTICATIONS.payment_method.card.authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference_AUTHENTICATIONS.payment_method.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' masked_number_first6last4_AUTHENTICATIONS.payment_method.card.masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 cvv_indicator_AUTHENTICATIONS.payment_method.card.cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result_AUTHENTICATIONS.payment_method.card.cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result_AUTHENTICATIONS.payment_method.card.avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result_AUTHENTICATIONS.payment_method.card.avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED status_AUTHENTICATIONS.three_ds.status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason_AUTHENTICATIONS.three_ds.status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE message_category_AUTHENTICATIONS.three_ds.message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION challenge_status_AUTHENTICATIONS.three_ds.challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED action_create_id_AUTHENTICATIONS.action_create_id: type: string description: A unique identifier generated by Global Payments to identify the action returned on the Authentication initiated example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d mid_AUTHENTICATIONS.system.mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid_AUTHENTICATIONS.system.tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 name_AUTHENTICATIONS.system.name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 time_created_ACTIONS.time_created: type: string description: The time the action that initialed the activity this notification was executed. format: date-time initiate_request: type: object properties: three_ds: type: object properties: source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER preference: type: string enum: - NO_PREFERENCE - NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERRED - CHALLENGE_MANDATED - NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED - NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY - NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED - NO_CHALLENGE_REQUESTED_WHITELIST - CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST description: | Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. * `NO_PREFERENCE` - No preference as to whether the customer is challenged * `NO_CHALLENGE_REQUESTED` - Preference is for the customer not be challenged * `CHALLENGE_PREFERRED` - Preference is for the customer to be challenged. * `CHALLENGE_MANDATED` - A challenge is required for the transaction to be authorized due to local/regional mandates or other variables. NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED * `NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY` * `NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED` * `NO_CHALLENGE_REQUESTED_WHITELIST` * `CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST` minLength: 1 maxLength: 50 example: NO_PREFERENCE whitelist_status: type: string enum: - WHITELISTED_BY_CARDHOLDER - NOT_WHITELISTED_BY_CARDHOLDER - NOT_ELIGIBLE - PENDING_CARDHOLDER_CONFIRMATION - REJECTED_BY_CARDHOLDER - WHITELIST_STATUS_UNKNOWN description: | Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor (Merchant). * `WHITELISTED_BY_CARDHOLDER` * `NOT_WHITELISTED_BY_CARDHOLDER` * `NOT_ELIGIBLE` * `PENDING_CARDHOLDER_CONFIRMATION` * `REJECTED_BY_CARDHOLDER` * `WHITELIST_STATUS_UNKNOWN` minLength: 1 maxLength: 50 example: WHITELISTED_BY_CARDHOLDER merchant_contact_url: type: string description: The url of the website that shows the merchant's contact details. Please note that local URLs are not allowed. The URL provided has to be valid payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '29' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 time_created_reference: type: string description: Merchant defined time the order was created. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order. minLength: 1 maxLength: 50 currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD address_match_indicator: type: string enum: - 'TRUE' - 'FALSE' description: | Indicates whether the shipping address matches the billing address. * `TRUE` * `FALSE` Note for European merchants: This field is recommended for SCA. minLength: 1 maxLength: 50 example: 'TRUE' shipping_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: 'This is the country of the address represented as in ISO 3166-1 format. Please click on Country Codes to access the full list of countries' minLength: 3 maxLength: 3 example: '840' gift_card_count: type: number description: The total number of prepaid or gift cards purchased. gift_card_amount: type: string description: The amount of the gift card. minLength: 1 maxLength: 50 gift_card_currency: type: string enum: - 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 description: The currency of the gift card amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: EUR delivery_email: type: string description: | For ELECTRONIC_DELIVERY, the email address to which the merchandise was delivered. The field must be submitted in the form name@host.domain. Note for European merchants: This field is recommended for SCA. minLength: 1 maxLength: 100 delivery_timeframe: type: string enum: - ELECTRONIC_DELIVERY - SAME_DAY - OVERNIGHT - TWO_DAYS_OR_MORE description: | Indicates the delivery timeframe for the order. * `ELECTRONIC_DELIVERY` * `SAME_DAY` * `OVERNIGHT` * `TWO_DAYS_OR_MORE` minLength: 1 maxLength: 50 example: ELECTRONIC_DELIVERY shipping_method: type: string enum: - BILLING_ADDRESS - ANOTHER_VERIFIED_ADDRESS - UNVERIFIED_ADDRESS - SHIP_TO_STORE - DIGITAL_GOODS - TRAVEL_AND_EVENT_TICKETS - OTHER description: | Indicates shipping method chosen for the transaction. Must be specific to this transaction, not generally to the merchant. If one or more items are included in the sale, use the Shipping Indicator code for the physical goods. If all the goods are digital, use the Shipping Method code that describes the most expensive item. * `BILLING_ADDRESS` * `ANOTHER_VERIFIED_ADDRESS` * `UNVERIFIED_ADDRESS` * `SHIP_TO_STORE` * `DIGITAL_GOODS` * `TRAVEL_AND_EVENT_TICKETS` * `OTHER` minLength: 1 maxLength: 50 example: BILLING_ADDRESS shipping_name_matches_cardholder_name: type: string enum: - 'YES' - 'NO' description: | Indicates whether the account customer name matches the shipping address name. * `YES` * `NO` minLength: 1 maxLength: 50 example: 'YES' preorder_indicator: type: string enum: - MERCHANDISE_AVAILABLE - FUTURE_AVAILABILITY description: | Indicates whether the customer is paying for merchandise that will be available at a future date. * `MERCHANDISE_AVAILABLE` * `FUTURE_AVAILABILITY` minLength: 1 maxLength: 50 example: MERCHANDISE_AVAILABLE preorder_availability_date: type: string description: In the case of a pre order; the expected date when the merchandise will be available. category: type: string enum: - GOODS_SERVICE_PURCHASE - CHECK_ACCEPTANCE - ACCOUNT_FUNDING - QUASI_CASH_TRANSACTION - PREPAID_ACTIVATION_AND_LOAD description: The type of order being authenticated. example: GOODS_SERVICE_PURCHASE reorder_indicator: type: string enum: - FIRST_TIME_ORDER - REORDER description: | The type of order being authenticated. * `FIRST_TIME_ORDER` * `REORDER` minLength: 1 maxLength: 50 example: REORDER required: - time_created_reference browser_data: type: object properties: language: type: string description: The language the browser is set to. minLength: 1 maxLength: 50 accept_header: type: string description: HTTP accept headers as sent by the browser. minLength: 1 maxLength: 50 user_agent: type: string description: Exact content of the HTTP user-agent header sent by the browser. minLength: 1 maxLength: 50 color_depth: type: string enum: - ONE_BIT - TWO_BITS - FOUR_BITS - EIGHT_BITS - FIFTEEN_BITS - SIXTEEN_BITS - TWENTY_FOUR_BITS - THIRTY_TWO_BITS - FORTY_EIGHT_BITS description: | Browser color depth. * `ONE_BIT` * `TWO_BITS` * `FOUR_BITS` * `EIGHT_BITS` * `FIFTEEN_BITS` * `SIXTEEN_BITS` * `TWENTY_FOUR_BITS` * `THIRTY_TWO_BITS` * `FORTY_EIGHT_BITS` minLength: 1 maxLength: 50 example: ONE_BIT ip: type: string description: | Exact content of the HTTP user-agent header sent by the browser. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 java_enabled: type: string enum: - 'YES' - 'NO' description: whether the browser can execute Java. minLength: 1 maxLength: 50 example: 'YES' javascript_enabled: type: string enum: - 'YES' - 'NO' description: whether the browser can execute JavaScript. minLength: 1 maxLength: 50 example: 'YES' screen_height: type: string description: | Total height of the customer's screen in pixels. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 screen_width: type: string description: Total width of the customer's screen in pixels. minLength: 1 maxLength: 50 challenge_window_size: type: string description: | Dimensions of the challenge window that has been displayed to the customer. The ACS shall reply with content that is formatted to appropriately. * `WINDOWED_250X400` * `WINDOWED_390X400` * `WINDOWED_500X600` * `WINDOWED_600X400` * `FULL_SCREEN` minLength: 1 maxLength: 50 example: WINDOWED_250X400 timezone: type: string description: 'Time difference between UTC time and the customer''s browser local time, in minutes.' minLength: 1 maxLength: 50 method_url_completion_status: type: string enum: - 'YES' - 'NO' description: | Indicates whether the 3DS Method was completed successfully. * `YES` * `NO` minLength: 1 maxLength: 50 example: 'YES' message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION stored_credential: type: object properties: model: type: string enum: - UNSCHEDULED - RECURRING - SUBSCRIPTION - INSTALLMENT - ADD_PAYMENT_METHOD - MAINTAIN_PAYMENT_METHOD - MAINTAIN_PAYMENT_VERIFICATION - SPLIT_OR_DELAYED_SHIPMENT - TOP_UP - MAIL_ORDER - TELEPHONE_ORDER - WHITELIST_STATUS_CHECK - OTHER_PAYMENT - BILLING_AGREEMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions: * `UNSCHEDULED` * `RECURRING` * `SUBSCRIPTION` * `ADD_PAYMENT_METHOD` * `MAINTAIN_PAYMENT_METHOD` * `MAINTAIN_PAYMENT_VERIFICATION` * `SPLIT_OR_DELAYED_SHIPMENT` * `TOP_UP` * `MAIL_ORDER` * `TELEPHONE_ORDER` * `WHITELIST_STATUS_CHECK` * `OTHER_PAYMENT` * `BILLING_AGREEMENT` minLength: 1 maxLength: 50 example: RECURRING payer: type: object properties: name: type: string description: The full name of the payer. minLength: 1 maxLength: 50 reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 date_of_birth: type: string description: | The date of birth of the payer Note for European merchants: This field is recommended for SCA. account_age: type: string enum: - NO_ACCOUNT - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time the customer has had an account with the merchant. Note for European merchants: This field is recommended for SCA. * `NO_ACCOUNT` * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: NO_ACCOUNT account_creation_date: type: string description: Date the customer opened their account with the merchant. account_change_date: type: string description: 'Date the customer''s account with the merchant was last changed. For example, if the billing or shipping details changed, new payment account or new users added.' account_change_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time since the account has changed. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: THIS_TRANSACTION account_password_change_date: type: string description: Date the customer's account with the merchant had a password change or account reset. account_password_change_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time since the account has changed. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: THIS_TRANSACTION email: type: string description: The email of the Payer minLength: 1 maxLength: 50 example: payer@gmail.com billing_address: type: object description: "The billing address of the payer.\r\nNote for European merchants- All billing fields are recommended for SCA." properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: 'This is the country of the address represented as in ISO 3166-1 format. Please click on Country Codes to access the full list of countries' minLength: 3 maxLength: 3 example: '840' home_phone: type: object properties: country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be 1 for England it would be 44 for Germany it would be 49 minLength: 1 maxLength: 3 subscriber_number: type: string description: 'The phone number.Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 work_phone: type: object properties: country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be 1 for England it would be 44 for Germany it would be 49 minLength: 1 maxLength: 3 subscriber_number: type: string description: 'The phone number. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 mobile_phone: type: object properties: country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 3 subscriber_number: type: string description: 'The phone number.Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 payment_account_creation_date: type: string description: Date the payment account was associated with the customer's account. payment_account_age_indicator: type: string enum: - NO_ACCOUNT - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time the customer has had an account with the merchant. * `NO_ACCOUNT` * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: NO_ACCOUNT suspicious_account_activity: type: string enum: - SUSPICIOUS_ACTIVITY - NO_SUSPICIOUS_ACTIVITY description: | Indicates whether there has been suspicious activity on this customer's account, including fraudulent activity. Note for European merchants: This field is recommended for SCA. * `SUSPICIOUS_ACTIVITY` * `NO_SUSPICIOUS_ACTIVITY` minLength: 1 maxLength: 50 example: SUSPICIOUS_ACTIVITY purchases_last_6months_count: type: number description: 'Number of purchases with this customer''s account during the previous six months. Note for European merchants: This field is recommended for SCA.' transactions_last_24hours_count: type: number description: 'Number of transactions (successful and abandoned) for this customer account with the merchant in the previous 24 hours. Note for European merchants: This field is recommended for SCA.' shipping_address_time_created_reference: type: string description: Date the shipping address was first used with the merchant. acct_info: type: object properties: shipping_address_creation_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | When the shipping address was first used with the merchant. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: LESS_THAN_THIRTY_DAYS transaction_last_year_count: type: number description: Number of transactions (successful and abandoned) for this customer account with the merchant in the previous year. minimum: 1 maximum: 50 example: 5 payer_login_data: type: object properties: authentication_timestamp: type: string description: 'The timestamp of the authentication with the merchant. Minimum of 3 microseconds precision, can be up to 6. Must also include timezone.' format: date-time authentication_type: type: string enum: - NOT_AUTHENTICATED - MERCHANT_SYSTEM_AUTHENTICATION - FEDERATED_ID_AUTHENTICATION - ISSUER_CREDENTIAL_AUTHENTICATION - THIRD_PARTY_AUTHENTICATION - FIDO_AUTHENTICATION description: | Method used by the customer to previously authenticate with the merchant. * `NOT_AUTHENTICATED` * `MERCHANT_SYSTEM_AUTHENTICATION` * `FEDERATED_ID_AUTHENTICATION` * `ISSUER_CREDENTIAL_AUTHENTICATION` * `THIRD_PARTY_AUTHENTICATION` * `FIDO_AUTHENTICATION` Note for European merchants: All billing fields are recommended for SCA. minLength: 1 maxLength: 50 example: NOT_AUTHENTICATED authentication_data: type: string description: Data that documents and supports a specific authentication process. minLength: 1 maxLength: 50 payer_prior_three_ds_authentication_data: type: object properties: authentication_method: type: string enum: - FRICTIONLESS_AUTHENTICATION - CHALLENGE_OCCURRED - AVS_VERIFIED - OTHER_ISSUER_METHOD description: | Method used by the customer previously to authenticate. * `FRICTIONLESS_AUTHENTICATION` * `CHALLENGE_OCCURRED` * `AVS_VERIFIED` * `OTHER_ISSUER_METHOD` minLength: 1 maxLength: 50 example: FRICTIONLESS_AUTHENTICATION acs_transaction_reference: type: string description: ACS Transaction ID for a prior 3DS authenticated transaction. minLength: 1 maxLength: 50 authentication_timestamp: type: string description: 'Date and time in UTC of the prior customer authentication. Minimum of 3 microseconds precision, can be up to 6. Must also include timezone. Note for European merchants: All billing fields are recommended for SCA.' format: date-time authentication_data: type: string description: Data that documents and supports a specific authentication process. minLength: 1 maxLength: 50 recurring_authorization_data: type: object properties: max_number_of_instalments: type: string description: Indicates the maximum number of authorizations permitted for instalment payments. frequency: type: string description: The minimum number of days between recurring authorizations. minLength: 1 maxLength: 50 expiry_date: type: string description: Date after which no further recurring authorizations shall be performed. required: - three_ds - merchant_contact_url - payment_method - order - browser_data preference_AUTHENTICATIONS.three_ds.preference: type: string enum: - NO_PREFERENCE - NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERRED - CHALLENGE_MANDATED - NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED - NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY - NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED - NO_CHALLENGE_REQUESTED_WHITELIST - CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST description: | Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. * `NO_PREFERENCE` - No preference as to whether the customer is challenged * `NO_CHALLENGE_REQUESTED` - Preference is for the customer not be challenged * `CHALLENGE_PREFERRED` - Preference is for the customer to be challenged. * `CHALLENGE_MANDATED` - A challenge is required for the transaction to be authorized due to local/regional mandates or other variables. NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED * `NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY` * `NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED` * `NO_CHALLENGE_REQUESTED_WHITELIST` * `CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST` minLength: 1 maxLength: 50 example: NO_PREFERENCE whitelist_status_AUTHENTICATIONS.three_ds.whitelist_status: type: string enum: - WHITELISTED_BY_CARDHOLDER - NOT_WHITELISTED_BY_CARDHOLDER - NOT_ELIGIBLE - PENDING_CARDHOLDER_CONFIRMATION - REJECTED_BY_CARDHOLDER - WHITELIST_STATUS_UNKNOWN description: | Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor (Merchant). * `WHITELISTED_BY_CARDHOLDER` * `NOT_WHITELISTED_BY_CARDHOLDER` * `NOT_ELIGIBLE` * `PENDING_CARDHOLDER_CONFIRMATION` * `REJECTED_BY_CARDHOLDER` * `WHITELIST_STATUS_UNKNOWN` minLength: 1 maxLength: 50 example: WHITELISTED_BY_CARDHOLDER merchant_contact_url_AUTHENTICATIONS.merchant_contact_url: type: string description: The url of the website that shows the merchant's contact details. Please note that local URLs are not allowed. The URL provided has to be valid reference_AUTHENTICATIONS.order.reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 time_created_reference_AUTHENTICATIONS.order.time_created_reference: type: string description: Merchant defined time the order was created. minLength: 1 maxLength: 50 amount_AUTHENTICATIONS.order.amount: type: string description: The total amount of the order. minLength: 1 maxLength: 50 currency_AUTHENTICATIONS.order.currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD address_match_indicator_AUTHENTICATIONS.order.address_match_indicator: type: string enum: - 'TRUE' - 'FALSE' description: | Indicates whether the shipping address matches the billing address. * `TRUE` * `FALSE` Note for European merchants: This field is recommended for SCA. minLength: 1 maxLength: 50 example: 'TRUE' line_1_AUTHENTICATIONS.order.shipping_address.line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2_AUTHENTICATIONS.order.shipping_address.line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3_AUTHENTICATIONS.order.shipping_address.line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city_AUTHENTICATIONS.order.shipping_address.city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state_AUTHENTICATIONS.order.shipping_address.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code_AUTHENTICATIONS.order.shipping_address.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country_AUTHENTICATIONS.order.shipping_address.country: type: string description: 'This is the country of the address represented as in ISO 3166-1 format. Please click on Country Codes to access the full list of countries' minLength: 3 maxLength: 3 example: '840' gift_card_count_AUTHENTICATIONS.order.gift_card_count: type: number description: The total number of prepaid or gift cards purchased. gift_card_amount_AUTHENTICATIONS.order.gift_card_amount: type: string description: The amount of the gift card. minLength: 1 maxLength: 50 gift_card_currency_AUTHENTICATIONS.order.gift_card_currency: type: string enum: - 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 description: The currency of the gift card amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: EUR delivery_email_AUTHENTICATIONS.order.delivery_email: type: string description: | For ELECTRONIC_DELIVERY, the email address to which the merchandise was delivered. The field must be submitted in the form name@host.domain. Note for European merchants: This field is recommended for SCA. minLength: 1 maxLength: 100 delivery_timeframe_AUTHENTICATIONS.order.delivery_timeframe: type: string enum: - ELECTRONIC_DELIVERY - SAME_DAY - OVERNIGHT - TWO_DAYS_OR_MORE description: | Indicates the delivery timeframe for the order. * `ELECTRONIC_DELIVERY` * `SAME_DAY` * `OVERNIGHT` * `TWO_DAYS_OR_MORE` minLength: 1 maxLength: 50 example: ELECTRONIC_DELIVERY shipping_method_AUTHENTICATIONS.order.shipping_method: type: string enum: - BILLING_ADDRESS - ANOTHER_VERIFIED_ADDRESS - UNVERIFIED_ADDRESS - SHIP_TO_STORE - DIGITAL_GOODS - TRAVEL_AND_EVENT_TICKETS - OTHER description: | Indicates shipping method chosen for the transaction. Must be specific to this transaction, not generally to the merchant. If one or more items are included in the sale, use the Shipping Indicator code for the physical goods. If all the goods are digital, use the Shipping Method code that describes the most expensive item. * `BILLING_ADDRESS` * `ANOTHER_VERIFIED_ADDRESS` * `UNVERIFIED_ADDRESS` * `SHIP_TO_STORE` * `DIGITAL_GOODS` * `TRAVEL_AND_EVENT_TICKETS` * `OTHER` minLength: 1 maxLength: 50 example: BILLING_ADDRESS shipping_name_matches_cardholder_name_AUTHENTICATIONS.order.shipping_name_matches_cardholder_name: type: string enum: - 'YES' - 'NO' description: | Indicates whether the account customer name matches the shipping address name. * `YES` * `NO` minLength: 1 maxLength: 50 example: 'YES' preorder_indicator_AUTHENTICATIONS.order.preorder_indicator: type: string enum: - MERCHANDISE_AVAILABLE - FUTURE_AVAILABILITY description: | Indicates whether the customer is paying for merchandise that will be available at a future date. * `MERCHANDISE_AVAILABLE` * `FUTURE_AVAILABILITY` minLength: 1 maxLength: 50 example: MERCHANDISE_AVAILABLE preorder_availability_date_AUTHENTICATIONS.order.preorder_availability_date: type: string description: In the case of a pre order; the expected date when the merchandise will be available. category_AUTHENTICATIONS.order.category: type: string enum: - GOODS_SERVICE_PURCHASE - CHECK_ACCEPTANCE - ACCOUNT_FUNDING - QUASI_CASH_TRANSACTION - PREPAID_ACTIVATION_AND_LOAD description: The type of order being authenticated. example: GOODS_SERVICE_PURCHASE reorder_indicator_AUTHENTICATIONS.order.reorder_indicator: type: string enum: - FIRST_TIME_ORDER - REORDER description: | The type of order being authenticated. * `FIRST_TIME_ORDER` * `REORDER` minLength: 1 maxLength: 50 example: REORDER language_AUTHENTICATIONS.browser_date.language: type: string description: The language the browser is set to. minLength: 1 maxLength: 50 accept_header_AUTHENTICATIONS.browser_date.accept_header: type: string description: HTTP accept headers as sent by the browser. minLength: 1 maxLength: 50 user_agent_AUTHENTICATIONS.browser_date.user_agent: type: string description: Exact content of the HTTP user-agent header sent by the browser. minLength: 1 maxLength: 50 color_depth_AUTHENTICATIONS.browser_date.color_depth: type: string enum: - ONE_BIT - TWO_BITS - FOUR_BITS - EIGHT_BITS - FIFTEEN_BITS - SIXTEEN_BITS - TWENTY_FOUR_BITS - THIRTY_TWO_BITS - FORTY_EIGHT_BITS description: | Browser color depth. * `ONE_BIT` * `TWO_BITS` * `FOUR_BITS` * `EIGHT_BITS` * `FIFTEEN_BITS` * `SIXTEEN_BITS` * `TWENTY_FOUR_BITS` * `THIRTY_TWO_BITS` * `FORTY_EIGHT_BITS` minLength: 1 maxLength: 50 example: ONE_BIT ip_AUTHENTICATIONS.browser_date.ip: type: string description: | Exact content of the HTTP user-agent header sent by the browser. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 java_enabled_AUTHENTICATIONS.browser_date.java_enabled: type: string enum: - 'YES' - 'NO' description: whether the browser can execute Java. minLength: 1 maxLength: 50 example: 'YES' javascript_enabled_AUTHENTICATIONS.browser_date.javascript_enabled: type: string enum: - 'YES' - 'NO' description: whether the browser can execute JavaScript. minLength: 1 maxLength: 50 example: 'YES' screen_height_AUTHENTICATIONS.browser_date.screen_height: type: string description: | Total height of the customer's screen in pixels. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 screen_width_AUTHENTICATIONS.browser_date.screen_width: type: string description: Total width of the customer's screen in pixels. minLength: 1 maxLength: 50 challenge_window_size_AUTHENTICATIONS.browser_date.challenge_window_size: type: string description: | Dimensions of the challenge window that has been displayed to the customer. The ACS shall reply with content that is formatted to appropriately. * `WINDOWED_250X400` * `WINDOWED_390X400` * `WINDOWED_500X600` * `WINDOWED_600X400` * `FULL_SCREEN` minLength: 1 maxLength: 50 example: WINDOWED_250X400 timezone_AUTHENTICATIONS.browser_date.timezone: type: string description: 'Time difference between UTC time and the customer''s browser local time, in minutes.' minLength: 1 maxLength: 50 method_url_completion_status_AUTHENTICATIONS.method_url_completion_status: type: string enum: - 'YES' - 'NO' description: | Indicates whether the 3DS Method was completed successfully. * `YES` * `NO` minLength: 1 maxLength: 50 example: 'YES' model_AUTHENTICATIONS.stored_credential.model: type: string enum: - UNSCHEDULED - RECURRING - SUBSCRIPTION - INSTALLMENT - ADD_PAYMENT_METHOD - MAINTAIN_PAYMENT_METHOD - MAINTAIN_PAYMENT_VERIFICATION - SPLIT_OR_DELAYED_SHIPMENT - TOP_UP - MAIL_ORDER - TELEPHONE_ORDER - WHITELIST_STATUS_CHECK - OTHER_PAYMENT - BILLING_AGREEMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions: * `UNSCHEDULED` * `RECURRING` * `SUBSCRIPTION` * `ADD_PAYMENT_METHOD` * `MAINTAIN_PAYMENT_METHOD` * `MAINTAIN_PAYMENT_VERIFICATION` * `SPLIT_OR_DELAYED_SHIPMENT` * `TOP_UP` * `MAIL_ORDER` * `TELEPHONE_ORDER` * `WHITELIST_STATUS_CHECK` * `OTHER_PAYMENT` * `BILLING_AGREEMENT` minLength: 1 maxLength: 50 example: RECURRING name_AUTHENTICATIONS.payer.name: type: string description: The full name of the payer. minLength: 1 maxLength: 50 reference_AUTHENTICATIONS.payer.reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 date_of_birth_AUTHENTICATIONS.payer.date_of_birth: type: string description: | The date of birth of the payer Note for European merchants: This field is recommended for SCA. account_age_AUTHENTICATIONS.payer.account_age: type: string enum: - NO_ACCOUNT - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time the customer has had an account with the merchant. Note for European merchants: This field is recommended for SCA. * `NO_ACCOUNT` * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: NO_ACCOUNT account_creation_date_AUTHENTICATIONS.payer.account_creation_date: type: string description: Date the customer opened their account with the merchant. account_change_date_AUTHENTICATIONS.payer.account_change_date: type: string description: 'Date the customer''s account with the merchant was last changed. For example, if the billing or shipping details changed, new payment account or new users added.' account_change_indicator_AUTHENTICATIONS.payer.account_change_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time since the account has changed. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: THIS_TRANSACTION account_password_change_date_AUTHENTICATIONS.payer.account_password_change_date: type: string description: Date the customer's account with the merchant had a password change or account reset. email_AUTHENTICATIONS.payer.email: type: string description: The email of the Payer minLength: 1 maxLength: 50 example: payer@gmail.com country_code_AUTHENTICATIONS.payer.home_phone.country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be 1 for England it would be 44 for Germany it would be 49 minLength: 1 maxLength: 3 subscriber_number_AUTHENTICATIONS.payer.home_phone.subscriber_number: type: string description: 'The phone number.Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 subscriber_number_AUTHENTICATIONS.payer.work_phone.subscriber_number: type: string description: 'The phone number. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. Global Payments recommend you to send at least one phone number (Mobile, Home or Work).' minLength: 1 maxLength: 15 country_code_AUTHENTICATIONS.payer.mobile_phone.country_code: type: string description: | The country code that is used when dialling the phone number from another country. Note for European merchants: This field is mandatory for SCA unless customer Email is being sent by the Merchant. For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 3 payment_account_creation_date_AUTHENTICATIONS.payer.payment_account_creation_date: type: string description: Date the payment account was associated with the customer's account. payment_account_age_indicator_AUTHENTICATIONS.payer.payment_account_age_indicator: type: string enum: - NO_ACCOUNT - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | Length of time the customer has had an account with the merchant. * `NO_ACCOUNT` * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: NO_ACCOUNT suspicious_account_activity_AUTHENTICATIONS.payer.suspicious_account_activity: type: string enum: - SUSPICIOUS_ACTIVITY - NO_SUSPICIOUS_ACTIVITY description: | Indicates whether there has been suspicious activity on this customer's account, including fraudulent activity. Note for European merchants: This field is recommended for SCA. * `SUSPICIOUS_ACTIVITY` * `NO_SUSPICIOUS_ACTIVITY` minLength: 1 maxLength: 50 example: SUSPICIOUS_ACTIVITY purchases_last_6months_count_AUTHENTICATIONS.payer.purchases_last_6months_count: type: number description: 'Number of purchases with this customer''s account during the previous six months. Note for European merchants: This field is recommended for SCA.' transactions_last_24hours_count_AUTHENTICATIONS.payer.transactions_last_24hours_count: type: number description: 'Number of transactions (successful and abandoned) for this customer account with the merchant in the previous 24 hours. Note for European merchants: This field is recommended for SCA.' shipping_address_time_created_reference_AUTHENTICATIONS.payer.shipping_address_time_created_reference: type: string description: Date the shipping address was first used with the merchant. shipping_address_creation_indicator_AUTHENTICATIONS.payer.shipping_address_creation_indicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_THIRTY_DAYS - THIRTY_TO_SIXTY_DAYS - MORE_THAN_SIXTY_DAYS description: | When the shipping address was first used with the merchant. * `THIS_TRANSACTION` * `LESS_THAN_THIRTY_DAYS` * `THIRTY_TO_SIXTY_DAYS` * `MORE_THAN_SIXTY_DAYS` minLength: 1 maxLength: 50 example: LESS_THAN_THIRTY_DAYS transaction_last_year_count_AUTHENTICATIONS.payer.transaction_last_year_count: type: number description: Number of transactions (successful and abandoned) for this customer account with the merchant in the previous year. minimum: 1 maximum: 50 example: 5 authentication_timestamp_AUTHENTICATIONS.payer_login_data.authentication_timestamp: type: string description: 'The timestamp of the authentication with the merchant. Minimum of 3 microseconds precision, can be up to 6. Must also include timezone.' format: date-time authentication_type_AUTHENTICATIONS.payer_login_data.authentication_type: type: string enum: - NOT_AUTHENTICATED - MERCHANT_SYSTEM_AUTHENTICATION - FEDERATED_ID_AUTHENTICATION - ISSUER_CREDENTIAL_AUTHENTICATION - THIRD_PARTY_AUTHENTICATION - FIDO_AUTHENTICATION description: | Method used by the customer to previously authenticate with the merchant. * `NOT_AUTHENTICATED` * `MERCHANT_SYSTEM_AUTHENTICATION` * `FEDERATED_ID_AUTHENTICATION` * `ISSUER_CREDENTIAL_AUTHENTICATION` * `THIRD_PARTY_AUTHENTICATION` * `FIDO_AUTHENTICATION` Note for European merchants: All billing fields are recommended for SCA. minLength: 1 maxLength: 50 example: NOT_AUTHENTICATED authentication_data_AUTHENTICATIONS.payer_login_data.authentication_data: type: string description: Data that documents and supports a specific authentication process. minLength: 1 maxLength: 50 authentication_method_AUTHENTICATIONS.payer_prior_three_ds_authentication_data.authentication_method: type: string enum: - FRICTIONLESS_AUTHENTICATION - CHALLENGE_OCCURRED - AVS_VERIFIED - OTHER_ISSUER_METHOD description: | Method used by the customer previously to authenticate. * `FRICTIONLESS_AUTHENTICATION` * `CHALLENGE_OCCURRED` * `AVS_VERIFIED` * `OTHER_ISSUER_METHOD` minLength: 1 maxLength: 50 example: FRICTIONLESS_AUTHENTICATION acs_transaction_reference_AUTHENTICATIONS.payer_prior_three_ds_authentication_data.acs_transaction_reference: type: string description: ACS Transaction ID for a prior 3DS authenticated transaction. minLength: 1 maxLength: 50 authentication_timestamp_AUTHENTICATIONS.payer_prior_three_ds_authentication_data.authentication_timestamp: type: string description: 'Date and time in UTC of the prior customer authentication. Minimum of 3 microseconds precision, can be up to 6. Must also include timezone. Note for European merchants: All billing fields are recommended for SCA.' format: date-time max_number_of_instalments_AUTHENTICATIONS.recurring_authorization_data.max_number_of_instalments: type: string description: Indicates the maximum number of authorizations permitted for instalment payments. frequency_AUTHENTICATIONS.recurring_authorization_data.frequency: type: string description: The minimum number of days between recurring authorizations. minLength: 1 maxLength: 50 expiry_date_AUTHENTICATIONS.recurring_authorization_data.expiry_date: type: string description: Date after which no further recurring authorizations shall be performed. initiate_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' transaction_type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 example: SALE status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER three_ds: type: object properties: server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE authentication_source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK title: authentication_source_AUTHENTICATION.three_ds.authentication_source description: Indicates the type of channel used to initiate the transaction. message_version: type: string description: Indicates the version of 3DS. authentication_value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 cardholder_response_info: type: string description: 'Optional text provided by the ACS/Issuer to the customer during a frictionless transaction that was not authenticated. For example, a customer care phone number to call.' minLength: 1 maxLength: 50 message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED challenge_model: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE session_data_field_name: type: string enum: - threeDSSessionData - MD description: | Indicates the field name to populate data with when redirecting to the 3DS ACS. The data will be returned by the ACS in the same field name when redirecting back to the notification challenge result URL. * MD - Use this field name in the redirect to the ACS 3DS 1. * threeDSSessionData - Use this field name in the redirect to the ACS for 3DS 2. minLength: 1 maxLength: 50 example: threeDSSessionData message_type: type: string enum: - PAREQ - CREQ description: | Indicates what is the authentication value format used. * `PAREQ` * `CREQ` example: CREQ challenge_value: type: string description: The value to be submitted in the request to the redirect_url when challenging an authentication. It is Base64url encoded and must be sent to the ACS. minLength: 1 maxLength: 50 exemption_optimization_result: type: string enum: - APPLY_EXEMPTION - CONTINUE - FORCE_SECURE - BLOCK description: The result from the transaction risk analysis minLength: 1 maxLength: 50 example: APPLY_EXEMPTION mobile_data: type: object properties: acs_signed_content: type: string description: | Contains the following data necessary to present the challenge to the customer: ACS URL ACS Ephemeral Public Key (QT) SDK Ephemeral Public Key (QC) example: eyJhbGciOiJQUzI1NiIsIng1YyI6Ik1JSURlVENDQW1HZ0F3SUJBZ0lRYlM0QzRCU acs_rendering_type: type: string description: Identifies the ACS UI Template that the ACS will first present to the consumer. acs_interface: type: string description: | The ACS interface that the challenge will present to the cardholder. Possible values: NATIVE HTML example: NATIVE acs_ui_template: type: string description: | Identifies the UI Template format that the ACS first presents to the consumer. Possible values TEXT SINGLE_SELECT MULTI_SELECT OOB HTML_OTHER example: MULTI_SELECT notifications: type: object properties: challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app time_last_updated_AUTHENTICATIONS.time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' acs_reference_number_AUTHENTICATIONS.three_ds.acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 authentication_source_AUTHENTICATION.three_ds.authentication_source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK title: authentication_source_AUTHENTICATION.three_ds.authentication_source description: Indicates the type of channel used to initiate the transaction. cardholder_response_info_AUTHENTICATIONS.three_ds.cardholder_response_info: type: string description: 'Optional text provided by the ACS/Issuer to the customer during a frictionless transaction that was not authenticated. For example, a customer care phone number to call.' minLength: 1 maxLength: 50 exemption_optimization_result_AUTHENTICATIONS.three_ds.exemption_optimization_result: type: string enum: - APPLY_EXEMPTION - CONTINUE - FORCE_SECURE - BLOCK description: The result from the transaction risk analysis minLength: 1 maxLength: 50 example: APPLY_EXEMPTION acs_signed_content_AUTHENTICATIONS.three_ds.mobile_data.acs_signed_content: type: string description: | Contains the following data necessary to present the challenge to the customer: ACS URL ACS Ephemeral Public Key (QT) SDK Ephemeral Public Key (QC) example: eyJhbGciOiJQUzI1NiIsIng1YyI6Ik1JSURlVENDQW1HZ0F3SUJBZ0lRYlM0QzRCU acs_rendering_type_AUTHENTICATIONS.three_ds.mobile_data.acs_rendering_type: type: string description: Identifies the ACS UI Template that the ACS will first present to the consumer. acs_interface_AUTHENTICATIONS.three_ds.mobile_data.acs_interface: type: string description: | The ACS interface that the challenge will present to the cardholder. Possible values: NATIVE HTML example: NATIVE acs_ui_template_AUTHENTICATIONS.three_ds.mobile_data.acs_ui_template: type: string description: | Identifies the UI Template format that the ACS first presents to the consumer. Possible values TEXT SINGLE_SELECT MULTI_SELECT OOB HTML_OTHER example: MULTI_SELECT obtain_result_request: type: object properties: three_ds: type: object properties: challenge_result_value: type: string description: The value retrieved from the ACS once 3DS authentication step completed and is needed to obtain the result of the authentication. maxLength: 10000 challenge_result_value_AUTHENTICATIONS.three_ds.challenge_result_value: type: string description: The value retrieved from the ACS once 3DS authentication step completed and is needed to obtain the result of the authentication. maxLength: 10000 result_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER three_ds: type: object properties: acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 authentication_type: type: string enum: - STATIC_CHALLENGE - DYNAMIC_CHALLENGE - OUT_OF_BAND_CHALLENGE - DECOUPLED description: | Indicates the type of authentication method the Issuer will use to challenge the customer. * `STATIC_CHALLENGE` * `DYNAMIC_CHALLENGE` * `OUT_OF_BAND_CHALLENGE` * `DECOUPLED` minLength: 1 maxLength: 50 example: STATIC_CHALLENGE authentication_value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE redirect_url: type: string description: acs_challenge_redirect_url Should be used instead of the redirect_url -URL to redirect the payer from the merchant's system to the payment method system. This is used to determine or execute a challenge to the payer. minLength: 1 maxLength: 50 acs_challenge_request_url: type: string description: The ACS URL that the payer is redirect to execute a challenge to the payer. authentication_request_type: type: string enum: - PAYMENT_TRANSACTION - RECURRING_TRANSACTION - INSTALMENT_TRANSACTION - ADD_CARD - MAINTAIN_CARD - CARDHOLDER_VERIFICATION description: | Indicates the type of channel used to initiate the transaction. * `PAYMENT_TRANSACTION` * `RECURRING_TRANSACTION` * `INSTALMENT_TRANSACTION` * `ADD_CARD` * `MAINTAIN_CARD` * `CARDHOLDER_VERIFICATION` minLength: 1 maxLength: 50 example: PAYMENT_TRANSACTION acs_decoupled_response_indicator: type: array description: | Indicates whether the ACS will utilise Decoupled Authentication to authenticate the Cardholder. * `DECOUPLED_AUTHENTICATION_UTILISED` * `DECOUPLED_AUTHENTICATION_NOT_UTILISED` items: type: string enum: - DECOUPLED_AUTHENTICATION_UTILISED - DECOUPLED_AUTHENTICATION_NOT_UTILISED example: - DECOUPLED_AUTHENTICATION_UTILISED whitelist_status: type: string enum: - WHITELISTED_BY_CARDHOLDER - NOT_WHITELISTED_BY_CARDHOLDER - NOT_ELIGIBLE - PENDING_CARDHOLDER_CONFIRMATION - REJECTED_BY_CARDHOLDER - WHITELIST_STATUS_UNKNOWN description: | Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor (Merchant). * `WHITELISTED_BY_CARDHOLDER` * `NOT_WHITELISTED_BY_CARDHOLDER` * `NOT_ELIGIBLE` * `PENDING_CARDHOLDER_CONFIRMATION` * `REJECTED_BY_CARDHOLDER` * `WHITELIST_STATUS_UNKNOWN` minLength: 1 maxLength: 50 example: WHITELISTED_BY_CARDHOLDER message_extension: type: array description: Scheme specific data elements used to to carry additional data. Message extension is sent based on rules set by each scheme and may not always be present in the response. items: type: string notifications: type: object properties: challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. Please note that local URLs are not allowed. The URL provided has to be valid minLength: 1 maxLength: 256 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app authentication_request_type_AUTHENTICATIONS.three_ds.authentication_request_type: type: string enum: - PAYMENT_TRANSACTION - RECURRING_TRANSACTION - INSTALMENT_TRANSACTION - ADD_CARD - MAINTAIN_CARD - CARDHOLDER_VERIFICATION description: | Indicates the type of channel used to initiate the transaction. * `PAYMENT_TRANSACTION` * `RECURRING_TRANSACTION` * `INSTALMENT_TRANSACTION` * `ADD_CARD` * `MAINTAIN_CARD` * `CARDHOLDER_VERIFICATION` minLength: 1 maxLength: 50 example: PAYMENT_TRANSACTION acs_decoupled_response_indicator_AUTHENTICATIONS.three_ds.acs_decoupled_response_indicator: type: array description: | Indicates whether the ACS will utilise Decoupled Authentication to authenticate the Cardholder. * `DECOUPLED_AUTHENTICATION_UTILISED` * `DECOUPLED_AUTHENTICATION_NOT_UTILISED` items: type: string enum: - DECOUPLED_AUTHENTICATION_UTILISED - DECOUPLED_AUTHENTICATION_NOT_UTILISED example: - DECOUPLED_AUTHENTICATION_UTILISED single_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication and must be used to action or reference that authentication. minLength: 1 maxLength: 50 example: AUT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - AVAILABLE - NOT_ENROLLED - CHALLENGE_REQUIRED - SUCCESS_AUTHENTICATED - SUCCESS_ATTEMPT_MADE - NOT_AUTHENTICATED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY - FAILED - NOT_AVAILABLE description: | Indicates where the authentication is in its lifecycle * `AVAILABLE` - An authentication mechanism is available. The next step is to initiate the authentication. No liability shift at this stage. * `NOT_AVAILABLE` - The authentication mechanism is not available. The next step is to check for availability of another authentication mechanism. No liability shift at this stage. * `NOT_ENROLLED` - The payer's payment method is not enrolled in 3DS version 1 or version 2. If the card is a Visa or Mastercard a liability shift is achieved and the recommendation is execute the care authorization. However there us no liability shift at this stage for Amex,so the recommendation is not for go for card authorization. * `CHALLENGE_REQUIRED` - The authentication mechanism is available and the next step is to facilitate authentication of the payer. No liability shift at this stage. * `SUCCESS_AUTHENTICATED` - The authentication of the payer has been a success and a liability shift has been achieved so the recommendation is to go for authorization * `SUCCESS_ATTEMPT_MADE` - A valid attempt to authenticate the payer has been executed and a liability shift has been achieved so the recommendation is to go for authorization. * `NOT_AUTHENTICATED` - The payer did not authenticate therefore a liability shift has not been achieved. The recommendation is to not proceed with card authorization. * `FAILED` - A step in the authentication process has errored and there do not go for card authorization. * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AVAILABLE merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: | The 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. Note for European merchants: This field is mandatory for SCA. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: | 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. minLength: 2 maxLength: 2 example: US source: type: string enum: - BROWSER - MERCHANT_INITIATED - MOBILE_SDK description: | Indicates the type of system used to initiate the authentication. * `BROWSER` * `MERCHANT_INITIATED` * `MOBILE_SDK` minLength: 1 maxLength: 50 example: BROWSER payment_method: type: object properties: result: type: string description: Result code from the payment method provider message: type: string description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW name: type: string description: 'The name of the Payment Method. Note for European merchants: This field is mandatory for SCA.' minLength: 1 maxLength: 100 example: John's payment Method card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED three_ds: type: object properties: acs_trans_ref: type: string description: Unique transaction identifier assigned by the ACS. minLength: 1 maxLength: 50 acs_reference_number: type: string description: Certification reference Number assigned by the ACS. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 5 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 liability_shift: type: string enum: - 'YES' - 'NO' - UNSURE - '' description: | Indicates if the payment has been successfully completed authentication, either by the customer during 3DS or using 3RI in a merchant initiated transaction. If the value returned is YES, then it's recommended to proceed and execute a card authorization. In the event of a "fraudulent" chargeback from the customer, the liability for that dispute has shifted to the issuing bank and away from the merchant. * `YES` * `NO` * `UNSURE` minLength: 1 maxLength: 50 value: type: string description: A CNP Card transaction's 3D Secure Customer Authentication Verification Value that is used to determine and validate the degree of authentication executed for this transaction. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL status_reason: type: string enum: - CARD_AUTHENTICATION_FAILED - UNKNOWN_DEVICE - UNSUPPORTED_DEVICE - EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT - EXPIRED_CARD - INVALID_CARD_NUMBER - INVALID_TRANSACTION - NO_CARD_RECORD - SECURITY_FAILURE - STOLEN_CARD - SUSPECTED_FRAUD - TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER - CARDHOLDER_NOT_ENROLLED_IN_SERVICE - TRANSACTION_TIMED_OUT_AT_THE_ACS - LOW_CONFIDENCE - MEDIUM_CONFIDENCE - HIGH_CONFIDENCE - VERY_HIGH_CONFIDENCE - EXCEEDS_ACS_MAXIMUM_CHALLENGES - NON_PAYMENT_TRANSACTION_NOT_SUPPORTED - THREERI_TRANSACTION_NOT_SUPPORTED - ACS_TECHNICAL_ISSUE - DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS - DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED - INSUFFICIENT_TIME_TO_AUTHENTICATE - AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED - SCHEME_STATUS_REASON description: | Provides information on why the authentication status field has the specified value based on the response from the 3DS provider. * `CARD_AUTHENTICATION_FAILED` * `UNKNOWN_DEVICE` * `UNSUPPORTED_DEVICE` * `EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT` * `EXPIRED_CARD` * `INVALID_CARD_NUMBER` * `INVALID_TRANSACTION` * `NO_CARD_RECORD` * `SECURITY_FAILURE` * `STOLEN_CARD` * `SUSPECTED_FRAUD` * `TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER` * `CARDHOLDER_NOT_ENROLLED_IN_SERVICE` * `TRANSACTION_TIMED_OUT_AT_THE_ACS` * `LOW_CONFIDENCE` * `MEDIUM_CONFIDENCE` * `HIGH_CONFIDENCE` * `VERY_HIGH_CONFIDENCE` * `EXCEEDS_ACS_MAXIMUM_CHALLENGES` * `NON_PAYMENT_TRANSACTION_NOT_SUPPORTED` * `THREERI_TRANSACTION_NOT_SUPPORTED` * `ACS_TECHNICAL_ISSUE` * `DECOUPLED_AUTHENTICATION_REQUIRED_BY_ACS` * `DECOUPLED_MAX_EXPIRY_TIME_EXCEEDED` * `INSUFFICIENT_TIME_TO_AUTHENTICATE` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED` * `SCHEME_STATUS_REASON` minLength: 1 maxLength: 50 example: HIGH_CONFIDENCE message_category: type: string enum: - PAYMENT_AUTHENTICATION - NON_PAYMENT_AUTHENTICATION description: | Indicates the reason category the authentication was initiated. * `PAYMENT_AUTHENTICATION` - The authentication relates to a payment. * `NON_PAYMENT_AUTHENTICATION` - non payment activity such as adding or maintaining cards or card verification (OTB). minLength: 1 maxLength: 50 example: PAYMENT_AUTHENTICATION message_version: type: string description: Indicates the version of 3DS. challenge_status: type: string enum: - MANDATED - NOT_MANDATED - UNKNOWN description: | Indicates whether a challenge is required due to local/regional mandates or another variable. * `MANDATED` * `NOT_MANDATED` * `UNKNOWN` minLength: 1 maxLength: 50 example: MANDATED action_create_id: type: string description: A unique identifier generated by Global Payments to identify the action returned on the Authentication initiated example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d system: type: object properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INITIATE - GET_CHALLENGE_RESULT - CHECK_AVAILABILITY description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: CHECK_AVAILABILITY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: Example 1: id: '' time_created: '' status: '' merchant_id: '' merchant_name: '' account_id: '' account_name: '' channel: '' amount: '' currency: '' country: '' source: '' payment_method: result: '' message: '' entry_mode: '' fingerprint: '' fingerprint_presence_indicator: '' name: Jane card: funding: '' brand: '' authcode: '' brand_reference: '' masked_number_first6last4: '' cvv_indicator: '' cvv_result: '' avs_address_result: '' avs_postal_code_result: '' three_ds: acs_trans_ref: '' ds_trans_ref: '' server_trans_ref: '' liability_shift: '' value: '' eci: '' status: '' status_reason: '' message_category: '' message_version: '' challenge_status: '' action_create_id: '' system: mid: '' tid: '' name: '' action: id: '' type: '' time_created: '' result_code: '' app_id: '' app_name: '' objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Batches Source: https://developer.globalpayments.com/api/batches.md # Batches ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Batches description: | A Batch represents a group of transactions that commence the funding process together. Batches have aggregate amount and count totals of all the transactions in the batch. Once a batch is closed all transactions assigned to that batch will be funded to the merchant. Once a batch is closed no more transactions can be added or removed from that batch. Transactions that are in a closed batch cannot be cancelled/reversed and must be refunded. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1.1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: '/batches/': get: tags: - Get a Batch summary: Get a single view of a Batch using the Global Payments Batch id. description: "Get a single view of a Batch using the Global Payments Batch id.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getSingleBatch parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object title: GetResponse properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 status: type: string enum: - OPEN - CLOSED description: | Indicates where a batch is in its life cycle. *`OPEN` - Batch is open and can accept more transactions. *`CLOSED` - Batch is closed and cannot accept more transactions. example: OPEN time_created: type: string description: Time indicating when the batch was created in ISO-8601 format.. format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_closed: type: string description: Time indicating when the batch was closed format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' open_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that opened the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d close_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that closed the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 batch_transaction_count: type: number description: The number of transactions in the batch. example: 126 amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12000' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 123 amount: type: string description: The total amount of Sale transactions. example: '12300' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions. example: 100 amount: type: string description: The total amount of Debit card transactions. example: '10000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions. example: 26 amount: type: string description: The total amount of Credit card transactions. example: '2300' brand_breakdown: type: array items: type: object properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions for this brand. example: 80 amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions for this brand. example: 3 amount: type: string description: The total amount of Refund transactions for this brand. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment post: tags: - Close a Batch summary: Close a Batch using the Global Payments Batch id. description: "Closing a batch results in commencement of funding to the merchant all the transactions in that batch.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: closeSingleBatch parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object title: Close Response properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 status: type: string enum: - OPEN - CLOSED description: | Indicates where a batch is in its life cycle. *`OPEN` - Batch is open and can accept more transactions. *`CLOSED` - Batch is closed and cannot accept more transactions. example: OPEN time_created: type: string description: Time indicating when the batch was created in ISO-8601 format.. format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the batch was last updated in ISO-8601 format.. format: date-time maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_closed: type: string description: Time indicating when the batch was closed format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' open_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that opened the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d close_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that closed the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 transaction_count: type: number description: The number of transactions in the batch. example: 126 amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12000' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 123 amount: type: string description: The total amount of Sale transactions. example: '12300' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions. example: 100 amount: type: string description: The total amount of Debit card transactions. example: '10000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions. example: 26 amount: type: string description: The total amount of Credit card transactions. example: '2300' brand_breakdown: type: array items: type: object properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions for this brand. example: 80 amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions for this brand. example: 3 amount: type: string description: The total amount of Refund transactions for this brand. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' host_breakdown: type: object properties: merchant_name: type: string description: The merchant name that is associated with the batch. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. reference: type: string description: A reference for the batch from the host. amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12300' count: type: number description: The number of transactions in the batch. example: 126 funding_debit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 80 amount: type: string description: The total amount of Sale transactions. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_credit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 0 amount: type: string description: The total amount of Sale transactions. refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/batches//transactions': get: tags: - Get Transactions Within a Batch summary: Get a List of Transactions Within a Batch description: Get the details of all transactions within a given Batch. 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. operationId: get-batches-id-transactions parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object title: transaction_batch_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 batch_transaction_count: type: number description: The number of transactions in the batch. example: 126 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 filter: type: object properties: batch_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 transactions: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - BATCHED - CAPTURED description: | Indicates where a transaction is in its lifecycle. * `BATCHED `- A Transaction has been successfully Batched * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. minLength: 1 maxLength: 50 example: BATCHED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '500' cashback_amount: type: string description: The amount of the transaction that relates to cashback. minLength: 1 maxLength: 50 example: '11099' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app examples: List of Transactions within a Batch: value: total_record_count: 1000 batch_transaction_count: 126 merchant_id: MER_A6A1EC44522F96630ABEA17A merchant_name: ABC INDUSTRIES account_id: TRA_86920f927028745yt34d077d88beb29b account_name: transaction_processing site_reference: string device_reference: string filter: batch_id: BAT_855049-899 transactions: - id: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: '2026-05-03T21:23:39.718Z' status: BATCHED type: SALE amount: '11099' tax_amount: string currency: USD gratuity_amount: '11099' surcharge_amount: '500' cashback_amount: '11099' reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: name: JANE DOE entry_mode: ECOM card: funding: CREDIT brand: VISA masked_number_first6last4: 426397xxxxxx5262 authcode: string cvv_result: MATCHED avs_address: string avs_address_result: MATCHED avs_postal_code_result: MATCHED action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: BATCH_LIST time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. /batches: post: tags: - Close a Batch summary: Close a Batch without using the Global Payments Batch id description: "Closing a batch results in commencement of funding to the merchant all the transactions in that batch. Here you can close the current open batch without the unique batch id.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live.\r\n" operationId: post-batches parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: description: '' content: application/json: schema: type: object properties: account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 example: CP currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: '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.' example: US payment_methods: type: array description: Indicates the Payment Methods used to carry out the transactions in the batch items: type: string enum: - CARD - DIGITAL_WALLET - APM - BANK_TRANSFER - BNPL - NETWORK_TOKEN x-examples: Example 1: account_name: transaction_account channel: CNP currency: MXN country: MX payment_methods: - APM examples: 'Close a Batch ': value: account_name: transaction_account channel: CNP currency: MXN country: MX payment_methods: - APM responses: '200': description: OK content: application/json: schema: type: object title: Close Response properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 status: type: string enum: - OPEN - CLOSED description: | Indicates where a batch is in its life cycle. *`OPEN` - Batch is open and can accept more transactions. *`CLOSED` - Batch is closed and cannot accept more transactions. example: OPEN time_created: type: string description: Time indicating when the batch was created in ISO-8601 format.. format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the batch was last updated in ISO-8601 format.. format: date-time maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_closed: type: string description: Time indicating when the batch was closed format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' open_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that opened the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d close_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that closed the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 transaction_count: type: number description: The number of transactions in the batch. example: 126 amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12000' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 123 amount: type: string description: The total amount of Sale transactions. example: '12300' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions. example: 100 amount: type: string description: The total amount of Debit card transactions. example: '10000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions. example: 26 amount: type: string description: The total amount of Credit card transactions. example: '2300' brand_breakdown: type: array items: type: object properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions for this brand. example: 80 amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions for this brand. example: 3 amount: type: string description: The total amount of Refund transactions for this brand. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' host_breakdown: type: object properties: merchant_name: type: string description: The merchant name that is associated with the batch. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. reference: type: string description: A reference for the batch from the host. amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12300' count: type: number description: The number of transactions in the batch. example: 126 funding_debit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 80 amount: type: string description: The total amount of Sale transactions. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_credit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 0 amount: type: string description: The total amount of Sale transactions. refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Get a Batch - name: Close a Batch components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: id_BATCHES.id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 GetResponse: type: object title: GetResponse properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 status: type: string enum: - OPEN - CLOSED description: | Indicates where a batch is in its life cycle. *`OPEN` - Batch is open and can accept more transactions. *`CLOSED` - Batch is closed and cannot accept more transactions. example: OPEN time_created: type: string description: Time indicating when the batch was created in ISO-8601 format.. format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_closed: type: string description: Time indicating when the batch was closed format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' open_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that opened the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d close_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that closed the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 batch_transaction_count: type: number description: The number of transactions in the batch. example: 126 amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12000' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 123 amount: type: string description: The total amount of Sale transactions. example: '12300' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions. example: 100 amount: type: string description: The total amount of Debit card transactions. example: '10000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions. example: 26 amount: type: string description: The total amount of Credit card transactions. example: '2300' brand_breakdown: type: array items: type: object properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions for this brand. example: 80 amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions for this brand. example: 3 amount: type: string description: The total amount of Refund transactions for this brand. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} status_BATCHES.status: type: string enum: - OPEN - CLOSED description: | Indicates where a batch is in its life cycle. *`OPEN` - Batch is open and can accept more transactions. *`CLOSED` - Batch is closed and cannot accept more transactions. example: OPEN time_created_BATCHES.time_created: type: string description: Time indicating when the batch was created in ISO-8601 format.. format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_closed_BATCHES.time_closed: type: string description: Time indicating when the batch was closed format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' open_action_id_BATCHES.open_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that opened the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d close_action_id_BATCHES.close_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that closed the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d merchant_id_BATCHES.merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name_BATCHES.merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id_BATCHES.account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name_BATCHES.account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference_BATCHES.site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference_BATCHES.device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 batch_transaction_count_BATCHES.batch_transaction_count: type: number description: The number of transactions in the batch. example: 126 amount_BATCHES.amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12000' currency_BATCHES.currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD gratuity_amount_BATCHES.gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '500' count_BATCHES.sales.count: type: number description: The total number of Sale transactions. example: 123 amount_BATCHES.sales.amount: type: string description: The total amount of Sale transactions. example: '12300' count_BATCHES.refunds.count: type: number description: The total number of Refund transactions. example: 3 amount_BATCHES.refunds.amount: type: string description: The total amount of Refund transactions. example: '300' count_BATCHES.funding_debit.count: type: number description: The total number of Debit card transactions. example: 100 amount_BATCHES.funding_debit.amount: type: string description: The total amount of Debit card transactions. example: '10000' count_BATCHES.funding_credit.count: type: number description: The total number of Credit card transactions. example: 26 amount_BATCHES.funding_credit.amount: type: string description: The total amount of Credit card transactions. example: '2300' brand_breakdown_item: type: object properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions for this brand. example: 80 amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions for this brand. example: 3 amount: type: string description: The total amount of Refund transactions for this brand. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' brand_BATCHES.brand_breakdown.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount_BATCHES.brand_breakdown.amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count_BATCHES.brand_breakdown.count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount_BATCHES.brand_breakdown.gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' count_BATCHES.brand_breakdown.sales.count: type: number description: The total number of Sale transactions for this brand. example: 80 amount_BATCHES.brand_breakdown.sales.amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' count_BATCHES.brand_breakdown.refunds.count: type: number description: The total number of Refund transactions for this brand. example: 3 amount_BATCHES.brand_breakdown.refunds.amount: type: string description: The total amount of Refund transactions for this brand. example: '300' count_BATCHES.brand_breakdown.funding_debit.count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount_BATCHES.brand_breakdown.funding_debit.amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' count_BATCHES.brand_breakdown.funding_credit.count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount_BATCHES.brand_breakdown.funding_credit.amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' id_BATCHES.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_BATCHES.action.type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created_BATCHES.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code_BATCHES.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id_BATCHES.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_BATCHES.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app CloseResponse: type: object title: Close Response properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 status: type: string enum: - OPEN - CLOSED description: | Indicates where a batch is in its life cycle. *`OPEN` - Batch is open and can accept more transactions. *`CLOSED` - Batch is closed and cannot accept more transactions. example: OPEN time_created: type: string description: Time indicating when the batch was created in ISO-8601 format.. format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the batch was last updated in ISO-8601 format.. format: date-time maxLength: 50 example: '2021-05-03T21:23:39.718Z' time_closed: type: string description: Time indicating when the batch was closed format: date-time minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' open_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that opened the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d close_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that closed the batch. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 transaction_count: type: number description: The number of transactions in the batch. example: 126 amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12000' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 123 amount: type: string description: The total amount of Sale transactions. example: '12300' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions. example: 100 amount: type: string description: The total amount of Debit card transactions. example: '10000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions. example: 26 amount: type: string description: The total amount of Credit card transactions. example: '2300' brand_breakdown: type: array items: type: object properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that this batch summary pertains to. minLength: 1 maxLength: 50 example: VISA amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '8300' count: type: number description: The number of transactions in the batch for this brand. example: 83 gratuity_amount: type: string description: The amount that is an aggregation of all the transactions' gratuity amounts in the batch for this brand. It is always represented in the lowest denomination of the related currency. example: '500' sales: type: object properties: count: type: number description: The total number of Sale transactions for this brand. example: 80 amount: type: string description: The total amount of Sale transactions for this brand. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions for this brand. example: 3 amount: type: string description: The total amount of Refund transactions for this brand. example: '300' funding_debit: type: object properties: count: type: number description: The total number of Debit card transactions for this brand. example: 80 amount: type: string description: The total amount of Debit card transactions for this brand. example: '8000' funding_credit: type: object properties: count: type: number description: The total number of Credit card transactions for this brand. example: 3 amount: type: string description: The total amount of Credit card transactions for this brand. example: '300' host_breakdown: type: object properties: merchant_name: type: string description: The merchant name that is associated with the batch. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. reference: type: string description: A reference for the batch from the host. amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12300' count: type: number description: The number of transactions in the batch. example: 126 funding_debit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 80 amount: type: string description: The total amount of Sale transactions. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_credit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 0 amount: type: string description: The total amount of Sale transactions. refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} time_last_updated_BATCHES.time_last_updated: type: string description: Global Payments time indicating when the batch was last updated in ISO-8601 format.. format: date-time maxLength: 50 example: '2021-05-03T21:23:39.718Z' host_breakdown_item: type: object properties: merchant_name: type: string description: The merchant name that is associated with the batch. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. reference: type: string description: A reference for the batch from the host. amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12300' count: type: number description: The number of transactions in the batch. example: 126 funding_debit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 80 amount: type: string description: The total amount of Sale transactions. example: '8000' refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' funding_credit: type: object properties: sales: type: object properties: count: type: number description: The total number of Sale transactions. example: 0 amount: type: string description: The total amount of Sale transactions. refunds: type: object properties: count: type: number description: The total number of Refund transactions. example: 3 amount: type: string description: The total amount of Refund transactions. example: '300' merchant_name_BATCHES.host_breakdown.merchant_name: type: string description: The merchant name that is associated with the batch. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. reference_BATCHES.host_breakdown.reference: type: string description: A reference for the batch from the host. amount_BATCHES.host_breakdown.amount: type: string description: The batch amount that is an aggregation of all the transactions' amounts in the batch. It is always represented in the lowest denomination of the related currency. example: '12300' count_BATCHES.host_breakdown.funding_debit.sales.count: type: number description: The total number of Sale transactions. example: 80 amount_BATCHES.host_breakdown.funding_debit.sales.amount: type: string description: The total amount of Sale transactions. example: '8000' count_BATCHES.host_breakdown.funding_credit.sales.count: type: number description: The total number of Sale transactions. example: 0 amount_BATCHES.host_breakdown.funding_credit.sales.amount: type: string description: The total amount of Sale transactions. transaction_batch_response: type: object title: transaction_batch_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 batch_transaction_count: type: number description: The number of transactions in the batch. example: 126 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing site_reference: type: string description: A reference for the location that created the batch. minLength: 1 maxLength: 50 device_reference: type: string description: A reference for the device that created the batch minLength: 1 maxLength: 50 filter: type: object properties: batch_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: BAT_855049-899 transactions: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - BATCHED - CAPTURED description: | Indicates where a transaction is in its lifecycle. * `BATCHED `- A Transaction has been successfully Batched * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. minLength: 1 maxLength: 50 example: BATCHED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '500' cashback_amount: type: string description: The amount of the transaction that relates to cashback. minLength: 1 maxLength: 50 example: '11099' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - BATCH_SINGLE - CLOSE - BATCH_LIST description: Indicates the specific action taken. example: BATCH_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 id_BATCHES.transactions.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created_BATCHES.transactions.time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status_BATCHES.transactions.status: type: string enum: - BATCHED - CAPTURED description: | Indicates where a transaction is in its lifecycle. * `BATCHED `- A Transaction has been successfully Batched * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. minLength: 1 maxLength: 50 example: BATCHED type_BATCHES.transactions.type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount_BATCHES.transactions.amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' tax_amount_BATCHES.transactions.tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 currency_BATCHES.transactions.currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD gratuity_amount_BATCHES.transactions.gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' surcharge_amount_BATCHES.transactions.surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '500' cashback_amount_BATCHES.transactions.cashback_amount: type: string description: The amount of the transaction that relates to cashback. minLength: 1 maxLength: 50 example: '11099' reference_BATCHES.transactions.reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e name_BATCHES.transactions.payment_method.name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode_BATCHES.transactions.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM funding_BATCHES.transactions.payment_method.card.funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT brand_BATCHES.transactions.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA masked_number_first6last4_BATCHES.transactions.payment_method.card.masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 authcode_BATCHES.transactions.payment_method.card.authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 cvv_result_BATCHES.transactions.payment_method.card.cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_BATCHES.transactions.payment_method.card.avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_address_result_BATCHES.transactions.payment_method.card.avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result_BATCHES.transactions.payment_method.card.avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED channel_BATCHES.channel: type: string enum: - CP - CNP description: | 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 example: CP country_BATCHES.country: type: string enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW description: '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.' example: US payment_methods_BATCHES.payment_methods: type: array description: Indicates the Payment Methods used to carry out the transactions in the batch items: type: string enum: - CARD - DIGITAL_WALLET - APM - BANK_TRANSFER - BNPL - NETWORK_TOKEN objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. ``` ## Consents Source: https://developer.globalpayments.com/api/consents.md # Consents ```yaml openapi: 3.0.3 info: version: '1.0' title: Consents description: 'Consents enable merchants to obtain explicit authorization from payers, allowing Global Payments to collect, use, and disclose their personal information for defined purposes like fraud detection and prevention, transaction processing. ' x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /consents: post: tags: - Create a Consent summary: Create a Consent description: Merchant will create consent with Global Payments to take authorisation from Payer to initiate the payment process. operationId: post-consents parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: content: application/json: schema: type: object title: createRequest properties: account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b channel: type: string enum: - CP - CNP description: Describes whether the transaction was processed in a face to face(CP) scenario or a Customer Not Present (CNP) scenario. default: CNP example: CNP merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with. minLength: 1 maxLength: 50 delivery_timeframe: type: string enum: - STANDARD - EXPRESS description: Shipping method for the product. shipping_type: type: string enum: - SINGLE - SPLIT - NONE description: Indicates how the merchandise will be shipped to the customer. shipping_cost: type: string description: Shipping Cost of the order. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 items: type: array items: type: object properties: label: type: string description: A label / name asociated with the items being purchased. minLength: 1 maxLength: 50 reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 type: type: string enum: - GIFT_CARD - CRYPTO_CURRENCY - TOP_UP - OTHER description: Type of item amount: type: string description: A total amount of a specific group of items being purchased with the order minLength: 1 maxLength: 50 quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 payment_type: type: string enum: - SINGLE - SPLIT - RECURRING description: The payment type of the item purchased with order recurring: type: object properties: type: type: string enum: - SUBSCRIPTION - TOP_UP - ELECTRONIC_BILL_PAYMENT - PAY_AS_YOU_GO description: The nature of the recurring transaction that the customer is initiating. amount_capped: type: string description: | Specifies the max amount the customer can be charged per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified * The value must be greater than amount value * The value in amount_variance is ignored minLength: 1 maxLength: 50 amount_variance: type: string description: Specifies in % that the accepted variance in the amount per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified this value is ignored. example: '100' interval: type: string enum: - DAY - WEEK - MONTH description: Interval of the payments in the billing cycle for RECURRING. interval_count: type: number description: 'The waiting interval between payments for the RECURRING transactions.For example, interval=MONTH and interval_count=3 bills every 3 months.' day_of_month: type: number description: Day of month that the RECURRING payment occurs on. Required if bothfrequency_type is MONTHday_of_week or week_of_month is not specified example: 1 day_of_week: type: string enum: - SUN - MON - TUE - WED - THU - FRI - SAT description: | Day of week that the RECURRING payment occurs on. Required if both frequency_type is WEEK frequency_type is MONTH and day_of_month is not specified week_of_month: type: string enum: - FIRST - SECOND - THIRD - FOURTH - LAST description: | Week of the month that the RECURRING payment occurs on. Required under the following conditions * frequency_type is MONTH * day_of_week is specified and day_of_month is not specified start_date: type: string description: Start date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z end_date: type: string description: End date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z max_count: type: string description: Total number of payments in the RECURRING setup. required: - amount required: - reference - shipping_type - amount - currency addresses: type: array items: type: object properties: functions: type: array description: Describes the functions that an address can have. * BUSINESS - The business address of the merchant items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - SHIPPING - LEGAL reference: type: string description: The reference used for the address. It can also be a Store ID. minLength: 1 maxLength: 50 example: 52478961 building_name: type: string description: 'The name associated with the address home/building, Example The name of the store/merchant making the request.' minLength: 1 maxLength: 50 line_1: type: string description: 'First line of address. Specifies Apartment, Suite or Unit number' minLength: 1 maxLength: 255 line_2: type: string description: Second line of address. Specifies street number. minLength: 1 maxLength: 255 line_3: type: string description: Third line of address. Specifies street name. minLength: 1 maxLength: 255 city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, CA Ontario ON, CA Queec QC, etc' minLength: 1 maxLength: 255 postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 country: type: string description: 'The country in ISO-3166-1(alpha-2 code) format. Example US, CA' minLength: 1 maxLength: 255 po_box_number: type: string description: A PO Box number to receive mail and packages minLength: 1 maxLength: 255 contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 required: - reference - building_name - postal_code - country fees: type: array items: type: object properties: name: type: string description: Name of the fee included minLength: 1 maxLength: 50 amount: type: string description: Any additional fee amount merchant included. minLength: 1 maxLength: 50 payment_method: type: object properties: digital_wallet: type: object properties: provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 supported_payment_methods: type: array description: Specifies the list of payment methods the merchant supports for the transaction items: type: string enum: - VISA_CREDIT - VISA_DEBIT - MASTERCARD_CREDIT - MASTERCARD_DEBIT - AMEX_CREDIT - BANK_TRANSFER_SAVINGS - BANK_TRANSFER_CHECKING - BANK_TRANSFER_LINE_OF_CREDIT required: - account_name - reference - payment_method - supported_payment_methods examples: Create a Consent: value: account_name: transaction_processing channel: CNP reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_category_code: String addresses: - functions: - BUSINESS building_name: Winners reference: Clothing store line_1: ' ' line_2: '11' line_3: Shrubsall St city: Cambridge state: 'ON' postal_code: N1T 0G9 country: Canada po_box_number: '1234' order: reference: James_order delivery_timeframe: STANDARD shipping_type: SINGLE shipping_cost: '600' amount: '10000' currency: CAD tax_amount: '700' item_amount: '7000' items: - label: T-shit Red reference: ORD-23455 type: OTHER amount: '1250' quantity: '2' descritpion: Red t-shirt Zango payment_type: RECURRING recurring: type: SUBSCRIPTION amount_capped: '7000' amount_variance: '10' interval: MONTH interval_count: 1 day_of_month: 5 day_of_week: MON week_of_month: FIRST start_date: 2026-05-03T212339.718Z end_date: ' 2026-09-03T212339.718Z' max_count: '6' fees: - name: fast track fee amount: '200' - name: gift wrap fee amount: '100' payment_method: digital_wallet: provider: KONEK supported_payment_methods: - MASTERCARD_CREDIT - MASTERCARD_DEBIT - VISA_CREDIT - VISA_DEBIT - AMEX_CREDIT - BANK_TRANSFER_SAVINGS - BANK_TRANSFER_CHECKING - BANK_TRANSFER_LINE_OF_CREDIT responses: '200': description: '' content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Global Payments generated time indicating when the consent was created in ISO-8601 format example: 2026-05-03T212339.718Z status: type: string enum: - INITIATED - APPROVED - CANCELLED - DECLINED - ACTIVE description: Status of the consent merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: James_Mason49 account_id: type: string description: A unique identifier that is used to identify and reference an instance of the resource which would would hold the permission and configuration to perform the action. Example TRA_uid minLength: 1 maxLength: 50 example: transaction_processing account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ device: type: object properties: session_reference: type: string description: A unique identifier generated by the provider for initiationg device profiling. minLength: 1 maxLength: 255 order: type: object properties: amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 payment_method: type: object properties: digital_wallet: type: object properties: provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 reference: type: string description: The consent ID returned by provider. Merchant will use this reference to launch the KONEK UI. provider_reference: type: string description: The unique identifier generated by proider to trace the consent delivery process. Merchant will use this reference to launch the KONEK UI. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - CONSENT_CREATE - CONSENT_CANCEL - CONSENT_SINGLE description: Indicates the specific action taken. minLength: 1 maxLength: 50 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: 2026-05-03T212339.718Z result_code: type: string enum: - SUCCESS description: The result of the action executed. SUCCESS - indicates the action executed successfully. minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the access token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app examples: Create Consent: value: id: CON_2ee5480308664428bef46d1094f22adc time_created: '2021-05-03T21:23:39.718Z' status: INITIATED merchant_id: MER_A6A1EC44522F96630ABEA17A merchant_name: ABC INDUSTRIES account_id: TRA_86920f927028745yt34d077d88beb29b account_name: transaction_processing reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e dba: merchantname device: session_reference: device_profile_session_id order: amount: '10000' currency: CAD tax_amount: '600' item_amount: '6000' payment_method: digital_wallet: provider: KONEK reference: 2ee5480308664428bef46d1094f22adc provider_reference: 2ee54803086tyui4567d1094f22adc action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: CONSENT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app headers: x_global_transaction_id: schema: type: string description: unique ID generated by gloal payments for the for the request x_global_transaction_id_source: schema: type: string description: Name of the source system generation the Unique ID '400': description: Bad Request servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/consents/': get: tags: - Get a Consent summary: Get a Consent description: Merchant can get consent details from Global Payments. operationId: get-consents-id parameters: - name: id in: path description: Unique Global Payments generated id used to reference a consent on the Global Payments system. Often referred to as the consent id. required: true schema: type: string - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Global Payments generated time indicating when the consent was created in ISO-8601 format example: 2026-05-03T212339.718Z time_last_updated: type: string description: Global Payments generated time indicating when the consent was updated in ISO-8601 format example: 2026-05-03T212339.718Z status: type: string enum: - INITIATED - APPROVED - CANCELLED - DECLINED - ACTIVE description: Status of the consent status_description: type: string description: A further description of the status of a consent. merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 account_id: type: string description: A unique identifier that is used to identify and reference an instance of the resource which would would hold the permission and configuration to perform the action. Example TRA_uid minLength: 1 maxLength: 50 example: transaction_processing account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 addresses: type: array items: type: object properties: functions: type: array items: type: string building_name: type: string description: 'The name associated with the address home/building, Example The name of the store/merchant making the request.' minLength: 1 maxLength: 50 reference: type: string description: The reference used for the address. It can also be a Store ID. minLength: 1 maxLength: 50 example: 52478961 line_1: type: string description: 'First line of address. Specifies Apartment, Suite or Unit number' minLength: 1 maxLength: 255 line_2: type: string description: Second line of address. Specifies street number. minLength: 1 maxLength: 255 line_3: type: string description: Third line of address. Specifies street name. minLength: 1 maxLength: 255 city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, CA Ontario ON, CA Queec QC, etc' minLength: 1 maxLength: 255 postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 country: type: string description: 'The country in ISO-3166-1(alpha-2 code) format. Example US, CA' minLength: 1 maxLength: 255 po_box_number: type: string description: A PO Box number to receive mail and packages minLength: 1 maxLength: 255 name: type: string description: The recipient name minLength: 1 maxLength: 50 order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with. minLength: 1 maxLength: 50 delivery_timeframe: type: string enum: - STANDARD - EXPRESS description: Shipping method for the product. shipping_type: type: string enum: - SINGLE - SPLIT - NONE description: Indicates how the merchandise will be shipped to the customer. shipping_cost: type: string description: Shipping Cost of the order. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 items: type: array items: type: object properties: label: type: string description: A label / name asociated with the items being purchased. minLength: 1 maxLength: 50 reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 type: type: string enum: - GIFT_CARD - CRYPTO_CURRENCY - TOP_UP - OTHER description: Type of item amount: type: string description: A total amount of a specific group of items being purchased with the order minLength: 1 maxLength: 50 quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 payment_type: type: string enum: - SINGLE - SPLIT - RECURRING description: The payment type of the item purchased with order recurring: type: object properties: type: type: string enum: - SUBSCRIPTION - TOP_UP - ELECTRONIC_BILL_PAYMENT - PAY_AS_YOU_GO description: The nature of the recurring transaction that the customer is initiating. amount_capped: type: string description: | Specifies the max amount the customer can be charged per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified * The value must be greater than amount value * The value in amount_variance is ignored minLength: 1 maxLength: 50 amount_variance: type: string description: Specifies in % that the accepted variance in the amount per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified this value is ignored. example: '100' interval: type: string enum: - DAY - WEEK - MONTH description: Interval of the payments in the billing cycle for RECURRING. interval_count: type: number description: 'The waiting interval between payments for the RECURRING transactions.For example, interval=MONTH and interval_count=3 bills every 3 months.' day_of_month: type: number description: Day of month that the RECURRING payment occurs on. Required if bothfrequency_type is MONTHday_of_week or week_of_month is not specified example: 1 day_of_week: type: string enum: - SUN - MON - TUE - WED - THU - FRI - SAT description: | Day of week that the RECURRING payment occurs on. Required if both frequency_type is WEEK frequency_type is MONTH and day_of_month is not specified week_of_month: type: string enum: - FIRST - SECOND - THIRD - FOURTH - LAST description: | Week of the month that the RECURRING payment occurs on. Required under the following conditions * frequency_type is MONTH * day_of_week is specified and day_of_month is not specified start_date: type: string description: Start date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z end_date: type: string description: End date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z max_count: type: string description: Total number of payments in the RECURRING setup. payer: type: object properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 email: type: string description: 'Email addresses of the payer,' minLength: 1 maxLength: 50 mobile_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 50 subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 account_type: type: string enum: - GUEST - REGISTERED description: | The type of user within provider system. * `GUEST`' - Payer chose to proceed as guest without creating profile. * `REGISTERED` - Payer is a registered user within provider system. age: type: number description: Age of the Payer. payment_method: type: object properties: digital_wallet: type: object properties: provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN - BANK_TRANSFER_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. * `BANK_TRANSFER_TOKEN ` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. masked_token_last4: type: string description: Masked token number with the last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5560 masked_number_last4: type: string description: Masked card number with the last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 brand: type: string enum: - VISA - MASTERCARD - AMEX - DISCOVER - DINER - JCB - CUP description: Indicates the card brand that issued the card. funding: type: string enum: - DEBIT - CREDIT description: Indicates how the card is funded * `DEBIT' - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT' - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. account_type: type: string enum: - SAVING - CHECKING - LINE_OF_CREDIT description: The type of bank account associated with the payer's bank account. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - CONSENT_CREATE - CONSENT_CANCEL - CONSENT_SINGLE description: Indicates the specific action taken. minLength: 1 maxLength: 50 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: 2026-05-03T212339.718Z result_code: type: string enum: - SUCCESS description: The result of the action executed. SUCCESS - indicates the action executed successfully. minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the access token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: Example 1: id: CON_cd1f16d0-b7ee-4a4c-8097-5579d61e721f time_created: '2021-05-03T21:23:39.718Z' time_last_updated: String status: APPROVED status_description: Cancelled by - FI merchant_id: MER_A6A1EC44522F96630ABEA17A merchant_name: ABC INDUSTRIES account_id: TRA_86920f927028745yt34d077d88beb29b account_name: transaction_processing reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_category_code: String addresses: - functions: - BUSINESS building_name: String reference: String line_1: String line_2: String line_3: String city: String state: String postal_code: String country: String po_box_numer: String - functions: - SHIPPING name: String reference: String line_1: String line_2: String line_3: String city: String state: String postal_code: String country: String po_box_numer: String order: reference: String delivery_timeframe: String shipping_type: String shipping_cost: String amount: String currency: String tax_amount: String first_amount: String items: - label: String reference: String type: String amount: String quantity: String descritpion: String payment_type: String recurring: type: String amount_capped: String amount_variance: String interval: String interval_count: String day_of_month: String day_of_week: String week_of_month: String interval_start_date: String interval_end_date: String max_count: String payer: first_name: String last_name: String email: String mobile_phone: country_code: String subscriber_number: String account_type: String age: String payment_method: digital_wallet: provider: KONEK token_format: CARD_TOKEN masked_token_last4: XXXXXXXXXXX9876 masked_number_last4: XXXXXXXX8765 brand: VISA funding: CREDIT account_type: String action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: CONSENT_SINGLE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app examples: Consent Details: value: id: CON_cd1f16d0-b7ee-4a4c-8097-5579d61e721f time_created: '2021-05-03T21:23:39.718Z' time_last_updated: String status: APPROVED status_description: Cancelled by - FI merchant_id: MER_A6A1EC44522F96630ABEA17A merchant_name: ABC INDUSTRIES account_id: TRA_86920f927028745yt34d077d88beb29b account_name: transaction_processing reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_category_code: String addresses: - functions: - BUSINESS building_name: Winners reference: Clothing store line_1: ' ' line_2: '11' line_3: Shrubsall St city: Cambridge state: 'ON' postal_code: N1T 0G9 country: Canada po_box_numer: '1234' - functions: - SHIPPING name: James Mason reference: Home Address line_1: '716' line_2: ' ' line_3: Main St E city: Milton state: 'ON' postal_code: L9T 0G9 country: CA po_box_numer: String order: reference: James_order delivery_timeframe: STANDARD shipping_type: SINGLE shipping_cost: '600' amount: '10000' currency: CAD tax_amount: '700' item_amount: '7000' items: - label: T-shit Red reference: ORD-23455 type: OTHER amount: '1250' quantity: '2' descritpion: Red t-shirt Zango payment_type: RECURRING recurring: type: SUBSCRIPTION amount_capped: '7000' amount_variance: '10' interval: MONTH interval_count: 1 day_of_month: 5 day_of_week: MON week_of_month: FIRST start_date: 2026-05-03T212339.718Z end_date: ' 2026-09-03T212339.718Z' max_count: '6' payer: first_name: James last_name: Mason email: james.mason@test.com mobile_phone: country_code: '+1' subscriber_number: '9054628524' account_type: GUEST age: 35 payment_method: digital_wallet: provider: KONEK token_format: CARD_TOKEN masked_token_last4: XXXXXXXXXXX9876 masked_number_last4: XXXXXXXX8765 brand: VISA funding: CREDIT account_type: SAVING action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: CONSENT_SINGLE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/consents//cancel': post: tags: - Cancel a Consent summary: Cancel a Consent description: Merchant can cancel consent obtained previously with Global Payments. operationId: post-consents-id-cancel parameters: - name: id in: path description: Unique Global Payments generated id used to reference a consent on the Global Payments system. Often referred to as the consent id. required: true schema: type: string - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' requestBody: content: application/json: schema: type: object properties: reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 description: type: string description: The reason specified by the merchant for the cancellation of consent. minLength: 1 maxLength: 50 examples: Cancel Consent: value: reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e description: Cancelled by customer responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Global Payments generated time indicating when the consent was created in ISO-8601 format example: 2026-05-03T212339.718Z status: type: string enum: - INITIATED - APPROVED - CANCELLED - DECLINED - ACTIVE description: Status of the consent merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: James_Mason49 account_id: type: string description: A unique identifier that is used to identify and reference an instance of the resource which would would hold the permission and configuration to perform the action. Example TRA_uid minLength: 1 maxLength: 50 example: transaction_processing account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 description: type: string description: The reason specified by the merchant for the cancellation of consent. minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - CONSENT_CREATE - CONSENT_CANCEL - CONSENT_SINGLE description: Indicates the specific action taken. minLength: 1 maxLength: 50 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: 2026-05-03T212339.718Z result_code: type: string enum: - SUCCESS description: The result of the action executed. SUCCESS - indicates the action executed successfully. minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the access token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: Example 1: id: CON_cd1f16d0-b7ee-4a4c-8097-5579d61e721f time_created: '2021-05-03T21:23:39.718Z' status: CANCELLED merchant_id: MER_A6A1EC44522F96630ABEA17A merchant_name: ABC INDUSTRIES account_id: TRA_86920f927028745yt34d077d88beb29b account_name: transaction_processing reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e description: '' action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: CONSENT_CANCEL time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app examples: Cancel Consent: value: id: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: 2026-05-03T212339.718Z status: CANCELLED merchant_id: MER_880c34767b184d5e82b10e767201e648 merchant_name: James_Mason49 account_id: transaction_processing account_name: TRA_86920f927028745yt34d077d88beb29b reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e reason: Cancelled by customer action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: CONSENT_CANCEL time_created: 2026-05-03T212339.718Z result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json securitySchemes: bearerAuth: type: http scheme: bearer schemas: createRequest: type: object title: createRequest properties: account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b channel: type: string enum: - CP - CNP description: Describes whether the transaction was processed in a face to face(CP) scenario or a Customer Not Present (CNP) scenario. default: CNP example: CNP merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with. minLength: 1 maxLength: 50 delivery_timeframe: type: string enum: - STANDARD - EXPRESS description: Shipping method for the product. shipping_type: type: string enum: - SINGLE - SPLIT - NONE description: Indicates how the merchandise will be shipped to the customer. shipping_cost: type: string description: Shipping Cost of the order. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 items: type: array items: type: object properties: label: type: string description: A label / name asociated with the items being purchased. minLength: 1 maxLength: 50 reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 type: type: string enum: - GIFT_CARD - CRYPTO_CURRENCY - TOP_UP - OTHER description: Type of item amount: type: string description: A total amount of a specific group of items being purchased with the order minLength: 1 maxLength: 50 quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 payment_type: type: string enum: - SINGLE - SPLIT - RECURRING description: The payment type of the item purchased with order recurring: type: object properties: type: type: string enum: - SUBSCRIPTION - TOP_UP - ELECTRONIC_BILL_PAYMENT - PAY_AS_YOU_GO description: The nature of the recurring transaction that the customer is initiating. amount_capped: type: string description: | Specifies the max amount the customer can be charged per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified * The value must be greater than amount value * The value in amount_variance is ignored minLength: 1 maxLength: 50 amount_variance: type: string description: Specifies in % that the accepted variance in the amount per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified this value is ignored. example: '100' interval: type: string enum: - DAY - WEEK - MONTH description: Interval of the payments in the billing cycle for RECURRING. interval_count: type: number description: 'The waiting interval between payments for the RECURRING transactions.For example, interval=MONTH and interval_count=3 bills every 3 months.' day_of_month: type: number description: Day of month that the RECURRING payment occurs on. Required if bothfrequency_type is MONTHday_of_week or week_of_month is not specified example: 1 day_of_week: type: string enum: - SUN - MON - TUE - WED - THU - FRI - SAT description: | Day of week that the RECURRING payment occurs on. Required if both frequency_type is WEEK frequency_type is MONTH and day_of_month is not specified week_of_month: type: string enum: - FIRST - SECOND - THIRD - FOURTH - LAST description: | Week of the month that the RECURRING payment occurs on. Required under the following conditions * frequency_type is MONTH * day_of_week is specified and day_of_month is not specified start_date: type: string description: Start date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z end_date: type: string description: End date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z max_count: type: string description: Total number of payments in the RECURRING setup. required: - amount required: - reference - shipping_type - amount - currency addresses: type: array items: type: object properties: functions: type: array description: Describes the functions that an address can have. * BUSINESS - The business address of the merchant items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - SHIPPING - LEGAL reference: type: string description: The reference used for the address. It can also be a Store ID. minLength: 1 maxLength: 50 example: 52478961 building_name: type: string description: 'The name associated with the address home/building, Example The name of the store/merchant making the request.' minLength: 1 maxLength: 50 line_1: type: string description: 'First line of address. Specifies Apartment, Suite or Unit number' minLength: 1 maxLength: 255 line_2: type: string description: Second line of address. Specifies street number. minLength: 1 maxLength: 255 line_3: type: string description: Third line of address. Specifies street name. minLength: 1 maxLength: 255 city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, CA Ontario ON, CA Queec QC, etc' minLength: 1 maxLength: 255 postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 country: type: string description: 'The country in ISO-3166-1(alpha-2 code) format. Example US, CA' minLength: 1 maxLength: 255 po_box_number: type: string description: A PO Box number to receive mail and packages minLength: 1 maxLength: 255 contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 required: - reference - building_name - postal_code - country fees: type: array items: type: object properties: name: type: string description: Name of the fee included minLength: 1 maxLength: 50 amount: type: string description: Any additional fee amount merchant included. minLength: 1 maxLength: 50 payment_method: type: object properties: digital_wallet: type: object properties: provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 supported_payment_methods: type: array description: Specifies the list of payment methods the merchant supports for the transaction items: type: string enum: - VISA_CREDIT - VISA_DEBIT - MASTERCARD_CREDIT - MASTERCARD_DEBIT - AMEX_CREDIT - BANK_TRANSFER_SAVINGS - BANK_TRANSFER_CHECKING - BANK_TRANSFER_LINE_OF_CREDIT required: - account_name - reference - payment_method - supported_payment_methods account_name_CONSENTS.account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b channel_CONSENTS.channel: type: string enum: - CP - CNP description: Describes whether the transaction was processed in a face to face(CP) scenario or a Customer Not Present (CNP) scenario. default: CNP example: CNP merchant_category_code_CONSENTS.merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 reference_CONSENTS.reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 reference_CONSENTS.order.reference: type: string description: The merchant's reference for the order the transaction is associated with. minLength: 1 maxLength: 50 delivery_timeframe_CONSENTS.order.delivery_timeframe: type: string enum: - STANDARD - EXPRESS description: Shipping method for the product. shipping_type_CONSENTS.order.shipping_type: type: string enum: - SINGLE - SPLIT - NONE description: Indicates how the merchandise will be shipped to the customer. shipping_cost_CONSENTS.order.shipping_cost: type: string description: Shipping Cost of the order. minLength: 1 maxLength: 50 amount_CONSENTS.order.amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency_CONSENTS.order.currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount_CONSENTS.order.tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount_CONSENTS.order.item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 label_CONSENTS.order.items.label: type: string description: A label / name asociated with the items being purchased. minLength: 1 maxLength: 50 reference_CONSENTS.order.items.reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 type_CONSENTS.order.items.type: type: string enum: - GIFT_CARD - CRYPTO_CURRENCY - TOP_UP - OTHER description: Type of item amount_CONSENTS.order.items.amount: type: string description: A total amount of a specific group of items being purchased with the order minLength: 1 maxLength: 50 quantity_CONSENTS.order.items.quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 description_CONSENTS.order.items.description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 payment_type_CONSENTS.order.items.payment_type: type: string enum: - SINGLE - SPLIT - RECURRING description: The payment type of the item purchased with order type_CONSENTS.order.items.recurring.type: type: string enum: - SUBSCRIPTION - TOP_UP - ELECTRONIC_BILL_PAYMENT - PAY_AS_YOU_GO description: The nature of the recurring transaction that the customer is initiating. amount_capped_CONSENTS.order.items.recurring.amount_capped: type: string description: | Specifies the max amount the customer can be charged per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified * The value must be greater than amount value * The value in amount_variance is ignored minLength: 1 maxLength: 50 amount_variance_CONSENTS.order.items.recurring.amount_variance: type: string description: Specifies in % that the accepted variance in the amount per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified this value is ignored. example: '100' interval_CONSENTS.order.items.recurring.interval: type: string enum: - DAY - WEEK - MONTH description: Interval of the payments in the billing cycle for RECURRING. interval_count_CONSENTS.order.items.recurring.interval_count: type: number description: 'The waiting interval between payments for the RECURRING transactions.For example, interval=MONTH and interval_count=3 bills every 3 months.' day_of_month_CONSENTS.order.items.recurring.day_of_month: type: number description: Day of month that the RECURRING payment occurs on. Required if bothfrequency_type is MONTHday_of_week or week_of_month is not specified example: 1 day_of_week_CONSENTS.order.items.recurring.day_of_week: type: string enum: - SUN - MON - TUE - WED - THU - FRI - SAT description: | Day of week that the RECURRING payment occurs on. Required if both frequency_type is WEEK frequency_type is MONTH and day_of_month is not specified week_of_month_CONSENTS.order.items.recurring.week_of_month: type: string enum: - FIRST - SECOND - THIRD - FOURTH - LAST description: | Week of the month that the RECURRING payment occurs on. Required under the following conditions * frequency_type is MONTH * day_of_week is specified and day_of_month is not specified start_date_CONSENTS.order.items.recurring.start_date: type: string description: Start date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z end_date_CONSENTS.order.items.recurring.end_date: type: string description: End date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z max_count_CONSENTS.order.items.recurring.max_count: type: string description: Total number of payments in the RECURRING setup. functions_CONSENTS.addresses.functions: type: array description: Describes the functions that an address can have. * BUSINESS - The business address of the merchant items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - SHIPPING - LEGAL reference_CONSENTS.addresses.reference: type: string description: The reference used for the address. It can also be a Store ID. minLength: 1 maxLength: 50 example: 52478961 building_name_CONSENTS.addresses.building_name: type: string description: 'The name associated with the address home/building, Example The name of the store/merchant making the request.' minLength: 1 maxLength: 50 line_1_CONSENTS.addresses.line_1: type: string description: 'First line of address. Specifies Apartment, Suite or Unit number' minLength: 1 maxLength: 255 line_2_CONSENTS.addresses.line_2: type: string description: Second line of address. Specifies street number. minLength: 1 maxLength: 255 line_3_CONSENTS.addresses.line_3: type: string description: Third line of address. Specifies street name. minLength: 1 maxLength: 255 city_CONSENTS.addresses.city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 state_CONSENTS.addresses.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, CA Ontario ON, CA Queec QC, etc' minLength: 1 maxLength: 255 postal_code_CONSENTS.addresses.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 country_CONSENTS.addresses.country: type: string description: 'The country in ISO-3166-1(alpha-2 code) format. Example US, CA' minLength: 1 maxLength: 255 po_box_number_CONSENTS.addresses.po_box_number: type: string description: A PO Box number to receive mail and packages minLength: 1 maxLength: 255 country_code_CONSENTS.addresses.contact_phone.country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 subscriber_number_CONSENTS.addresses.contact_phone.subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 name_CONSENTS.fees.name: type: string description: Name of the fee included minLength: 1 maxLength: 50 amount_CONSENTS.fees.amount: type: string description: Any additional fee amount merchant included. minLength: 1 maxLength: 50 provider_CONSENTS.payment_method.digital_wallet.provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 supported_payment_methods_CONSENTS.supported_payment_methods: type: array description: Specifies the list of payment methods the merchant supports for the transaction items: type: string enum: - VISA_CREDIT - VISA_DEBIT - MASTERCARD_CREDIT - MASTERCARD_DEBIT - AMEX_CREDIT - BANK_TRANSFER_SAVINGS - BANK_TRANSFER_CHECKING - BANK_TRANSFER_LINE_OF_CREDIT createResponse: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Global Payments generated time indicating when the consent was created in ISO-8601 format example: 2026-05-03T212339.718Z status: type: string enum: - INITIATED - APPROVED - CANCELLED - DECLINED - ACTIVE description: Status of the consent merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: James_Mason49 account_id: type: string description: A unique identifier that is used to identify and reference an instance of the resource which would would hold the permission and configuration to perform the action. Example TRA_uid minLength: 1 maxLength: 50 example: transaction_processing account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ device: type: object properties: session_reference: type: string description: A unique identifier generated by the provider for initiationg device profiling. minLength: 1 maxLength: 255 order: type: object properties: amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 payment_method: type: object properties: digital_wallet: type: object properties: provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 reference: type: string description: The consent ID returned by provider. Merchant will use this reference to launch the KONEK UI. provider_reference: type: string description: The unique identifier generated by proider to trace the consent delivery process. Merchant will use this reference to launch the KONEK UI. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - CONSENT_CREATE - CONSENT_CANCEL - CONSENT_SINGLE description: Indicates the specific action taken. minLength: 1 maxLength: 50 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: 2026-05-03T212339.718Z result_code: type: string enum: - SUCCESS description: The result of the action executed. SUCCESS - indicates the action executed successfully. minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the access token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app id_CONSENTS.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created_CONSENTS.time_created: type: string description: Global Payments generated time indicating when the consent was created in ISO-8601 format example: 2026-05-03T212339.718Z status_CONSENTS.status: type: string enum: - INITIATED - APPROVED - CANCELLED - DECLINED - ACTIVE description: Status of the consent merchant_id_CONSENTS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name_CONSENTS.merchant_name: type: string description: The merchant name of the account that sent the transfer. example: James_Mason49 account_id_CONSENTS.account_id: type: string description: A unique identifier that is used to identify and reference an instance of the resource which would would hold the permission and configuration to perform the action. Example TRA_uid minLength: 1 maxLength: 50 example: transaction_processing dba_CONSENTS.dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ session_reference_CONSENTS.device.session_reference: type: string description: A unique identifier generated by the provider for initiationg device profiling. minLength: 1 maxLength: 255 reference_CONSENTS.payment_method.digital_wallet.reference: type: string description: The consent ID returned by provider. Merchant will use this reference to launch the KONEK UI. provider_reference_CONSENTS.payment_method.digital_wallet.provider_reference: type: string description: The unique identifier generated by proider to trace the consent delivery process. Merchant will use this reference to launch the KONEK UI. id_CONSENTS.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_CONSENTS.action.type: type: string enum: - CONSENT_CREATE - CONSENT_CANCEL - CONSENT_SINGLE description: Indicates the specific action taken. minLength: 1 maxLength: 50 time_created_CONSENTS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: 2026-05-03T212339.718Z result_code_CONSENTS.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. SUCCESS - indicates the action executed successfully. minLength: 1 maxLength: 50 app_id_CONSENTS.action.app_id: type: string description: The id of the app that was used to create the access token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_CONSENTS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app getresponse: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Global Payments generated time indicating when the consent was created in ISO-8601 format example: 2026-05-03T212339.718Z time_last_updated: type: string description: Global Payments generated time indicating when the consent was updated in ISO-8601 format example: 2026-05-03T212339.718Z status: type: string enum: - INITIATED - APPROVED - CANCELLED - DECLINED - ACTIVE description: Status of the consent status_description: type: string description: A further description of the status of a consent. merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 account_id: type: string description: A unique identifier that is used to identify and reference an instance of the resource which would would hold the permission and configuration to perform the action. Example TRA_uid minLength: 1 maxLength: 50 example: transaction_processing account_name: type: string description: A meaningful label that better identifies the GPAPI account. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b reference: type: string description: Merchant defined field to reference this consent request. minLength: 8 maxLength: 50 merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 addresses: type: array items: type: object properties: functions: type: array items: type: string building_name: type: string description: 'The name associated with the address home/building, Example The name of the store/merchant making the request.' minLength: 1 maxLength: 50 reference: type: string description: The reference used for the address. It can also be a Store ID. minLength: 1 maxLength: 50 example: 52478961 line_1: type: string description: 'First line of address. Specifies Apartment, Suite or Unit number' minLength: 1 maxLength: 255 line_2: type: string description: Second line of address. Specifies street number. minLength: 1 maxLength: 255 line_3: type: string description: Third line of address. Specifies street name. minLength: 1 maxLength: 255 city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, CA Ontario ON, CA Queec QC, etc' minLength: 1 maxLength: 255 postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 country: type: string description: 'The country in ISO-3166-1(alpha-2 code) format. Example US, CA' minLength: 1 maxLength: 255 po_box_number: type: string description: A PO Box number to receive mail and packages minLength: 1 maxLength: 255 name: type: string description: The recipient name minLength: 1 maxLength: 50 order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with. minLength: 1 maxLength: 50 delivery_timeframe: type: string enum: - STANDARD - EXPRESS description: Shipping method for the product. shipping_type: type: string enum: - SINGLE - SPLIT - NONE description: Indicates how the merchandise will be shipped to the customer. shipping_cost: type: string description: Shipping Cost of the order. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 items: type: array items: type: object properties: label: type: string description: A label / name asociated with the items being purchased. minLength: 1 maxLength: 50 reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 type: type: string enum: - GIFT_CARD - CRYPTO_CURRENCY - TOP_UP - OTHER description: Type of item amount: type: string description: A total amount of a specific group of items being purchased with the order minLength: 1 maxLength: 50 quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 payment_type: type: string enum: - SINGLE - SPLIT - RECURRING description: The payment type of the item purchased with order recurring: type: object properties: type: type: string enum: - SUBSCRIPTION - TOP_UP - ELECTRONIC_BILL_PAYMENT - PAY_AS_YOU_GO description: The nature of the recurring transaction that the customer is initiating. amount_capped: type: string description: | Specifies the max amount the customer can be charged per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified * The value must be greater than amount value * The value in amount_variance is ignored minLength: 1 maxLength: 50 amount_variance: type: string description: Specifies in % that the accepted variance in the amount per billing cycle for RECURRING. One of amount_capped and amount_variance must be specified. If amount_capped is specified this value is ignored. example: '100' interval: type: string enum: - DAY - WEEK - MONTH description: Interval of the payments in the billing cycle for RECURRING. interval_count: type: number description: 'The waiting interval between payments for the RECURRING transactions.For example, interval=MONTH and interval_count=3 bills every 3 months.' day_of_month: type: number description: Day of month that the RECURRING payment occurs on. Required if bothfrequency_type is MONTHday_of_week or week_of_month is not specified example: 1 day_of_week: type: string enum: - SUN - MON - TUE - WED - THU - FRI - SAT description: | Day of week that the RECURRING payment occurs on. Required if both frequency_type is WEEK frequency_type is MONTH and day_of_month is not specified week_of_month: type: string enum: - FIRST - SECOND - THIRD - FOURTH - LAST description: | Week of the month that the RECURRING payment occurs on. Required under the following conditions * frequency_type is MONTH * day_of_week is specified and day_of_month is not specified start_date: type: string description: Start date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z end_date: type: string description: End date of the RECURRING payment.Format ISO-8601 format. example: 2026-05-03T212339.718Z max_count: type: string description: Total number of payments in the RECURRING setup. payer: type: object properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 email: type: string description: 'Email addresses of the payer,' minLength: 1 maxLength: 50 mobile_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 50 subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 account_type: type: string enum: - GUEST - REGISTERED description: | The type of user within provider system. * `GUEST`' - Payer chose to proceed as guest without creating profile. * `REGISTERED` - Payer is a registered user within provider system. age: type: number description: Age of the Payer. payment_method: type: object properties: digital_wallet: type: object properties: provider: type: string description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN - BANK_TRANSFER_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. * `BANK_TRANSFER_TOKEN ` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. masked_token_last4: type: string description: Masked token number with the last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5560 masked_number_last4: type: string description: Masked card number with the last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 brand: type: string enum: - VISA - MASTERCARD - AMEX - DISCOVER - DINER - JCB - CUP description: Indicates the card brand that issued the card. funding: type: string enum: - DEBIT - CREDIT description: Indicates how the card is funded * `DEBIT' - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT' - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. account_type: type: string enum: - SAVING - CHECKING - LINE_OF_CREDIT description: The type of bank account associated with the payer's bank account. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - CONSENT_CREATE - CONSENT_CANCEL - CONSENT_SINGLE description: Indicates the specific action taken. minLength: 1 maxLength: 50 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: 2026-05-03T212339.718Z result_code: type: string enum: - SUCCESS description: The result of the action executed. SUCCESS - indicates the action executed successfully. minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the access token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: Example 1: id: CON_cd1f16d0-b7ee-4a4c-8097-5579d61e721f time_created: '2021-05-03T21:23:39.718Z' time_last_updated: String status: APPROVED status_description: Cancelled by - FI merchant_id: MER_A6A1EC44522F96630ABEA17A merchant_name: ABC INDUSTRIES account_id: TRA_86920f927028745yt34d077d88beb29b account_name: transaction_processing reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e merchant_category_code: String addresses: - functions: - BUSINESS building_name: String reference: String line_1: String line_2: String line_3: String city: String state: String postal_code: String country: String po_box_numer: String - functions: - SHIPPING name: String reference: String line_1: String line_2: String line_3: String city: String state: String postal_code: String country: String po_box_numer: String order: reference: String delivery_timeframe: String shipping_type: String shipping_cost: String amount: String currency: String tax_amount: String first_amount: String items: - label: String reference: String type: String amount: String quantity: String descritpion: String payment_type: String recurring: type: String amount_capped: String amount_variance: String interval: String interval_count: String day_of_month: String day_of_week: String week_of_month: String interval_start_date: String interval_end_date: String max_count: String payer: first_name: String last_name: String email: String mobile_phone: country_code: String subscriber_number: String account_type: String age: String payment_method: digital_wallet: provider: KONEK token_format: CARD_TOKEN masked_token_last4: XXXXXXXXXXX9876 masked_number_last4: XXXXXXXX8765 brand: VISA funding: CREDIT account_type: String action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: CONSENT_SINGLE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app time_last_updated_CONSENTS.time_last_updated: type: string description: Global Payments generated time indicating when the consent was updated in ISO-8601 format example: 2026-05-03T212339.718Z status_description_CONSENTS.status_description: type: string description: A further description of the status of a consent. name_CONSENTS.addresses.name: type: string description: The recipient name minLength: 1 maxLength: 50 first_name_CONSENTS.payer.first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 last_name_CONSENTS.payer.last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 email_CONSENTS.payer.email: type: string description: 'Email addresses of the payer,' minLength: 1 maxLength: 50 country_code_CONSENTS.payer.mobile_phone.country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 50 account_type_CONSENTS.payer.account_type: type: string enum: - GUEST - REGISTERED description: | The type of user within provider system. * `GUEST`' - Payer chose to proceed as guest without creating profile. * `REGISTERED` - Payer is a registered user within provider system. age_CONSENTS.payer.age: type: number description: Age of the Payer. token_format_CONSENTS.payment_method.digital_wallet.token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN - BANK_TRANSFER_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. * `BANK_TRANSFER_TOKEN ` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. masked_token_last4_CONSENTS.payment_method.digital_wallet.masked_token_last4: type: string description: Masked token number with the last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5560 masked_number_last4_CONSENTS.payment_method.digital_wallet.masked_number_last4: type: string description: Masked card number with the last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 brand_CONSENTS.payment_method.digital_wallet.brand: type: string enum: - VISA - MASTERCARD - AMEX - DISCOVER - DINER - JCB - CUP description: Indicates the card brand that issued the card. funding_CONSENTS.payment_method.digital_wallet.funding: type: string enum: - DEBIT - CREDIT description: Indicates how the card is funded * `DEBIT' - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT' - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. account_type_CONSENTS.payment_method.digital_wallet.account_type: type: string enum: - SAVING - CHECKING - LINE_OF_CREDIT description: The type of bank account associated with the payer's bank account. description_CONSENTS.description: type: string description: The reason specified by the merchant for the cancellation of consent. minLength: 1 maxLength: 50 ``` ## Currency Conversions Source: https://developer.globalpayments.com/api/currency-conversion.md # Currency Conversion ```yaml openapi: 3.0.3 info: title: Currency Conversions description: 'Currency Conversions represent the conversion, or attempt to convert, a Transaction amount to the equivalent amount in the currency of the Payer. This is referred to as DCC for Dynamic Currency Conversion' contact: name: API Integrations url: 'https://developer.globalpay.com' email: api.integrations@globalpay.com version: 2021 03 22 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Convert Transaction Amount description: Request the conversion of a Sale or Refund Transaction amount to the equivalent amount in the currency of the Payer. - name: BIN Ranges List Download description: Download a list of BIN ranges that support Dynamic Currency Conversion (DCC). paths: /currency-conversions: post: operationId: requestDCC tags: - Convert Transaction Amount summary: Request the conversion of a Sale or Refund Transaction amount to the equivalent amount in the currency of the Payer. description: Request the conversion of a Sale or Refund Transaction amount to the equivalent amount in the currency of the Payer. parameters: - name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ - in: header name: X-GP-Idempotency description: 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. schema: description: 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. type: string minLength: 1 maxLength: 50 - in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 description: The version of the API to execute the request. - in: header name: Content-type description: Format of the message. required: true schema: description: Indicates the format of the message. type: string default: application/json requestBody: content: application/json: schema: required: - account_name - amount - channel - country - currency - payment_method - reference type: object properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: DCC minLength: 1 maxLength: 50 transaction_type: type: string description: | Describes 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. example: SALE default: SALE enum: - SALE - REFUND channel: type: string description: | 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 example: CNP enum: - CP - CNP country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: entry_mode: type: string description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * ECOM - A CNP channel entry mode where the payment method was obtained via a browser. * IN_APP - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * CHIP - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * SWIPE - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * MANUAL - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * CONTACTLESS_CHIP - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a cardon or near a device to exchange card information. * CONTACTLESS_SWIPE - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * PHONE - A CNP channel entry mode where the payment method was obtained over the phone. * MAIL - A CNP channel entry mode where the payment method was obtained via postal mail. example: ECOM enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE minLength: 1 maxLength: 50 card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 examples: DCC Rate Available: value: account_name: DCC channel: CNP amount: '10000' currency: USD country: US reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: name: James Mason entry_mode: ECOM card: number: '4006097467207025' expiry_month: '05' expiry_year: '25' DCC Rate Not Available: value: account_name: DCC channel: CNP amount: '10000' currency: USD country: US reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: name: James Mason entry_mode: ECOM card: number: '4263970000005262' expiry_month: '05' expiry_year: '25' required: true responses: '200': description: OK headers: Content-Type: schema: description: Indicates the format of the message. type: string default: application/json Content-Encoding: schema: description: Indicates if the message is compressed and using what compression mechanism. type: string default: gzip X-GP-Idempotency: schema: description: 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. type: string minLength: 1 maxLength: 50 X-GP-Version: schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 content: application/json: schema: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the transaction. example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 4 maxLength: 100 time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' model: type: string description: | The currency exchange rate model used. * FROM_TRANSACTION_CURRENCY - indicates the conversion was executed using from the currency and amount of the transaction. enum: - FROM_TRANSACTION_CURRENCY minLength: 0 maxLength: 50 status: type: string description: | Indicates where the currency conversion is in its lifecycle * AVAILABLE - A currency conversion is available. The next step is to offer the conversion details to the end user. * NOT_AVAILABLE - A currency conversion is not available. enum: - AVAILABLE - NOT_AVAILABLE minLength: 0 maxLength: 50 country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 transaction_type: type: string description: | Describes 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. example: SALE default: SALE enum: - SALE - REFUND channel: type: string description: | 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 example: CNP enum: - CP - CNP amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 minor_units: x-stoplight: id: 1mzyhnb2pp9a2 type: string example: '2' description: The number of decimal places of the payer currency. This field is intended for formatting and display purposes only. enum: - '0' - '2' - '3' formatted_amount: x-stoplight: id: 6q27feep0j54p type: string description: The payer amount formatted according to the number of minor units (decimal places) of that currency. This field is intended for formatting and display purposes only. example: '105.55' exchange_rate: type: string description: The exchange rate used to convert one currency to another. minLength: 0 maxLength: 50 example: '1.8117' payer_amount: type: string description: The amount that will affect the payer's account. minLength: 0 maxLength: 50 example: '223665' payer_currency: type: string description: The currency of the amount that will affect the payer's account. minLength: 0 maxLength: 50 example: AUD margin_rate_percentage: type: string description: The exchange rate used to convert one currency to another. minLength: 0 maxLength: 50 example: '03.7500' exchange_rate_source: type: string description: The source of the base exchange rate was obtained to execute the currency conversion. minLength: 0 maxLength: 50 example: REUTERS WHOLESALE INTERBANK exchange_rate_time_created: type: string description: The time the base exchange rate was obtained from the source. minLength: 0 maxLength: 50 example: '2018-08-20T11:18' commission_percentage: type: string description: The percentage commission taken for providing the currency conversion. minLength: 0 maxLength: 50 example: '00.0000' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string example: '00' description: Result code from the payment method provider. message: type: string example: Successful description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * ECOM - A CNP channel entry mode where the payment method was obtained via a browser. * IN_APP - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * CHIP - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * SWIPE - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * MANUAL - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * CONTACTLESS_CHIP - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a cardon or near a device to exchange card information. * CONTACTLESS_SWIPE - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * PHONE - A CNP channel entry mode where the payment method was obtained over the phone. * MAIL - A CNP channel entry mode where the payment method was obtained via postal mail. example: ECOM enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE minLength: 1 maxLength: 50 card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand: type: string description: Indicates the card brand that issued the card. enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP minLength: 0 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 '400': description: Bad Request content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found content: {} '500': description: Internal Server Error content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: description: Bad Gateway type: object properties: error_code: type: string description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM enum: - UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50002' enum: - '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: description: Timeout type: object properties: error_code: type: string description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM enum: - TIMEOUT_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50008' enum: - '50008' detailed_error_description: type: string description: No response from payment method provider. parameters: [] /currency-conversions/dcc-bin-ranges: get: summary: Download a list of Dynamic Currency Conversion (DCC) BIN ranges. operationId: Download-DCC-BIN-Ranges-List responses: '200': description: '' content: application/json: schema: type: object properties: time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' is_last_page: type: string description: Indicates whether there are more pages of BIN ranges available. example: 'NO' enum: - 'YES' - 'NO' time_retrieved: x-stoplight: id: e38v0cr2whtgq type: string description: 'Date the BIN ranges were obtained. For subsequent requests if this date is provided, only updates after this date will be returned. ' current_index: type: number description: The current index of the BIN table that has been returned. Can be used to obtain the next set of values by passing it as a search parameter in last_index. example: 20 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. maximum: 1000 minimum: 1 default: 1 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing paging: type: object description: Standard paging is not supported for this request type. filter: type: object properties: country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 merchant_currency: type: string description: The base currency of the merchant in ISO-4217(alpha-3). example: USD payer_currency: type: array description: The currency or list of currencies that the merchant accepts in ISO-4217(alpha-3). example: - GBP - EUR x-examples: {} items: type: string example: '["GBP","EUR"]' title: '' dcc_bin_ranges: type: array uniqueItems: true minItems: 1 items: type: object properties: low_prefix_number: type: string description: Lower limit of the BIN range. example: '2222420010' high_prefix_number: type: string description: Higher limit of the BIN range. example: '2222420269' status: type: string enum: - ACTIVE - INACTIVE example: ACTIVE description: The status of the BIN ranges. Can be ACTIVE or INACTIVE. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 type: type: string description: The type of action executed. example: PREAUTHORIZE enum: - AUTHORIZE - PREAUTHORIZE - DCC_BIN_RANGE_LIST time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 examples: Merchant Currency Only: value: time_created: '2022-04-11T13:29:10.596Z' is_last_page: 'NO' time_retrieved: '2022-04-11' current_index: 40 current_page_size: 20 merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: Sandbox_merchant_2 account_id: TRA_d9eea42b1f30482cae161c732d837ed6 account_name: Transaction_Processing filter: country: GB merchant_currency: GBP paging: {} dcc_bin_ranges: - low_prefix_number: '2222420010' high_prefix_number: '2222420269' status: ACTIVE - low_prefix_number: '2222650010' high_prefix_number: '2222650129' status: ACTIVE - low_prefix_number: '2222670010' high_prefix_number: '2222670129' status: ACTIVE - low_prefix_number: '2222680130' high_prefix_number: '2222740129' status: ACTIVE - low_prefix_number: '2222750130' high_prefix_number: '2222760159' status: ACTIVE - low_prefix_number: '2222780010' high_prefix_number: '2222780159' status: ACTIVE - low_prefix_number: '2222820010' high_prefix_number: '2222840129' status: ACTIVE - low_prefix_number: '2222860010' high_prefix_number: '2222870129' status: ACTIVE - low_prefix_number: '2223290010' high_prefix_number: '2223290159' status: ACTIVE - low_prefix_number: '2223330010' high_prefix_number: '2223340129' status: ACTIVE - low_prefix_number: '2223360010' high_prefix_number: '2223360129' status: ACTIVE - low_prefix_number: '2223400010' high_prefix_number: '2223400129' status: ACTIVE - low_prefix_number: '2223420010' high_prefix_number: '2223420129' status: ACTIVE - low_prefix_number: '2223440010' high_prefix_number: '2223460129' status: ACTIVE - low_prefix_number: '2223590300' high_prefix_number: '2223590300' status: ACTIVE - low_prefix_number: '2223600089' high_prefix_number: '2223600089' status: ACTIVE - low_prefix_number: '2226789800' high_prefix_number: '2226789999' status: ACTIVE - low_prefix_number: '2233160010' high_prefix_number: '2233160019' status: ACTIVE - low_prefix_number: '2308270002' high_prefix_number: '2308270009' status: ACTIVE - low_prefix_number: '2720020100' high_prefix_number: '2720022099' status: ACTIVE action: id: ACT_Kq7jZogQ5mRsY4yvwXguw3iizKGUdI type: DCC_BIN_RANGE_LIST time_created: '2022-04-11T17:48:14.215Z' result_code: SUCCESS app_id: Cu7y0m3XmoACrLohnRyDHVgRS4sC7hS5 app_name: DCCPP Payer Currency: value: time_created: '2022-04-11T13:29:10.596Z' is_last_page: 'NO' time_retrieved: '2022-04-11' current_index: 40 current_page_size: 20 merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: Sandbox_merchant_2 account_id: TRA_d9eea42b1f30482cae161c732d837ed6 account_name: Transaction_Processing filter: country: US merchant_currency: USD payer_currency: - EUR - GBP paging: {} dcc_bin_ranges: - low_prefix_number: '2222420010' high_prefix_number: '2222420269' status: ACTIVE - low_prefix_number: '2222650010' high_prefix_number: '2222650129' status: ACTIVE - low_prefix_number: '2222670010' high_prefix_number: '2222670129' status: ACTIVE - low_prefix_number: '2222680130' high_prefix_number: '2222740129' status: ACTIVE - low_prefix_number: '2222750130' high_prefix_number: '2222760159' status: ACTIVE - low_prefix_number: '2222780010' high_prefix_number: '2222780159' status: ACTIVE - low_prefix_number: '2222820010' high_prefix_number: '2222840129' status: ACTIVE - low_prefix_number: '2222860010' high_prefix_number: '2222870129' status: ACTIVE - low_prefix_number: '2223290010' high_prefix_number: '2223290159' status: ACTIVE - low_prefix_number: '2223330010' high_prefix_number: '2223340129' status: ACTIVE - low_prefix_number: '2223360010' high_prefix_number: '2223360129' status: ACTIVE - low_prefix_number: '2223400010' high_prefix_number: '2223400129' status: ACTIVE - low_prefix_number: '2223420010' high_prefix_number: '2223420129' status: ACTIVE - low_prefix_number: '2223440010' high_prefix_number: '2223460129' status: ACTIVE - low_prefix_number: '2223590300' high_prefix_number: '2223590300' status: ACTIVE - low_prefix_number: '2223600089' high_prefix_number: '2223600089' status: ACTIVE - low_prefix_number: '2226789800' high_prefix_number: '2226789999' status: ACTIVE - low_prefix_number: '2233160010' high_prefix_number: '2233160019' status: ACTIVE - low_prefix_number: '2308270002' high_prefix_number: '2308270009' status: ACTIVE - low_prefix_number: '2720020100' high_prefix_number: '2720022099' status: ACTIVE action: id: ACT_Kq7jZogQ5mRsY4yvwXguw3iizKGUdI type: DCC_BIN_RANGE_LIST time_created: '2022-04-11T17:48:14.215Z' result_code: SUCCESS app_id: Cu7y0m3XmoACrLohnRyDHVgRS4sC7hS5 app_name: DCCPP '400': description: '' content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: '' content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: '' content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: '' content: application/json: schema: title: NotFound type: object properties: error_code: type: string example: RESOURCE_NOT_FOUND enum: - RESOURCE_NOT_FOUND detailed_error_code: type: string enum: - '40118' example: '40118' detailed_error_description: type: string example: Resource ID not found. '500': description: '' content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: '' content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' description: Download a list of BIN ranges that support Dynamic Currency Conversion (DCC). The list can be filtered solely based on the merchant's base currency or the list of payer currencies the merchant supports. The list can be stored locally on the device so a presented card number can be checked to determine if DCC is supported before performing an actual DCC Rate Lookup request. parameters: - name: Authorization in: header required: true description: Bearer access token value used to access the API. schema: description: Bearer access token value used to access the API. type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ - in: header name: X-GP-Version required: true schema: description: Indicates the version of the GP-API for this message. type: string default: '2021-03-22' minLength: 1 maxLength: 50 description: The version of the API to execute the request. - in: header name: Accept description: Expected format of the response message. schema: description: Expected format of the response message. type: string default: application/json example: application/json - name: account_name in: query required: false schema: type: string example: Transaction_Processing minLength: 1 maxLength: 50 description: A meaningful label for the merchant account set by Global Payments. - name: account_id in: query required: false schema: type: string example: TRA_6716058969854a48b33347043ff8225f minLength: 1 maxLength: 50 description: A unique identifier for the merchant account set by Global Payments. - name: country in: query required: true schema: type: string example: US description: The country in ISO-3166-1(alpha-2 code) format. - name: merchant_currency in: query required: true schema: type: string example: USD description: The base currency of the merchant in ISO-4217(alpha-3). - name: payer_currency in: query required: false schema: type: array description: The currency or list of currencies that the merchant accepts in ISO-4217(alpha-3). - in: query name: time_last_received description: The date to start obtaining updated information from. - name: last_index in: query required: false schema: type: number description: The index number to start obtaining information from. tags: - BIN Ranges List Download parameters: [] components: schemas: create_request: required: - account_name - amount - channel - country - currency - payment_method - reference type: object properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: DCC minLength: 1 maxLength: 50 transaction_type: type: string description: | Describes 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. example: SALE default: SALE enum: - SALE - REFUND channel: type: string description: | 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 example: CNP enum: - CP - CNP country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: entry_mode: type: string description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * ECOM - A CNP channel entry mode where the payment method was obtained via a browser. * IN_APP - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * CHIP - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * SWIPE - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * MANUAL - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * CONTACTLESS_CHIP - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a cardon or near a device to exchange card information. * CONTACTLESS_SWIPE - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * PHONE - A CNP channel entry mode where the payment method was obtained over the phone. * MAIL - A CNP channel entry mode where the payment method was obtained via postal mail. example: ECOM enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE minLength: 1 maxLength: 50 card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 create_response: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the transaction. example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 4 maxLength: 100 time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' model: type: string description: | The currency exchange rate model used. * FROM_TRANSACTION_CURRENCY - indicates the conversion was executed using from the currency and amount of the transaction. enum: - FROM_TRANSACTION_CURRENCY minLength: 0 maxLength: 50 status: type: string description: | Indicates where the currency conversion is in its lifecycle * AVAILABLE - A currency conversion is available. The next step is to offer the conversion details to the end user. * NOT_AVAILABLE - A currency conversion is not available. enum: - AVAILABLE - NOT_AVAILABLE minLength: 0 maxLength: 50 country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 transaction_type: type: string description: | Describes 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. example: SALE default: SALE enum: - SALE - REFUND channel: type: string description: | 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 example: CNP enum: - CP - CNP amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD minLength: 3 maxLength: 3 minor_units: x-stoplight: id: 1mzyhnb2pp9a2 type: string example: '2' description: The number of decimal places of the payer currency. This field is intended for formatting and display purposes only. enum: - '0' - '2' - '3' formatted_amount: x-stoplight: id: 6q27feep0j54p type: string description: The payer amount formatted according to the number of minor units (decimal places) of that currency. This field is intended for formatting and display purposes only. example: '105.55' exchange_rate: type: string description: The exchange rate used to convert one currency to another. minLength: 0 maxLength: 50 example: '1.8117' payer_amount: type: string description: The amount that will affect the payer's account. minLength: 0 maxLength: 50 example: '223665' payer_currency: type: string description: The currency of the amount that will affect the payer's account. minLength: 0 maxLength: 50 example: AUD margin_rate_percentage: type: string description: The exchange rate used to convert one currency to another. minLength: 0 maxLength: 50 example: '03.7500' exchange_rate_source: type: string description: The source of the base exchange rate was obtained to execute the currency conversion. minLength: 0 maxLength: 50 example: REUTERS WHOLESALE INTERBANK exchange_rate_time_created: type: string description: The time the base exchange rate was obtained from the source. minLength: 0 maxLength: 50 example: '2018-08-20T11:18' commission_percentage: type: string description: The percentage commission taken for providing the currency conversion. minLength: 0 maxLength: 50 example: '00.0000' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string example: '00' description: Result code from the payment method provider. message: type: string example: Successful description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * ECOM - A CNP channel entry mode where the payment method was obtained via a browser. * IN_APP - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * CHIP - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * SWIPE - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * MANUAL - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * CONTACTLESS_CHIP - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a cardon or near a device to exchange card information. * CONTACTLESS_SWIPE - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * PHONE - A CNP channel entry mode where the payment method was obtained over the phone. * MAIL - A CNP channel entry mode where the payment method was obtained via postal mail. example: ECOM enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE minLength: 1 maxLength: 50 card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand: type: string description: Indicates the card brand that issued the card. enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP minLength: 0 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 type: type: string description: Indicates the action taken. time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 payment_method_request: type: object properties: entry_mode: type: string description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * ECOM - A CNP channel entry mode where the payment method was obtained via a browser. * IN_APP - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * CHIP - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * SWIPE - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * MANUAL - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * CONTACTLESS_CHIP - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a cardon or near a device to exchange card information. * CONTACTLESS_SWIPE - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * PHONE - A CNP channel entry mode where the payment method was obtained over the phone. * MAIL - A CNP channel entry mode where the payment method was obtained via postal mail. example: ECOM enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE minLength: 1 maxLength: 50 card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 payment_method_response: type: object properties: result: type: string example: '00' description: Result code from the payment method provider. message: type: string example: Successful description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * ECOM - A CNP channel entry mode where the payment method was obtained via a browser. * IN_APP - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * CHIP - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * SWIPE - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * MANUAL - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * CONTACTLESS_CHIP - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a cardon or near a device to exchange card information. * CONTACTLESS_SWIPE - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * PHONE - A CNP channel entry mode where the payment method was obtained over the phone. * MAIL - A CNP channel entry mode where the payment method was obtained via postal mail. example: ECOM enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE minLength: 1 maxLength: 50 card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand: type: string description: Indicates the card brand that issued the card. enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP minLength: 0 maxLength: 50 card_request: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. example: '4263970000005262' minLength: 1 maxLength: 50 expiry_month: type: string description: The 2 digit expiry date month of the card. example: '05' minLength: 2 maxLength: 2 expiry_year: type: string description: The 2 digit expiry date year of the card. example: '25' minLength: 2 maxLength: 2 card_response: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand: type: string description: Indicates the card brand that issued the card. enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP minLength: 0 maxLength: 50 securitySchemes: bearerAuth: type: http scheme: bearer examples: {} responses: '400': description: '' content: application/json: schema: description: Bad Request type: object properties: error_code: type: string description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND detailed_error_code: type: string description: Unique reference to identify the error. example: '40016' enum: - '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: '' content: application/json: schema: description: Not Authenticated type: object properties: error_code: type: string description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED enum: - NOT_AUTHENTICATED detailed_error_code: type: string description: Unique reference to identify the error. example: '40001' enum: - '40001' - '40002' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: '' content: application/json: schema: description: Forbidden type: object properties: error_code: type: string description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED enum: - ACTION_NOT_AUTHORIZED detailed_error_code: type: string description: Unique reference to identify the error. example: '40003' enum: - '40003' - '40004' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: '' content: application/json: schema: title: NotFound type: object properties: error_code: type: string example: RESOURCE_NOT_FOUND enum: - RESOURCE_NOT_FOUND detailed_error_code: type: string enum: - '40118' example: '40118' detailed_error_description: type: string example: Resource ID not found. '500': description: '' content: application/json: schema: description: Internal Server Error type: object properties: error_code: type: string description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM enum: - SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string description: Unique reference to identify the error. example: '50011' enum: - '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: '' content: application/json: schema: description: Not implemented type: object properties: error_code: type: string description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE enum: - UNKNOWN_RESPONSE detailed_error_code: type: string description: Unique reference to identify the error. example: '50012' enum: - '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' DCC-BIN-Ranges-Download-Response: description: '' content: application/json: schema: type: object properties: time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' is_last_page: type: string description: Indicates whether there are more pages of BIN ranges available. example: 'NO' enum: - 'YES' - 'NO' time_retrieved: x-stoplight: id: e38v0cr2whtgq type: string description: 'Date the BIN ranges were obtained. For subsequent requests if this date is provided, only updates after this date will be returned. ' current_index: type: number description: The current index of the BIN table that has been returned. Can be used to obtain the next set of values by passing it as a search parameter in last_index. example: 20 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. maximum: 1000 minimum: 1 default: 1 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 minLength: 1 maxLength: 50 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Sandbox_merchant_2 minLength: 1 maxLength: 50 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing paging: type: object description: Standard paging is not supported for this request type. filter: type: object properties: country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US minLength: 1 maxLength: 255 merchant_currency: type: string description: The base currency of the merchant in ISO-4217(alpha-3). example: USD payer_currency: type: array description: The currency or list of currencies that the merchant accepts in ISO-4217(alpha-3). example: - GBP - EUR x-examples: {} items: type: string example: '["GBP","EUR"]' title: '' dcc_bin_ranges: type: array uniqueItems: true minItems: 1 items: type: object properties: low_prefix_number: type: string description: Lower limit of the BIN range. example: '2222420010' high_prefix_number: type: string description: Higher limit of the BIN range. example: '2222420269' status: type: string enum: - ACTIVE - INACTIVE example: ACTIVE description: The status of the BIN ranges. Can be ACTIVE or INACTIVE. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d minLength: 1 maxLength: 50 type: type: string description: The type of action executed. example: PREAUTHORIZE enum: - AUTHORIZE - PREAUTHORIZE - DCC_BIN_RANGE_LIST time_created: type: string format: date-time description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string description: The result of the action executed. enum: - SUCCESS - DECLINE minLength: 1 maxLength: 50 app_id: type: string description: The id of the app that was used to create the token. example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy minLength: 1 maxLength: 50 app_name: type: string description: The name of the app the user gave to the application. example: demo_app minLength: 1 maxLength: 50 examples: Merchant Currency Only: value: time_created: '2022-04-11T13:29:10.596Z' is_last_page: 'NO' time_retrieved: '2022-04-11' current_index: 40 current_page_size: 20 merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: Sandbox_merchant_2 account_id: TRA_d9eea42b1f30482cae161c732d837ed6 account_name: Transaction_Processing filter: country: GB merchant_currency: GBP paging: {} dcc_bin_ranges: - low_prefix_number: '2222420010' high_prefix_number: '2222420269' status: ACTIVE - low_prefix_number: '2222650010' high_prefix_number: '2222650129' status: ACTIVE - low_prefix_number: '2222670010' high_prefix_number: '2222670129' status: ACTIVE - low_prefix_number: '2222680130' high_prefix_number: '2222740129' status: ACTIVE - low_prefix_number: '2222750130' high_prefix_number: '2222760159' status: ACTIVE - low_prefix_number: '2222780010' high_prefix_number: '2222780159' status: ACTIVE - low_prefix_number: '2222820010' high_prefix_number: '2222840129' status: ACTIVE - low_prefix_number: '2222860010' high_prefix_number: '2222870129' status: ACTIVE - low_prefix_number: '2223290010' high_prefix_number: '2223290159' status: ACTIVE - low_prefix_number: '2223330010' high_prefix_number: '2223340129' status: ACTIVE - low_prefix_number: '2223360010' high_prefix_number: '2223360129' status: ACTIVE - low_prefix_number: '2223400010' high_prefix_number: '2223400129' status: ACTIVE - low_prefix_number: '2223420010' high_prefix_number: '2223420129' status: ACTIVE - low_prefix_number: '2223440010' high_prefix_number: '2223460129' status: ACTIVE - low_prefix_number: '2223590300' high_prefix_number: '2223590300' status: ACTIVE - low_prefix_number: '2223600089' high_prefix_number: '2223600089' status: ACTIVE - low_prefix_number: '2226789800' high_prefix_number: '2226789999' status: ACTIVE - low_prefix_number: '2233160010' high_prefix_number: '2233160019' status: ACTIVE - low_prefix_number: '2308270002' high_prefix_number: '2308270009' status: ACTIVE - low_prefix_number: '2720020100' high_prefix_number: '2720022099' status: ACTIVE action: id: ACT_Kq7jZogQ5mRsY4yvwXguw3iizKGUdI type: DCC_BIN_RANGE_LIST time_created: '2022-04-11T17:48:14.215Z' result_code: SUCCESS app_id: Cu7y0m3XmoACrLohnRyDHVgRS4sC7hS5 app_name: DCCPP Payer Currency: value: time_created: '2022-04-11T13:29:10.596Z' is_last_page: 'NO' time_retrieved: '2022-04-11' current_index: 40 current_page_size: 20 merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: Sandbox_merchant_2 account_id: TRA_d9eea42b1f30482cae161c732d837ed6 account_name: Transaction_Processing filter: country: US merchant_currency: USD payer_currency: - EUR - GBP paging: {} dcc_bin_ranges: - low_prefix_number: '2222420010' high_prefix_number: '2222420269' status: ACTIVE - low_prefix_number: '2222650010' high_prefix_number: '2222650129' status: ACTIVE - low_prefix_number: '2222670010' high_prefix_number: '2222670129' status: ACTIVE - low_prefix_number: '2222680130' high_prefix_number: '2222740129' status: ACTIVE - low_prefix_number: '2222750130' high_prefix_number: '2222760159' status: ACTIVE - low_prefix_number: '2222780010' high_prefix_number: '2222780159' status: ACTIVE - low_prefix_number: '2222820010' high_prefix_number: '2222840129' status: ACTIVE - low_prefix_number: '2222860010' high_prefix_number: '2222870129' status: ACTIVE - low_prefix_number: '2223290010' high_prefix_number: '2223290159' status: ACTIVE - low_prefix_number: '2223330010' high_prefix_number: '2223340129' status: ACTIVE - low_prefix_number: '2223360010' high_prefix_number: '2223360129' status: ACTIVE - low_prefix_number: '2223400010' high_prefix_number: '2223400129' status: ACTIVE - low_prefix_number: '2223420010' high_prefix_number: '2223420129' status: ACTIVE - low_prefix_number: '2223440010' high_prefix_number: '2223460129' status: ACTIVE - low_prefix_number: '2223590300' high_prefix_number: '2223590300' status: ACTIVE - low_prefix_number: '2223600089' high_prefix_number: '2223600089' status: ACTIVE - low_prefix_number: '2226789800' high_prefix_number: '2226789999' status: ACTIVE - low_prefix_number: '2233160010' high_prefix_number: '2233160019' status: ACTIVE - low_prefix_number: '2308270002' high_prefix_number: '2308270009' status: ACTIVE - low_prefix_number: '2720020100' high_prefix_number: '2720022099' status: ACTIVE action: id: ACT_Kq7jZogQ5mRsY4yvwXguw3iizKGUdI type: DCC_BIN_RANGE_LIST time_created: '2022-04-11T17:48:14.215Z' result_code: SUCCESS app_id: Cu7y0m3XmoACrLohnRyDHVgRS4sC7hS5 app_name: DCCPP security: - bearerAuth: [] ``` ## Disputes Source: https://developer.globalpayments.com/api/disputes.md # Disputes ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Disputes description: 'Disputes are an act, initiated by a Payer or Payer’s bank to query or challenge the previous transfer of funds between that Payer and the Merchant.' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /disputes: get: tags: - List Disputes summary: 'Get a list of disputes recently processed, using criteria passed in the query string. Page through the result set to access all records.' description: "Get a list of disputes recently processed, using criteria passed in the query string. Page through the result set to access all records.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getDisputes parameters: - name: page in: query schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 - name: page_size in: query schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 - name: order in: query schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC - name: order_by in: query schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED - name: arn in: query schema: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 - name: brand in: query schema: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA - name: status in: query schema: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW - name: stage in: query schema: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL - name: from_stage_time_created in: query schema: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date - name: to_stage_time_created in: query schema: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date - name: system.mid in: query description: The system merchant identifier. schema: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 - name: system.hierarchy in: query schema: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 - name: deposit_id in: query schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 - name: order.reference in: query schema: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 - name: acquirer_code in: query schema: type: string enum: - GPN - HPY - EVO description: | Contains the acquirer code which helps identify the processing gateway. * `GPN` - Global gateway * `HPY` - Heartland gateway. * `EVO` - EVO gateway example: GPN - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object title: disputes_filter properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL from_stage_time_created: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_stage_time_created: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date system.mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 system.hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC disputes: type: array description: A list of disputes items: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING acquirer_code: type: string enum: - GPN - HPY - EVO description: | Contains the acquirer code which helps identify the processing gateway. * `GPN` - Global gateway * `HPY` - Heartland gateway. * `EVO` - EVO gateway example: GPN system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: '1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT transaction: type: object properties: order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 payment_method: type: object properties: card: type: object properties: number: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits' arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/disputes/': get: tags: - Get a Dispute summary: Get info about a Dispute on the Global Payments system using the unique id created by Global Payments for that Dispute. description: "Get info about a Dispute on the Global Payments system using the unique id created by Global Payments for that Dispute.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getSingleDispute parameters: - name: id in: path required: true schema: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing time_created: type: string description: Time indicating when the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW status_time_created: type: string description: Time the current Dispute status was created. format: date-time example: '2021-02-22T10:24:43.999Z' stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD payer_amount: type: string description: The amount the payer is disputing in the payer's currency. example: '1999' payer_currency: type: string description: The currency of the payer amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD merchant_amount: type: string description: The amount the payer is disputing in the merchant's currency. example: '1999' merchant_currency: type: string description: The currency of the merchant amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING investigator_comment: type: string description: Last comment submitted for this dispute. funding_type: type: string enum: - DEBIT - CREDIT description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC ' global_transaction_reference': type: string description: A unique identifier assigned to the original transaction used to track and reconcile the transactions consistently across multiple systems. minLength: 1 maxLength: 50 example: rrt-6037ed91-07b9-4964-95e9-3c650601e6earpz4n global_transaction_source: type: string description: Identifies the originating system or channel from which the transaction was initiated. minLength: 1 maxLength: 50 example: gp-apigee last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: '1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' net_financial_amount: type: string description: The total amount the Merchant has been financially impacted by this Dispute. example: '1999' net_financial_currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD net_financial_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to Merchant's bank account. example: DEBIT foreign_issued_card: type: string enum: - 'YES' - 'NO' description: | Indicates if the transaction is foreign or domestic. . * `YES` - The transaction took place in a country different from where the card was issued * `NO` - The transaction took place in the same country as the card was issued in. example: 'NO' disposition_description: type: string description: Contains the current disposition or last action of the dispute. example: Response sent to Issuer disposition_date: type: string description: Contains the date when the disposition was last updated. format: date-time example: '2021-02-22T10:24:43.761Z' case_time_created: type: string description: Contains the date when the dispute was initiated with the card brand. format: date-time example: '2021-02-22T10:24:43.761Z' store_reference: type: string description: Merchant defined field to reference a specifc store. example: '6' region_code: type: string description: 'This is the 2-digit region code used to identiy the region of the Dispute..Valid values are AP, EU and NA' example: NA payment_method_provider: type: array items: type: object description: 'A set of data associated with the payment method provider for this Dispute including their comment, documents and id for this dispute.' properties: comment: type: string description: A comment in relation to the dispute from the payment method provider. example: Payer never got the goods reference: type: string description: The payment method provider's reference for the dispute. example: CASE_NO_23423863 documents: type: array description: A list of evidence provided by the Merchant that relate to the Dispute. items: type: object properties: id: type: string description: Unique identifier for the document on the platform example: DOC_lskdnfosdfjsdfsdf23dasd b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= type: type: string description: This is the type of document that is provided by the Issuing Bank example: ACQUIRER_DOC_FOR_ISSUER transaction: type: object description: Information about the original Sale Transaction the Dispute relates to. properties: time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount: type: string description: The 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. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e remarks: type: string description: Merchant field to document remarks about the original Transaction. example: MY-TRANS-REMARKS terminal_capability_code: type: string description: 'Indicates the card data input, the Cardholder Verification Method (CVM), and the security capabilities supported by the terminal' example: E00808 merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' provider: type: object properties: avs_result: type: string enum: - 'Y' - 'N' - Z - A description: AVS result code from the card provider (issuer) . example: 'Y' payment_method: type: object properties: entry_mode_code: type: string description: This is a two-digit code used to identify the method to accept the cardholders payment details. example: '81' card: type: object properties: number: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits' arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 issuer_bin: type: string description: This is the Issuer BIN. It is identified by the first 6 digits of the card number example: '123456' acquirer_bin: type: string description: This is the BIN of the Acquirer. This is identifed by the 2nd to 7th digits of the ARN. example: '1234' order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 invoice_number: type: string description: This is the invoice number of the transaction example: '1234' documents: type: array items: type: object properties: id: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd b64_conent: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= type: type: string description: This is the type of document that is provided by the Issuing Bank example: ACQUIRER_DOC_FOR_ISSUER device: type: object properties: terminal_capacity_code: type: string description: This represents the terminal capability or the terminal operating environment example: '1' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/disputes//acceptance': post: tags: - Accept summary: Accept liability for a Dispute that will likely result in financial impact to the Merchant. description: "Accept liability for a Dispute that will likely result in financial impact to the Merchant.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: acceptDispute parameters: - name: id in: path required: true schema: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/disputes//challenge': post: tags: - Challenge summary: Challenge a Dispute by providing evidence indicating Merchant does not have liability for a particular Dispute. description: "Challenge a Dispute by providing evidence indicating Merchant does not have liability for a particular Dispute.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: challengeDispute parameters: - name: id in: path required: true schema: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: required: false content: application/json: schema: type: object properties: documents: type: array description: A list of evidence provided by the Merchant that relate to the Dispute. items: type: object properties: b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= examples: Challenge: value: documents: - b64_content: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING documents: type: array description: A list of evidence provided by the Merchant that relate to the Dispute. items: type: object properties: id: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/disputes//documents/': post: tags: - Download Document summary: Get a Document associated with a Dispute. description: "Get a Document associated with a Dispute.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getDisputeDocument parameters: - name: id in: path required: true schema: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 - name: doc_id in: path required: true schema: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Accept description: Accept liability for a Dispute. - name: Challenge description: Challenge a Dispute by providing evidence indicating Merchant does not have liability for a particular Dispute. - name: Get a Dispute description: Get info about a Dispute on the Global Payments system using the unique id created by Global Payments for that Dispute. - name: List Disputes description: 'Get a list of disputes recently processed, using criteria passed in the query string. Page through the result set to access all records.' - name: List Settled Disputes description: Get a list of disputes that affected a merchant's bank account using criteria passed in the query string. Page through the result set to access all records - name: Download Document description: Get a Document associated with a Dispute. components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED arn_DISPUTES.transaction.payment_method.card.arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand_DISPUTES.transaction.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA status_DISPUTES.status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage_DISPUTES.stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL from_stage_time_created: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_stage_time_created: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date mid_DISPUTES.system.mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy_DISPUTES.system.hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 deposit_id_DISPUTES.deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 reference_DISPUTES.transaction.order.reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 acquirer_code_DISPUTES.acquirer_code: type: string enum: - GPN - HPY - EVO description: | Contains the acquirer code which helps identify the processing gateway. * `GPN` - Global gateway * `HPY` - Heartland gateway. * `EVO` - EVO gateway example: GPN disputes_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object title: disputes_filter properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL from_stage_time_created: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_stage_time_created: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date system.mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 system.hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC disputes: type: array description: A list of disputes items: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING acquirer_code: type: string enum: - GPN - HPY - EVO description: | Contains the acquirer code which helps identify the processing gateway. * `GPN` - Global gateway * `HPY` - Heartland gateway. * `EVO` - EVO gateway example: GPN system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: '1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT transaction: type: object properties: order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 payment_method: type: object properties: card: type: object properties: number: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits' arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id_DISPUTES.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name_DISPUTES.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id_DISPUTES.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name_DISPUTES.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object title: disputes_filter properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL from_stage_time_created: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_stage_time_created: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date system.mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 system.hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC disputes_list_item: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING acquirer_code: type: string enum: - GPN - HPY - EVO description: | Contains the acquirer code which helps identify the processing gateway. * `GPN` - Global gateway * `HPY` - Heartland gateway. * `EVO` - EVO gateway example: GPN system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: '1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT transaction: type: object properties: order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 payment_method: type: object properties: card: type: object properties: number: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits' arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA id_DISPUTES.id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 stage_time_created_DISPUTES.stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' amount_DISPUTES.amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency_DISPUTES.currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD reason_code_DISPUTES.reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description_DISPUTES.reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by_DISPUTES.time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result_DISPUTES.result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING tid_DISPUTES.system.tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 name_DISPUTES.system.name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba_DISPUTES.system.dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC last_adjustment_amount_DISPUTES.last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: '1999' last_adjustment_currency_DISPUTES.last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding_DISPUTES.last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT number_DISPUTES.transaction.payment_method.card.number: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits' id_DISPUTES.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_DISPUTES.action.type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created_DISPUTES.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code_DISPUTES.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id_DISPUTES.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_DISPUTES.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app dispute_single_real_time: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing time_created: type: string description: Time indicating when the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW status_time_created: type: string description: Time the current Dispute status was created. format: date-time example: '2021-02-22T10:24:43.999Z' stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD payer_amount: type: string description: The amount the payer is disputing in the payer's currency. example: '1999' payer_currency: type: string description: The currency of the payer amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD merchant_amount: type: string description: The amount the payer is disputing in the merchant's currency. example: '1999' merchant_currency: type: string description: The currency of the merchant amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING investigator_comment: type: string description: Last comment submitted for this dispute. funding_type: type: string enum: - DEBIT - CREDIT description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: | Identifies the location of a merchant within the merchant's corporate hierarchical structure. The structure for each gateway can be seen below: GPN - > ---- HPY --> EVO --> -- minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC ' global_transaction_reference': type: string description: A unique identifier assigned to the original transaction used to track and reconcile the transactions consistently across multiple systems. minLength: 1 maxLength: 50 example: rrt-6037ed91-07b9-4964-95e9-3c650601e6earpz4n global_transaction_source: type: string description: Identifies the originating system or channel from which the transaction was initiated. minLength: 1 maxLength: 50 example: gp-apigee last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: '1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' net_financial_amount: type: string description: The total amount the Merchant has been financially impacted by this Dispute. example: '1999' net_financial_currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD net_financial_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to Merchant's bank account. example: DEBIT foreign_issued_card: type: string enum: - 'YES' - 'NO' description: | Indicates if the transaction is foreign or domestic. . * `YES` - The transaction took place in a country different from where the card was issued * `NO` - The transaction took place in the same country as the card was issued in. example: 'NO' disposition_description: type: string description: Contains the current disposition or last action of the dispute. example: Response sent to Issuer disposition_date: type: string description: Contains the date when the disposition was last updated. format: date-time example: '2021-02-22T10:24:43.761Z' case_time_created: type: string description: Contains the date when the dispute was initiated with the card brand. format: date-time example: '2021-02-22T10:24:43.761Z' store_reference: type: string description: Merchant defined field to reference a specifc store. example: '6' region_code: type: string description: 'This is the 2-digit region code used to identiy the region of the Dispute..Valid values are AP, EU and NA' example: NA payment_method_provider: type: array items: type: object description: 'A set of data associated with the payment method provider for this Dispute including their comment, documents and id for this dispute.' properties: comment: type: string description: A comment in relation to the dispute from the payment method provider. example: Payer never got the goods reference: type: string description: The payment method provider's reference for the dispute. example: CASE_NO_23423863 documents: type: array description: A list of evidence provided by the Merchant that relate to the Dispute. items: type: object properties: id: type: string description: Unique identifier for the document on the platform example: DOC_lskdnfosdfjsdfsdf23dasd b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= type: type: string description: This is the type of document that is provided by the Issuing Bank example: ACQUIRER_DOC_FOR_ISSUER transaction: type: object description: Information about the original Sale Transaction the Dispute relates to. properties: time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount: type: string description: The 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. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e remarks: type: string description: Merchant field to document remarks about the original Transaction. example: MY-TRANS-REMARKS terminal_capability_code: type: string description: 'Indicates the card data input, the Cardholder Verification Method (CVM), and the security capabilities supported by the terminal' example: E00808 merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' provider: type: object properties: avs_result: type: string enum: - 'Y' - 'N' - Z - A description: AVS result code from the card provider (issuer) . example: 'Y' payment_method: type: object properties: entry_mode_code: type: string description: This is a two-digit code used to identify the method to accept the cardholders payment details. example: '81' card: type: object properties: number: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits' arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 issuer_bin: type: string description: This is the Issuer BIN. It is identified by the first 6 digits of the card number example: '123456' acquirer_bin: type: string description: This is the BIN of the Acquirer. This is identifed by the 2nd to 7th digits of the ARN. example: '1234' order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 invoice_number: type: string description: This is the invoice number of the transaction example: '1234' documents: type: array items: type: object properties: id: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd b64_conent: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= type: type: string description: This is the type of document that is provided by the Issuing Bank example: ACQUIRER_DOC_FOR_ISSUER device: type: object properties: terminal_capacity_code: type: string description: This represents the terminal capability or the terminal operating environment example: '1' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app time_created_DISPUTES.time_created: type: string description: Time indicating when the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status_time_created_DISPUTES.status_time_created: type: string description: Time the current Dispute status was created. format: date-time example: '2021-02-22T10:24:43.999Z' payer_amount_DISPUTES.payer_amount: type: string description: The amount the payer is disputing in the payer's currency. example: '1999' payer_currency_DISPUTES.payer_currency: type: string description: The currency of the payer amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD merchant_amount_DISPUTES.merchant_amount: type: string description: The amount the payer is disputing in the merchant's currency. example: '1999' merchant_currency_DISPUTES.merchant_currency: type: string description: The currency of the merchant amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD investigator_comment_DISPUTES.investigator_comment: type: string description: Last comment submitted for this dispute. funding_type_DISPUTES.funding_type: type: string enum: - DEBIT - CREDIT description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_time_created_DISPUTES.deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' global_transaction_reference_DISPUTES.system.global_transaction_reference: type: string description: A unique identifier assigned to the original transaction used to track and reconcile the transactions consistently across multiple systems. minLength: 1 maxLength: 50 example: rrt-6037ed91-07b9-4964-95e9-3c650601e6earpz4n global_transaction_source_DISPUTES.system.global_transaction_source: type: string description: Identifies the originating system or channel from which the transaction was initiated. minLength: 1 maxLength: 50 example: gp-apigee last_adjustment_time_created_DISPUTES.last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' net_financial_amount_DISPUTES.net_financial_amount: type: string description: The total amount the Merchant has been financially impacted by this Dispute. example: '1999' net_financial_currency_DISPUTES.net_financial_currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD net_financial_funding_DISPUTES.net_financial_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to Merchant's bank account. example: DEBIT foreign_issued_card_DISPUTES.foreign_issued_card: type: string enum: - 'YES' - 'NO' description: | Indicates if the transaction is foreign or domestic. . * `YES` - The transaction took place in a country different from where the card was issued * `NO` - The transaction took place in the same country as the card was issued in. example: 'NO' disposition_description_DISPUTES.disposition_description: type: string description: Contains the current disposition or last action of the dispute. example: Response sent to Issuer disposition_date_DISPUTES.disposition_date: type: string description: Contains the date when the disposition was last updated. format: date-time example: '2021-02-22T10:24:43.761Z' case_time_created_DISPUTES.case_time_created: type: string description: Contains the date when the dispute was initiated with the card brand. format: date-time example: '2021-02-22T10:24:43.761Z' store_reference_DISPUTES.store_reference: type: string description: Merchant defined field to reference a specifc store. example: '6' region_code_DISPUTES.region_code: type: string description: 'This is the 2-digit region code used to identiy the region of the Dispute..Valid values are AP, EU and NA' example: NA comment_DISPUTES.payment_method_provider.comment: type: string description: A comment in relation to the dispute from the payment method provider. example: Payer never got the goods reference_DISPUTES.payment_method_provider.reference: type: string description: The payment method provider's reference for the dispute. example: CASE_NO_23423863 id_DISPUTES.payment_method_provider.documents.id: type: string description: Unique identifier for the document on the platform example: DOC_lskdnfosdfjsdfsdf23dasd b64_content_DISPUTES.payment_method_provider.documents.b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= type_DISPUTES.documents.type: type: string description: This is the type of document that is provided by the Issuing Bank example: ACQUIRER_DOC_FOR_ISSUER time_created_DISPUTES.transaction.time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type_DISPUTES.transaction.type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount_DISPUTES.transaction.amount: type: string description: The 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. example: '11099' reference_DISPUTES.transaction.reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e remarks_DISPUTES.transaction.remarks: type: string description: Merchant field to document remarks about the original Transaction. example: MY-TRANS-REMARKS terminal_capability_code_DISPUTES.transaction.terminal_capability_code: type: string description: 'Indicates the card data input, the Cardholder Verification Method (CVM), and the security capabilities supported by the terminal' example: E00808 merchant_category_code_DISPUTES.transaction.merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' avs_result_DISPUTES.transaction.provider.avs_result: type: string enum: - 'Y' - 'N' - Z - A description: AVS result code from the card provider (issuer) . example: 'Y' entry_mode_code_DISPUTES.transaction.payment_method.entry_mode_code: type: string description: This is a two-digit code used to identify the method to accept the cardholders payment details. example: '81' authcode_DISPUTES.transaction.payment_method.card.authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference_DISPUTES.transaction.payment_method.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 issuer_bin_DISPUTES.transaction.payment_method.card.issuer_bin: type: string description: This is the Issuer BIN. It is identified by the first 6 digits of the card number example: '123456' acquirer_bin_DISPUTES.transaction.payment_method.card.acquirer_bin: type: string description: This is the BIN of the Acquirer. This is identifed by the 2nd to 7th digits of the ARN. example: '1234' invoice_number_DISPUTES.transaction.order.invoice_number: type: string description: This is the invoice number of the transaction example: '1234' id_DISPUTES.documents.id: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd terminal_capacity_code_DISPUTES.device.terminal_capacity_code: type: string description: This represents the terminal capability or the terminal operating environment example: '1' accept_response: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app challenge_request: type: object properties: documents: type: array description: A list of evidence provided by the Merchant that relate to the Dispute. items: type: object properties: b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= challenge_response: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH - MASTERCARD PRE-DISPUTE description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. * `MASTERCARD PRE-DISPUTE` - This is an initial stage for Mastercard holders where Disputes are attempted to be resolved initially between the acquirer and the Merchant before a chargeback occurs minLength: 1 maxLength: 50 example: RETRIEVAL amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING documents: type: array description: A list of evidence provided by the Merchant that relate to the Dispute. items: type: object properties: id: type: string description: Unique identifier for the document on the platform minLength: 1 maxLength: 50 example: DOC_lskdnfosdfjsdfsdf23dasd b64_content: type: string description: The document represented as a base64 encoded string. minLength: 1 maxLength: 1000 example: R0lGODlhigPCAXAAACwAAAAAigPCAYf///8AQnv= action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_SINGLE - DISPUTE_LIST - CHALLENGE - ACCEPT description: Indicates the specific action taken. example: DISPUTE_SINGLE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Funds Source: https://developer.globalpayments.com/api/funds.md # Funds ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Funds description: 'Funds represents the capability to move funds between a Global Payments Funds Management Account (FMA) and a business bank account or debit card. ' contact: name: API Integrations url: 'https://developer.globalpay.com' email: api.integrations@globalpay.com servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: '/merchants//settlement/funds': post: tags: - Credit Or Debit a Funds Management Account (FMA) summary: Credit Or Debit a Funds Management Account (FMA) description: Used to deposit funds to a connected business bank account or debit card. Can also be used to add funds to a Global Payments Funds Management Account (FMA) from a connected business bank account. operationId: fundMerchant parameters: - name: id in: path required: true schema: example: MER_880c34767b184d5e82b10e767201e648 type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 examples: default: value: MER_880c34767b184d5e82b10e767201e648 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: description: '' content: application/json: schema: type: object title: funds_create properties: account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER examples: Instant Payout (Debit) to Card: value: account_name: '718556837_989567' account_id: FMA_bde109d70fb24d78b25fd364317dd9dc type: DEBIT amount: '500' currency: USD payment_method: CARD Credit a Funds Management Account (FMA): value: account_name: '718556837_989567' account_id: FMA_bde109d70fb24d78b25fd364317dd9dc type: CREDIT amount: '500' currency: USD payment_method: BANK_TRANSFER Debit a Funds Management Account (FMA): value: account_name: '718556837_989567' account_id: FMA_bde109d70fb24d78b25fd364317dd9dc type: DEBIT amount: '500' currency: USD payment_method: BANK_TRANSFER responses: '200': description: OK content: application/json: schema: type: object title: funds_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' provider: type: object properties: result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. callbacks: Bank Transfer Return Notification: '{$request.body#/notifications.status_url}': post: description: The Funds reject notification message that will be sent to the merchant status URL. requestBody: content: application/json: schema: type: object title: bank_transfer_return_notification properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' return_fee_amount: type: string title: return_fee_amount_FUNDS.return_fee_amount description: Indicates the fee charged to the merchant for the return. minLength: 1 maxLength: 50 example: '1000' reason_description: type: string title: reason_description_FUNDS.reason_description description: |- Reason for the bank transfer return. Possible responses include: *R01 Insufficient Funds *R02 Account Closed *R03 No Account/Unable To Locate Account *R04 Invalid Account Number *R05 Unauthorized Debit to Consumer Account Using Corporate SEC Code *R06 Returned per ODFIs Request *R07 Authorization Revoked by Customer *R08 Payment Stopped *R09 Uncollected Funds *R10 Customer Advises Not Authorized, Improper, or Ineligible *R12 Account sold to another DFI *R13 Invalid ACH Routing Number *R14 Representment payee deceased or unable to continue in that capacity *R15 Beneficiary of account holder deceased *R16 Account Frozen *R17 File Record Edit Criteria *R20 Non-Transaction Account *R23 Credit entry refused by receiver *R24 Duplicate entry *R25 Incorrect Individual Name/Receiving Company Name *R27 Trace Number Error *R29 Corporate customer advises not authorized *R34 Limited participation DFI *R45 Invalid Individual Name/Company Name *R82 Invalid Foreign Receiving DFI Identification *R83 Foreign Receiving DFI Unable to Settle example: R01 Insufficient Funds action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app responses: '200': description: OK servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/merchants//funds/': get: tags: - Get a Fund summary: Get a Fund description: Get info about a Funding event on the Global Payments system using the unique id created by Global Payments for that Fund. operationId: getFund parameters: - name: id in: path required: true schema: example: MER_880c34767b184d5e82b10e767201e648 type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 examples: default: value: MER_880c34767b184d5e82b10e767201e648 - name: FND_id in: path required: true schema: example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 examples: default: value: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: funds_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' provider: type: object properties: result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/merchants//accounts//funds': get: tags: - List Funds summary: List Funds description: 'Get a list of Funds recently processed, using criteria passed in the query string. Page through the result set to access all records.' operationId: listFunds parameters: - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: id in: path required: true schema: example: MER_880c34767b184d5e82b10e767201e648 type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 examples: default: value: MER_880c34767b184d5e82b10e767201e648 - name: FMA_id in: path required: true schema: example: FMA_bde109d70fb24d78b25fd364317dd9dc type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 examples: default: value: FMA_bde109d70fb24d78b25fd364317dd9dc - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: list_funds_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: The total number of records to return in a single page for a list. default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED funds: type: array items: type: object title: funds_list_real_time_item properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED initiation_mode: type: string enum: - AUTO - MANUAL title: initiation_mode_FUNDS.initiation_mode description: |- Indicates how the funds movement was initiated. * `AUTO` - Funds were automatically transferred by Global Payments * `MANUAL` - Funds were transferred via a request to Global Payments" amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' provider: type: object properties: result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Credit Or Debit a Funds Management Account (FMA) description: 'Deposit funds to a business bank account or debit card, or add funds to a Funds Management Account.' - name: Add Or Update a Funds Payout Card description: Add or update the debit card to which account funds will be paid out to. Must be a Visa or Mastercard. components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ example: Bearer G3FA4TuYGCBiCWs4YpzrALGCYXZJ Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: merchant_id_FUNDS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 funds_create: type: object title: funds_create properties: account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER account_name_FUNDS.account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' account_id_FUNDS.account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc type_FUNDS.type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT amount_FUNDS.amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency_FUNDS.currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method_FUNDS.payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER funds_response: type: object title: funds_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' provider: type: object properties: result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app id_FUNDS.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created_FUNDS.time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated_FUNDS.time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' status_FUNDS.status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED merchant_name_FUNDS.merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 result_FUNDS.provider.result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message_FUNDS.provider.message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id_FUNDS.action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id_FUNDS.parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es id_FUNDS.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_FUNDS.action.type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created_FUNDS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code_FUNDS.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id_FUNDS.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_FUNDS.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app bank_transfer_return_notification: type: object title: bank_transfer_return_notification properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' return_fee_amount: type: string title: return_fee_amount_FUNDS.return_fee_amount description: Indicates the fee charged to the merchant for the return. minLength: 1 maxLength: 50 example: '1000' reason_description: type: string title: reason_description_FUNDS.reason_description description: |- Reason for the bank transfer return. Possible responses include: *R01 Insufficient Funds *R02 Account Closed *R03 No Account/Unable To Locate Account *R04 Invalid Account Number *R05 Unauthorized Debit to Consumer Account Using Corporate SEC Code *R06 Returned per ODFIs Request *R07 Authorization Revoked by Customer *R08 Payment Stopped *R09 Uncollected Funds *R10 Customer Advises Not Authorized, Improper, or Ineligible *R12 Account sold to another DFI *R13 Invalid ACH Routing Number *R14 Representment payee deceased or unable to continue in that capacity *R15 Beneficiary of account holder deceased *R16 Account Frozen *R17 File Record Edit Criteria *R20 Non-Transaction Account *R23 Credit entry refused by receiver *R24 Duplicate entry *R25 Incorrect Individual Name/Receiving Company Name *R27 Trace Number Error *R29 Corporate customer advises not authorized *R34 Limited participation DFI *R45 Invalid Individual Name/Company Name *R82 Invalid Foreign Receiving DFI Identification *R83 Foreign Receiving DFI Unable to Settle example: R01 Insufficient Funds action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app return_fee_amount_FUNDS.return_fee_amount: type: string title: return_fee_amount_FUNDS.return_fee_amount description: Indicates the fee charged to the merchant for the return. minLength: 1 maxLength: 50 example: '1000' reason_description_FUNDS.reason_description: type: string title: reason_description_FUNDS.reason_description description: |- Reason for the bank transfer return. Possible responses include: *R01 Insufficient Funds *R02 Account Closed *R03 No Account/Unable To Locate Account *R04 Invalid Account Number *R05 Unauthorized Debit to Consumer Account Using Corporate SEC Code *R06 Returned per ODFIs Request *R07 Authorization Revoked by Customer *R08 Payment Stopped *R09 Uncollected Funds *R10 Customer Advises Not Authorized, Improper, or Ineligible *R12 Account sold to another DFI *R13 Invalid ACH Routing Number *R14 Representment payee deceased or unable to continue in that capacity *R15 Beneficiary of account holder deceased *R16 Account Frozen *R17 File Record Edit Criteria *R20 Non-Transaction Account *R23 Credit entry refused by receiver *R24 Duplicate entry *R25 Incorrect Individual Name/Receiving Company Name *R27 Trace Number Error *R29 Corporate customer advises not authorized *R34 Limited participation DFI *R45 Invalid Individual Name/Company Name *R82 Invalid Foreign Receiving DFI Identification *R83 Foreign Receiving DFI Unable to Settle example: R01 Insufficient Funds from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' list_funds_response: type: object title: list_funds_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: The total number of records to return in a single page for a list. default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED funds: type: array items: type: object title: funds_list_real_time_item properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED initiation_mode: type: string enum: - AUTO - MANUAL title: initiation_mode_FUNDS.initiation_mode description: |- Indicates how the funds movement was initiated. * `AUTO` - Funds were automatically transferred by Global Payments * `MANUAL` - Funds were transferred via a request to Global Payments" amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' provider: type: object properties: result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - FUNDS - FUNDS_LIST - FUNDS_SINGLE - BANK_TRANSFER_RETURN_NOTIFICATION description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: FUNDS time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 page_size.paging.page_size: type: number description: The total number of records to return in a single page for a list. default: 5 example: 5 page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED funds_list_real_time_item: type: object title: funds_list_real_time_item properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: FND_ZkGPrJiuVRMCh10VEyInhn0fbTKdfT time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT description: 'Indicates whether to debit the amount to a bank account/payout card, or credit the amount to the Global Funds Management account.' minLength: 1 maxLength: 50 example: DEBIT status: type: string enum: - CAPTURED - DECLINE - REJECTED description: Indicates where a resource object is in it's lifecycle. minLength: 1 maxLength: 50 example: CAPTURED initiation_mode: type: string enum: - AUTO - MANUAL title: initiation_mode_FUNDS.initiation_mode description: |- Indicates how the funds movement was initiated. * `AUTO` - Funds were automatically transferred by Global Payments * `MANUAL` - Funds were transferred via a request to Global Payments" amount: type: string description: The amount that should be credited or debited. It is always represented in the lowest denomiation of the related currency. minLength: 1 maxLength: 50 example: '100' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD payment_method: type: string enum: - BANK_TRANSFER - CARD description: | The payment method available to create transactions with. * `BANK_TRANSFER` - Indicates to transfer funds to or from the connected payout bank account. * `CARD` - Indicates to transfer funds to the "Funds Payout Card." minLength: 1 maxLength: 50 example: BANK_TRANSFER merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 default: MER_880c34767b184d5e82b10e767201e648 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 50 example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. minLength: 1 maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' provider: type: object properties: result: type: string description: Result code from the payment method provider. minLength: 1 maxLength: 50 example: '00' message: type: string description: Result message from the payment method provider corresponding to the result code. minLength: 1 maxLength: 50 example: Successful action_create_id: type: string title: action_create_id_FUNDS.action_create_id description: The action reference of the initial action related to the funding event. minLength: 1 maxLength: 50 example: ACT_tec6AQFrGKEeFY1BLFDA3cz3wSG69u parent_resource_id: type: string title: parent_resource_id_FUNDS.parent_resource_id description: 'The resource id of the initial funding action referenced. ' minLength: 1 maxLength: 50 example: FND_zeSDfZ9OfM8IWgInQXImc8azdqE2es initiation_mode_FUNDS.initiation_mode: type: string enum: - AUTO - MANUAL title: initiation_mode_FUNDS.initiation_mode description: |- Indicates how the funds movement was initiated. * `AUTO` - Funds were automatically transferred by Global Payments * `MANUAL` - Funds were transferred via a request to Global Payments" objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. ``` ## Installments Source: https://developer.globalpayments.com/api/installments.md # Installments ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Installments description: 'Installments represent the installment payment programs that are available to your customers for a specific transaction. We support installment payment programs in multiple regions. These programs allow the cardholder to select the terms and the number of payments. The merchant''s transaction settles for the full amount, but the cardholder gets billed a flat amount for a set number of months.' contact: name: API Integrations email: api.integrations@globalpay.com x-gp-yaml-file-version: 1.1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /installments: post: tags: - Get Available Installment Plans summary: Confirm installment plans available description: "Confirm which installments plans are available to the cardholder for a specific transaction.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: create-installment parameters: - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". schema: type: string default: Bearer REkHCEZXhqkbdQ3OzurolO3eDANL example: Bearer REkHCEZXhqkbdQ3OzurolO3eDANL - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: content: application/json: schema: type: object title: post_installments_request properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOPetc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - US - BG - CA - HK - etc. description: | This is the country the merchant is domiciled in. For example, If if the merchant is based in Canada it must be set to CA.If if the merchant is based in England it must be set to GB.If if the merchant is based in USA it must be set to US.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e program: type: string enum: - VIS description: | This field indicates the installment program the merchant is participating in. * `VIS` - Visa Installments example: VIS payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM usage_mode: type: string enum: - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. This functionality is available based on your life configuration. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: USE_CARD_NUMBER card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 network_token: type: string description: 'The network token,provided by the brands as a more secure alternative to the card number.' encryption: type: object properties: method: type: string description: The encryption method used when sending encrypted card data to Global Payments. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. minLength: 1 maxLength: 50 info: type: string description: The encryption info used when sending encrypted card data to Global Payments. minLength: 1 maxLength: 50 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. * `BINARY` - Indicates data is binary encoded. * `ASCII` - Indicates data is encoded as ASCII. example: ASCII funding_mode: type: string enum: - MERCHANT_FUNDED - CONSUMER_FUNDED - HYBRID_FUNDED - BILATERAL - ANY description: | Indicated the funding mode of the Installment plan. Availablity of each funding mode is based on your live configuration * MERCHANT_FUNDED - This will return merchant funded plans only * CONSUMER_FUNDED - This will return consumer funded plans only * HYBRID_FUNDED - This will return both merchant and consumer funded plans * BILATERAL - This will return BILATERAL plans only * ANY - This will return all available plans example: MERCHANT_FUNDED eligible_plans: type: string enum: - LIMITED - FULL description: | This is used to specify the number of plans returned. * `LIMITED`- Returns two plans. * `FULL` - Returns all available plans example: LIMITED terms: type: object properties: max_time_unit_number: type: integer description: This is used to set the maximum number of months for an available installment plan example: 24 max_amount: type: string description: | This is used to set the max amount of each installment in an available plan. It determines how plans are returned. if amount > max_amout then Installment plans are returned in order of longest duration if amount < max_amount then Installment plans are returned in order of shortest duration example: '200' examples: Confirm Available Installment Plans: value: account_name: transaction_processing channel: CP amount: '11099' currency: USD country: US reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: entry_mode: ECOM card: number: '4263970000005262' expiry_month: '12' expiry_year: '30' Visa Installments - Confirm Available Plans: value: account_name: Portico_VISA_IPP_CNP_CERT channel: CNP amount: '50000' currency: CAD country: CA reference: TRANS-20251009090941938Z60065ea payment_method: entry_mode: ECOM card: number: '4263970000005262' expiry_month: '11' expiry_year: '28' program: VIS funding_mode: CONSUMER_FUNDED eligible_plans: LIMITED terms: max_time_unit_number: 24 max_amount: '1000000' responses: '200': description: '' content: application/json: schema: type: object title: post_installments_response properties: id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - INSTALLMENT_QUERY description: The type of installment request. example: INSTALLMENT_QUERY status: type: string enum: - AVAILABLE - NOT_AVAILABLE description: Indicates the status of the installment. example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOPetc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - US - BG - CA - HK - etc. description: | This is the country the merchant is domiciled in. For example, If if the merchant is based in Canada it must be set to CA.If if the merchant is based in England it must be set to GB.If if the merchant is based in USA it must be set to US.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing program: type: string enum: - VIS description: | This field indicates the installment program the merchant is participating in. * `VIS` - Visa Installments example: VIS terms: type: array items: type: object properties: name: type: string description: Name of the Installment Plan example: a637373 reference: type: string description: A unique identifier used to identify the installment plan. example: 7533d4f7-6a10-5557-2e92-132d06157502 mode: type: string enum: - ISSUER_PROMOTION - BI_LATERAL - ISSUER_DEFAULT - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: ISSUER_PROMOTION count: type: integer description: Indicates the total number of payments to be made over the course of the installment payment plan. example: 99 grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' currency: type: string description: The currency of the fees attached to the installment plan example: EUR time_unit: type: string enum: - DAY - MONTH - YEAR description: This is the frequency of the payments in the installment plan example: MONTH terms_and_conditions: type: array items: type: object properties: url: type: string description: This is the Terms and conditions (T&C) URL hosted by the Issuer to be displayed to the cardholder for acceptance when initiating a plan acceptance for this plan example: www.myurl.com version: type: string description: This indicated the version of the Terms and Conditions displayed to the cardholder example: '2' description: type: string description: Text of the terms and conditions for the installment plan. example: 'You are selecting a 24-month installment plan. The total purchase amount will be deducted from your available credit limit. As set forth in your terms, your installment fee will be 13.99% APR calculated for 24 months. If you miss an installment payment, the standard rate of purchases will apply to the remaining installment balance.' language: type: string description: The language for the terms and conditions text. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en cost_percentage: type: string description: Annual percentage rate (APR) as configured by the Issuer during plan creation. example: '13.99' total_plan_cost: type: string description: This is the total cost of the installment plan inclusive of fees example: '383883' plan_amount: type: string description: This is the amount to be paid at each installment example: '3000' fees: type: object properties: fee_info: type: array items: type: object properties: type: type: string enum: - CONSUMER - CONSUMER_UPFRONT - MERCHANT_FUNDING - MERCHANT_SERVICE description: Fee type(s) with the associated cost percentage or flat fee. example: CONSUMER interest_rate: type: string description: Interest fee rate in percentage applied on Installment payment. example: '5' flat_amount: type: string description: Flat fee applied on the first installment payment in Issuer currency. example: '0' total_amount: type: string description: Total fees charged calculated as total upfront fees + total recurring fees example: '10000' total_subsequent_amount: type: string description: Total recurring fees for this installment plan. example: '12700' subsequent_amount: type: string description: 'The consumer fee for every installment period, including the first one. This fee corresponds to the feeType' example: '1270' total_upfront_amount: type: string description: Total upfront fees charged to the consumer for this installment plan. This is the amount charged upfront along with the first installment principal only. example: '100' upfront_amount: type: string description: 'Upfront fees charged to the consumer for this installment plan. ' example: '100' payment_method: type: object properties: entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM result: type: string description: The result code associated with the payment method used to process this transaction. minLength: 1 maxLength: 50 example: '00' message: type: string description: The result message that better explains the result code. minLength: 1 maxLength: 50 example: APPROVAL card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - FOOD_STAMP - CASH_BENEFITS - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: DEBIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string enum: - US - BG - CA - HK - etc. description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INSTALLMENT_QUERY - INSTALLMENT_SINGLE - INSTALLMENT_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: INSTALLMENT_QUERY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app examples: Visa Installments - Confirm Available Plans: value: id: INS_vBg8whrcUs4XdaGm8mtTFCbUHo899M time_created: '2026-01-22T21:22:32.090Z' type: INSTALLMENT_QUERY status: AVAILABLE channel: CNP amount: '50000' currency: CAD country: CA merchant_id: MER_20c2b3fcfedd484e9c3723347db56b71 merchant_name: UCP_Test_Automation_Merchant account_id: TRA_1ba8c2df7e8f47439dd851b4a66e8e8f account_name: Portico_VISA_IPP_CNP_CERT reference: TRANS-20251009090941938Z60065ea program: VIS terms: - name: plan6CwithAPR reference: 109bbbf5-c027-de5e-50c1-153dafa9ac01 mode: ISSUER_DEFAULT time_unit: MONTH terms_and_conditions: - url: 'https://www.visa.ca/en_CA/partner-with-us/payment-technology/installments.html' version: '1' description: 'Vous sélectionnez un plan de versement de 6 mois. Le montant total de l''achat sera déduit de votre limite de crédit disponible. Comme indiqué dans vos conditions, vos frais de versement seront APR calculés pour 6 mois. Si vous manquez un paiement échelonné, le taux standard des achats s''appliquera au solde restant du versement.' language: fr - url: 'https://www.visa.ca/en_CA/partner-with-us/payment-technology/installments.html' version: '1' description: 'You are selecting a 6-month installment plan. The total purchase amount will be deducted from your available credit limit. As set forth in your terms, your installment fee will be APR calculated for 6 months. If you miss an installment payment, the standard rate of purchases will apply to the remaining installment balance.' language: en count: 6 cost_percentage: '10.96' total_plan_cost: '53000' plan_amount: '8330' fees: fee_info: - type: CONSUMER interest_rate: '3.00' flat_amount: '500' - type: MERCHANT_FUNDING interest_rate: '0.00' flat_amount: '0' - type: CONSUMER_UPFRONT interest_rate: '0.00' flat_amount: '0' total_amount: '3000' total_subsequent_amount: '3000' subsequent_amount: '500' total_upfront_amount: '0' upfront_amount: '0' currency: CAD - name: plan12CPwithAPR reference: 109bbbf5-c027-de5e-50c1-153dafa9ac03 mode: ISSUER_PROMOTION time_unit: MONTH terms_and_conditions: - url: 'https://www.visa.ca/en_CA/partner-with-us/payment-technology/installments.html' version: '2' description: 'You are selecting a 12-month installment plan. The total purchase amount will be deducted from your available credit limit. As set forth in your terms, your installment fee will be APR calculated for 12 months. If you miss an installment payment, the standard rate of purchases will apply to the remaining installment balance.' language: en - url: 'https://www.visa.ca/en_CA/partner-with-us/payment-technology/installments.html' version: '2' description: 'Vous sélectionnez un plan de versement de 12 mois. Le montant total de l''achat sera déduit de votre limite de crédit disponible. Comme indiqué dans vos conditions, vos frais de versement seront APR calculés pour 12 mois. Si vous manquez un paiement échelonné, le taux standard des achats s''appliquera au solde restant du versement.' language: fr count: 12 cost_percentage: '2.00' total_plan_cost: '51500' plan_amount: '4163' fees: fee_info: - type: CONSUMER interest_rate: '3.00' flat_amount: '0' - type: MERCHANT_FUNDING interest_rate: '0.00' flat_amount: '0' - type: CONSUMER_UPFRONT interest_rate: '0.00' flat_amount: '0' total_amount: '1500' total_subsequent_amount: '1500' subsequent_amount: '125' total_upfront_amount: '0' upfront_amount: '0' currency: CAD payment_method: result: '00' message: APPROVAL entry_mode: ECOM card: brand: VISA masked_number_last4: XXXXXXXXXXXX5262 authcode: '' brand_reference: '' action: id: ACT_vBg8whrcUs4XdaGm8mtTFCbUHo899M type: INSTALLMENT_QUERY time_created: '2026-01-22T21:22:32.090Z' result_code: SUCCESS app_id: PJoqXXSANSbA8292ASpE0ChpAPrmOwqO app_name: UCP_Test_Automation_Partner_App_01 '404': description: User Not Found servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment components: parameters: X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Authorization_installment: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". schema: type: string default: Bearer REkHCEZXhqkbdQ3OzurolO3eDANL example: Bearer REkHCEZXhqkbdQ3OzurolO3eDANL Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json schemas: post_installments_request: type: object title: post_installments_request properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOPetc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - US - BG - CA - HK - etc. description: | This is the country the merchant is domiciled in. For example, If if the merchant is based in Canada it must be set to CA.If if the merchant is based in England it must be set to GB.If if the merchant is based in USA it must be set to US.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e program: type: string enum: - VIS description: | This field indicates the installment program the merchant is participating in. * `VIS` - Visa Installments example: VIS payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM usage_mode: type: string enum: - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. This functionality is available based on your life configuration. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: USE_CARD_NUMBER card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 network_token: type: string description: 'The network token,provided by the brands as a more secure alternative to the card number.' encryption: type: object properties: method: type: string description: The encryption method used when sending encrypted card data to Global Payments. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. minLength: 1 maxLength: 50 info: type: string description: The encryption info used when sending encrypted card data to Global Payments. minLength: 1 maxLength: 50 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. * `BINARY` - Indicates data is binary encoded. * `ASCII` - Indicates data is encoded as ASCII. example: ASCII funding_mode: type: string enum: - MERCHANT_FUNDED - CONSUMER_FUNDED - HYBRID_FUNDED - BILATERAL - ANY description: | Indicated the funding mode of the Installment plan. Availablity of each funding mode is based on your live configuration * MERCHANT_FUNDED - This will return merchant funded plans only * CONSUMER_FUNDED - This will return consumer funded plans only * HYBRID_FUNDED - This will return both merchant and consumer funded plans * BILATERAL - This will return BILATERAL plans only * ANY - This will return all available plans example: MERCHANT_FUNDED eligible_plans: type: string enum: - LIMITED - FULL description: | This is used to specify the number of plans returned. * `LIMITED`- Returns two plans. * `FULL` - Returns all available plans example: LIMITED terms: type: object properties: max_time_unit_number: type: integer description: This is used to set the maximum number of months for an available installment plan example: 24 max_amount: type: string description: | This is used to set the max amount of each installment in an available plan. It determines how plans are returned. if amount > max_amout then Installment plans are returned in order of longest duration if amount < max_amount then Installment plans are returned in order of shortest duration example: '200' account_name_INSTALLMENTS.account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel_INSTALLMENTS.channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount_INSTALLMENTS.amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency_INSTALLMENTS.currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOPetc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country_INSTALLMENTS.country: type: string enum: - US - BG - CA - HK - etc. description: | This is the country the merchant is domiciled in. For example, If if the merchant is based in Canada it must be set to CA.If if the merchant is based in England it must be set to GB.If if the merchant is based in USA it must be set to US.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US reference_INSTALLMENTS.reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e program_INSTALLMENTS.program: type: string enum: - VIS description: | This field indicates the installment program the merchant is participating in. * `VIS` - Visa Installments example: VIS id_INSTALLMENTS.payment_method.id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 entry_mode_INSTALLMENTS.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM usage_mode_INSTALLMENTS.payment_method.usage_mode: type: string enum: - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. This functionality is available based on your life configuration. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: USE_CARD_NUMBER number_INSTALLMENTS.payment_method.card.number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month_INSTALLMENTS.payment_method.card.expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year_INSTALLMENTS.payment_method.card.expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track_INSTALLMENTS.payment_method.card.track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 tag_INSTALLMENTS.payment_method.card.tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 network_token_INSTALLMENTS.payment_method.card.network_token: type: string description: 'The network token,provided by the brands as a more secure alternative to the card number.' method_INSTALLMENTS.payment_method.encryption.method: type: string description: The encryption method used when sending encrypted card data to Global Payments. minLength: 1 maxLength: 50 example: KTB version_INSTALLMENTS.payment_method.encryption.version: type: string description: The version of encryption being used. minLength: 1 maxLength: 50 info_INSTALLMENTS.payment_method.encryption.info: type: string description: The encryption info used when sending encrypted card data to Global Payments. minLength: 1 maxLength: 50 type_INSTALLMENTS.payment_method.encryption.type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. * `BINARY` - Indicates data is binary encoded. * `ASCII` - Indicates data is encoded as ASCII. example: ASCII funding_mode_INSTALLMENTS.funding_mode: type: string enum: - MERCHANT_FUNDED - CONSUMER_FUNDED - HYBRID_FUNDED - BILATERAL - ANY description: | Indicated the funding mode of the Installment plan. Availablity of each funding mode is based on your live configuration * MERCHANT_FUNDED - This will return merchant funded plans only * CONSUMER_FUNDED - This will return consumer funded plans only * HYBRID_FUNDED - This will return both merchant and consumer funded plans * BILATERAL - This will return BILATERAL plans only * ANY - This will return all available plans example: MERCHANT_FUNDED eligible_plans_INSTALLMENTS.eligible_plans: type: string enum: - LIMITED - FULL description: | This is used to specify the number of plans returned. * `LIMITED`- Returns two plans. * `FULL` - Returns all available plans example: LIMITED max_time_unit_number_INSTALLMENTS.terms.max_time_unit_number: type: integer description: This is used to set the maximum number of months for an available installment plan example: 24 max_amount_INSTALLMENTS.terms.max_amount: type: string description: | This is used to set the max amount of each installment in an available plan. It determines how plans are returned. if amount > max_amout then Installment plans are returned in order of longest duration if amount < max_amount then Installment plans are returned in order of shortest duration example: '200' post_installments_response: type: object title: post_installments_response properties: id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - INSTALLMENT_QUERY description: The type of installment request. example: INSTALLMENT_QUERY status: type: string enum: - AVAILABLE - NOT_AVAILABLE description: Indicates the status of the installment. example: AVAILABLE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOPetc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string enum: - US - BG - CA - HK - etc. description: | This is the country the merchant is domiciled in. For example, If if the merchant is based in Canada it must be set to CA.If if the merchant is based in England it must be set to GB.If if the merchant is based in USA it must be set to US.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing program: type: string enum: - VIS description: | This field indicates the installment program the merchant is participating in. * `VIS` - Visa Installments example: VIS terms: type: array items: type: object properties: name: type: string description: Name of the Installment Plan example: a637373 reference: type: string description: A unique identifier used to identify the installment plan. example: 7533d4f7-6a10-5557-2e92-132d06157502 mode: type: string enum: - ISSUER_PROMOTION - BI_LATERAL - ISSUER_DEFAULT - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: ISSUER_PROMOTION count: type: integer description: Indicates the total number of payments to be made over the course of the installment payment plan. example: 99 grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' currency: type: string description: The currency of the fees attached to the installment plan example: EUR time_unit: type: string enum: - DAY - MONTH - YEAR description: This is the frequency of the payments in the installment plan example: MONTH terms_and_conditions: type: array items: type: object properties: url: type: string description: This is the Terms and conditions (T&C) URL hosted by the Issuer to be displayed to the cardholder for acceptance when initiating a plan acceptance for this plan example: www.myurl.com version: type: string description: This indicated the version of the Terms and Conditions displayed to the cardholder example: '2' description: type: string description: Text of the terms and conditions for the installment plan. example: 'You are selecting a 24-month installment plan. The total purchase amount will be deducted from your available credit limit. As set forth in your terms, your installment fee will be 13.99% APR calculated for 24 months. If you miss an installment payment, the standard rate of purchases will apply to the remaining installment balance.' language: type: string description: The language for the terms and conditions text. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en cost_percentage: type: string description: Annual percentage rate (APR) as configured by the Issuer during plan creation. example: '13.99' total_plan_cost: type: string description: This is the total cost of the installment plan inclusive of fees example: '383883' plan_amount: type: string description: This is the amount to be paid at each installment example: '3000' fees: type: object properties: fee_info: type: array items: type: object properties: type: type: string enum: - CONSUMER - CONSUMER_UPFRONT - MERCHANT_FUNDING - MERCHANT_SERVICE description: Fee type(s) with the associated cost percentage or flat fee. example: CONSUMER interest_rate: type: string description: Interest fee rate in percentage applied on Installment payment. example: '5' flat_amount: type: string description: Flat fee applied on the first installment payment in Issuer currency. example: '0' total_amount: type: string description: Total fees charged calculated as total upfront fees + total recurring fees example: '10000' total_subsequent_amount: type: string description: Total recurring fees for this installment plan. example: '12700' subsequent_amount: type: string description: 'The consumer fee for every installment period, including the first one. This fee corresponds to the feeType' example: '1270' total_upfront_amount: type: string description: Total upfront fees charged to the consumer for this installment plan. This is the amount charged upfront along with the first installment principal only. example: '100' upfront_amount: type: string description: 'Upfront fees charged to the consumer for this installment plan. ' example: '100' payment_method: type: object properties: entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM result: type: string description: The result code associated with the payment method used to process this transaction. minLength: 1 maxLength: 50 example: '00' message: type: string description: The result message that better explains the result code. minLength: 1 maxLength: 50 example: APPROVAL card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - FOOD_STAMP - CASH_BENEFITS - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: DEBIT brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string enum: - US - BG - CA - HK - etc. description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - INSTALLMENT_QUERY - INSTALLMENT_SINGLE - INSTALLMENT_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: INSTALLMENT_QUERY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app id_INSTALLMENTS.id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w time_created_INSTALLMENTS.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type_INSTALLMENTS.type: type: string enum: - INSTALLMENT_QUERY description: The type of installment request. example: INSTALLMENT_QUERY status_INSTALLMENTS.status: type: string enum: - AVAILABLE - NOT_AVAILABLE description: Indicates the status of the installment. example: AVAILABLE merchant_id_INSTALLMENTS.merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name_INSTALLMENTS.merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id_INSTALLMENTS.account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b name_INSTALLMENTS.terms.name: type: string description: Name of the Installment Plan example: a637373 reference_INSTALLMENTS.terms.reference: type: string description: A unique identifier used to identify the installment plan. example: 7533d4f7-6a10-5557-2e92-132d06157502 mode_INSTALLMENTS.terms.mode: type: string enum: - ISSUER_PROMOTION - BI_LATERAL - ISSUER_DEFAULT - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: ISSUER_PROMOTION count_INSTALLMENTS.terms.count: type: integer description: Indicates the total number of payments to be made over the course of the installment payment plan. example: 99 grace_period_count_INSTALLMENTS.terms.grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' currency_INSTALLMENTS.terms.fees.currency: type: string description: The currency of the fees attached to the installment plan example: EUR time_unit_INSTALLMENTS.terms.time_unit: type: string enum: - DAY - MONTH - YEAR description: This is the frequency of the payments in the installment plan example: MONTH url_INSTALLMENTS.terms.terms_and_conditions.url: type: string description: This is the Terms and conditions (T&C) URL hosted by the Issuer to be displayed to the cardholder for acceptance when initiating a plan acceptance for this plan example: www.myurl.com version_INSTALLMENTS.terms.terms_and_conditions.version: type: string description: This indicated the version of the Terms and Conditions displayed to the cardholder example: '2' description_INSTALLMENTS.terms.terms_and_conditions.description: type: string description: Text of the terms and conditions for the installment plan. example: 'You are selecting a 24-month installment plan. The total purchase amount will be deducted from your available credit limit. As set forth in your terms, your installment fee will be 13.99% APR calculated for 24 months. If you miss an installment payment, the standard rate of purchases will apply to the remaining installment balance.' language_INSTALLMENTS.terms.terms_and_conditions.language: type: string description: The language for the terms and conditions text. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en cost_percentage_INSTALLMENTS.terms.cost_percentage: type: string description: Annual percentage rate (APR) as configured by the Issuer during plan creation. example: '13.99' total_plan_cost_INSTALLMENTS.terms.total_plan_cost: type: string description: This is the total cost of the installment plan inclusive of fees example: '383883' plan_amount_INSTALLMENTS.terms.plan_amount: type: string description: This is the amount to be paid at each installment example: '3000' type_INSTALLMENTS.terms.fees.fee_info.type: type: string enum: - CONSUMER - CONSUMER_UPFRONT - MERCHANT_FUNDING - MERCHANT_SERVICE description: Fee type(s) with the associated cost percentage or flat fee. example: CONSUMER interest_rate_INSTALLMENTS.terms.fees.fee_info.interest_rate: type: string description: Interest fee rate in percentage applied on Installment payment. example: '5' flat_amount_INSTALLMENTS.terms.fees.fee_info.flat_amount: type: string description: Flat fee applied on the first installment payment in Issuer currency. example: '0' total_amount_INSTALLMENTS.terms.fees.total_amount: type: string description: Total fees charged calculated as total upfront fees + total recurring fees example: '10000' total_subsequent_amount_INSTALLMENTS.terms.fees.total_subsequent_amount: type: string description: Total recurring fees for this installment plan. example: '12700' subsequent_amount_INSTALLMENTS.terms.fees.subsequent_amount: type: string description: 'The consumer fee for every installment period, including the first one. This fee corresponds to the feeType' example: '1270' total_upfront_amount_INSTALLMENTS.terms.fees.total_upfront_amount: type: string description: Total upfront fees charged to the consumer for this installment plan. This is the amount charged upfront along with the first installment principal only. example: '100' upfront_amount_INSTALLMENTS.terms.fees.upfront_amount: type: string description: 'Upfront fees charged to the consumer for this installment plan. ' example: '100' result_INSTALLMENTS.payment_method.result: type: string description: The result code associated with the payment method used to process this transaction. minLength: 1 maxLength: 50 example: '00' message_INSTALLMENTS.payment_method.message: type: string description: The result message that better explains the result code. minLength: 1 maxLength: 50 example: APPROVAL masked_number_last4_INSTALLMENTS.payment_method.card.masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding_INSTALLMENTS.payment_method.card.funding: type: string enum: - DEBIT - CREDIT - FOOD_STAMP - CASH_BENEFITS - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: DEBIT brand_INSTALLMENTS.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA issuer_INSTALLMENTS.payment_method.card.issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country_INSTALLMENTS.payment_method.card.country: type: string enum: - US - BG - CA - HK - etc. description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US masked_network_token_last4_INSTALLMENTS.payment_method.card.masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month_INSTALLMENTS.payment_method.card.network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year_INSTALLMENTS.payment_method.card.network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' id_INSTALLMENTS.action.id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_INSTALLMENTS.action.type: type: string enum: - INSTALLMENT_QUERY - INSTALLMENT_SINGLE - INSTALLMENT_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: INSTALLMENT_QUERY time_created_INSTALLMENTS.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code_INSTALLMENTS.action.result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id_INSTALLMENTS.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_INSTALLMENTS.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app ``` ## Links Source: https://developer.globalpayments.com/api/links.md # Links ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Links description: 'Links allow you create a unique URL to share with your customers. ' x-gp-yaml-file-version: 1.1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /links: get: tags: - Get a list of Links summary: 'Get a list of links recently processed, using criteria passed in the query string. Page through the result set to access all records.' description: "Get a list of links recently processed, using criteria passedin the query string. Page through the result set to access all records.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: get-links parameters: - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: id in: query schema: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_52smri0VJHQdCBdd106I7SFVSdr0c4 - name: status in: query schema: type: string enum: - ACTIVE - CLOSED - PAID - INACTIVE - EXPIRED description: | The overall status of the instance of the resource.The overall status of the instance of the resource. * `ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. * `CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. * `PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. * `INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. * `EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE - name: usage_mode in: query schema: type: string enum: - SINGLE - MULTIPLE description: Indicates whether the link can be used once or multiple times example: SINGLE - name: name in: query schema: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page minLength: 1 maxLength: 120 example: Mobile Bill Payment - name: description in: query schema: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice - name: reference in: query schema: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 - name: country in: query schema: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US - name: amount in: query schema: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 - name: currency in: query schema: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD - name: shippable in: query schema: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' - name: expiration_date in: query schema: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO example: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 - name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 - name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED - name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_2d4ddd693ff7448b97ea420b13aecac2 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: '718575802_978769' filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED links: type: array items: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_52smri0VJHQdCBdd106I7SFVSdr0c4 url: type: string description: The url that can be used as a redirect or within an iframe to perform the function indicated. example: 'https://il01merchantportals.propay.com/ProPayCard/Index?authToken=91e981e3-ec11-418c-bf80-2b828c8a5b0f&accountnum=718575797' status: type: string enum: - ACTIVE - CLOSED - PAID - INACTIVE - EXPIRED description: | The overall status of the instance of the resource.The overall status of the instance of the resource. * `ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. * `CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. * `PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. * `INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. * `EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates whether the link can be used once or multiple times example: SINGLE usage_limit: type: string description: The number of the times that the link can be used or paid. example: 5 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page minLength: 1 maxLength: 120 example: Mobile Bill Payment description: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice shippable: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: 1000 usage_count: type: string description: Indicates the number of times that a link has already been successfully paid. example: 5 viewed_count: type: string description: The number of times a link has been viewed. example: 10 expiration_date: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' images: type: array description: Base64 encoded images of the products / services that you want to display on the hosted payment page. items: type: string notifications: type: object properties: return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' example: 'https://www.example.com/notifications/return' status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/return' cancel_url: type: string description: The merchant URL that the customer will be redirected to if they chose to cancel. example: 'https://www.example.com/notifications/return' transactions: type: array items: type: object properties: amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 channel: type: string description: 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 example: CP country: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD allowed_payment_methods: type: array description: 'The payment methods available to create transactions with. * `CARD` - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code.' items: type: string enum: - CARD example: CARD transaction_list: type: array items: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the transaction. minLength: 1 maxLength: 100 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. example: '2021-10-01' status: type: string description: 'Indicates where a transaction is in its lifecycle. * INITIATED - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * PENDING - A Transaction has been sent to the payment method provider and are waiting for a result. * PREAUTHORIZED - A Transaction has been approved but a capture request is required to commence the movement of funds. * CAPTURED - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * REVERSED - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * DECLINED - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * FUNDED - A Transaction where the funds have transferred between payer and merchant as expected. * REJECTED - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations.' maxLength: 50 example: INITIATED type: type: string description: 'Describes 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.' example: SALE channel: type: string description: 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 example: CP amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - LINK_CREATE - LINK_EDIT - LINK_SINGLE - LINK_LIST description: The type of action executed for the Link. minLength: 1 maxLength: 50 example: LINK_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: example-1: current_page_size: '2' merchant_id: MER_7332fe063f02434784c080be06d1da53 merchant_name: testing_links_1 filter: from_time_created: '2022-02-28T00:00:00.000Z' to_time_created: '2022-05-03T23:59:59.999Z' paging: page_size: '2' page: '1' order: DESC order_by: TIME_CREATED links: - id: LNK_cUdHEl8zuPHeufZ0F0HlddjnlFx86C url: 'https://apis.sandbox.globalpay.com/ucp/postback/transactions/LNK_cUdHEl8zuPHeufZ0F0HlddjnlFx86C/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl83MzMyZmUwNjNmMDI0MzQ3ODRjMDgwYmUwNmQxZGE1MyIsImFjY291bnRfaWQiOiIiLCJtZXJjaGFudF9uYW1lIjoidGVzdGluZ19saW5rc18xIiwiYWNjb3VudF9uYW1lIjoiIiwiYnV5ZXJfdXJsIjoiaHR0cHM6Ly9ncGFwaS1zYW5kYm94LnRydXVzdC5pby9SaFhsSnYiLCJhcHBfaWQiOiJuc2twU0ZQRHVZb05STlgzM3k4QVIweFVnZllqY3BBbyIsImFwcF9uYW1lIjoiTGlua3MgVGVzdGluZyAxIiwiYXBwX2RldmVsb3BlciI6ImNvbG0ucmVpZEBnbG9iYWxwYXkuY29tIiwiWC1HUC1WZXJzaW9uIjoiMjAyMS0wMy0yMiJ9' status: ACTIVE type: PAYMENT allowed_payment_methods: - CARD usage_mode: SINGLE paid_count: '1' reference: TRANS-202220212020100 name: GPAPI Pay By Link description: This is a sample request for payment to GPAPI Group active: 'TRUE' shippable: 'FALSE' viewed_count: null expiration_date: '2022-12-20T00:35:28Z' images: - 'https://gpapi-sandbox.truust.io/assets/images/37381.jpg' notifications: return_url: 'https://enc1by8rq2lrj.x.pipedream.net/' status_url: 'https://en6eyj88jeouj.x.pipedream.net/' cancel_url: 'https://enc1by8rq2lrj.x.pipedream.net/' transactions: [] - id: LNK_Gd3Z4i0mXoICyMUnhlEpTBhyzAXDDO url: 'https://apis.sandbox.globalpay.com/ucp/postback/transactions/LNK_Gd3Z4i0mXoICyMUnhlEpTBhyzAXDDO/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl83MzMyZmUwNjNmMDI0MzQ3ODRjMDgwYmUwNmQxZGE1MyIsImFjY291bnRfaWQiOiIiLCJtZXJjaGFudF9uYW1lIjoidGVzdGluZ19saW5rc18xIiwiYWNjb3VudF9uYW1lIjoiIiwiYnV5ZXJfdXJsIjoiaHR0cHM6Ly9ncGFwaS1zYW5kYm94LnRydXVzdC5pby9WS2pGdlgiLCJhcHBfaWQiOiJuc2twU0ZQRHVZb05STlgzM3k4QVIweFVnZllqY3BBbyIsImFwcF9uYW1lIjoiTGlua3MgVGVzdGluZyAxIiwiYXBwX2RldmVsb3BlciI6ImNvbG0ucmVpZEBnbG9iYWxwYXkuY29tIiwiWC1HUC1WZXJzaW9uIjoiMjAyMS0wMy0yMiJ9' status: ACTIVE type: PAYMENT allowed_payment_methods: - CARD usage_mode: SINGLE paid_count: '1' reference: TRANS-202220212020100 name: GPAPI Pay By Link description: This is a sample request for payment to GPAPI Group active: 'TRUE' shippable: 'FALSE' viewed_count: '1' expiration_date: '2022-12-20T00:35:28Z' images: - 'https://gpapi-sandbox.truust.io/assets/images/37278.jpg' notifications: return_url: 'https://enc1by8rq2lrj.x.pipedream.net/' status_url: 'https://en6eyj88jeouj.x.pipedream.net/' cancel_url: 'https://enc1by8rq2lrj.x.pipedream.net/' transactions: - id: TRN_bseKkbf2qwWvtyRWqa8FuDgGSLs0Fq_bed8b39faf29 time_created: '2022-04-11T13:19:23.802000000Z' status: CAPTURED type: SALE channel: CNP amount: '2500' currency: USD reference: 65575dee-5076-4cde-b5a1-bed8b39faf29 action: id: ACT_XBZaudEWbss4dZfyCKyIOBn4g5mnyv type: LINK_LIST time_created: '2022-05-03T10:55:05.415Z' result_code: SUCCESS app_id: nskpSFPDuYoNRNX33y8AR0xUgfYjcpAo app_name: Links Testing 1 '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Unauthorized content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not Implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment post: tags: - Create a link summary: Create a new link description: "The PayLink API allows you to generate single or multi-use unique payment links. These links can be sent to consumers. You can send these links to your customers via any channel, for example, email, SMS etc. When the customer clicks on the link they will be redirected to a page where they can make a payment.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: post-links parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO example: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: content: application/json: schema: type: object properties: merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_880c34767b184d5e82b10e767201e648 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: '718575802_978769' account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_2d4ddd693ff7448b97ea420b13aecac2 type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE function: type: string enum: - DEPOSIT_REPORT - UPDATE_PRIMARY_ACCOUNT - CONFIRM_VALIDATION_DEPOSITS - SEND_VALIDATION_DEPOSITS - UPDATE_PAYOUT_CARD - FUND_PAYOUT_CARD - FUND_PRIMARY_PAYOUT - FMA_TRANSFER - CREDIT_FMA - SCHEDULED_FUND - UPDATE_BUSINESS_INFORMATION - UPDATE_ADDRESS_PHONE - UPDATE_EMAIL - PREPAID_CARD_INDEX - REQUEST_PREPAID_CARD - ACTIVATE_PREPAID_CARD - LOST_PREPAID_CARD - UPDATE_PREPAID_CARD_PIN - REISSUE_PREPAID_CARD - UPDATE_PAYMENT_METHOD - DOCUMENT_UPLOAD - CHARGEBACK_REPORT - ADVANCED_TRANSACTION_SEARCH - CONSOLIDATED_FEES - LIMITS_RATES_FEES - TRANSACTION_REPORT - GB_FEES_REPORT description: | Describes the function the link created can have: * `DEPOSIT_REPORT`- is a merchant report that will display all transactions in a Global Payments automated sweep. * `UPDATE_PRIMARY_ACCOUNT` is a page that allows a merchant to update the primary payout bank information on an account. * `CONFIRM_VALIDATION_DEPOSITS` is a page that allows a merchant to validate the micro deposits that have been dposited to the primary payout payment method on file. * `SEND_VALIDATION_DEPOSITS` is a page that allows a merchant to trigger 2 micro deposits to the primary bank accoutn on file to validate the bank account. * `UPDATE_PAYOUT_CARD` is a page that allows a merchant to update the payout card on file. * `FUND_PAYOUT_CARD` is a page that allows amerchant to initiate a payout to the payout card on file. * `FUND_PRIMARY_PAYOUT` is a page that allows a merchant to initiate a payout to the primary payout payment method on file. * `FMA_TRANSFER is a page that allows a merchant to send funds to another merchant. * `CREDIT_FMA` is a page that allows a merchant to pull funds from a bank account into the funds management account. * `SCHEDULED_FUND` is a page that allows a merchant to schedule a funds payout to thier primary payout payment method on file. * `UPDATE_BUSINESS_INFORMATION` is a page that allows a merchant to update the business information associated on thier merchant account. * `UPDATE_ADDRESS_PHONE` is a page that allows a merchant to update the phone and addresses associated with a merchant account. * `UPDATE_EMAIL` is a page that allows a merchant to update the primary email address associated with a merchant account. * `PREPAID_CARD_INDEX` is a page that allows a merchant to view information about their prepaid debit card linked to thier merchant account balance. * `REQUEST_PREPAID_CARD` is a page that allows a merchant to agree to terms and conditions and request a prepaid debit card linked to the balance in a merchant account. * `ACTIVATE_PREPAID_CARD` is a page that allows a merchant to activate a prepaid debit card linked to the balance in thier merchant account. * `LOST_PREPAID_CARD` is a page that allows a merchant to mark the prepaid debit card linked to their merchant balance lost or stolen. * `UPDATE_PREPAID_CARD_PIN` is a page that allows a merchant to update the 4 digit pin associated with the prepaid debit card to access funds in the merchant account. * `REISSUE_PREPAID_CARD` is a page that allows a merchant to request an updated prepaid debit card to access the funds in the merchant account. * `UPDATE_PAYMENT_METHOD` is a page that allows a merchant to edit/update the account activation fee payment method on file. * `DOCUMENT_UPLOAD` is a page that will allow a merchant upload documents related to merchant identity validation, underwriting and risk review. * `CHARGEBACK_REPORT` is a page that will display all active disputed transactions and allow document uploads to respond to the listed disputes for a merchant. * `ADVANCED_TRANSACTION_SEARCH` is a page that allows a user to set criteria and generate a report. * `CONSOLIDATED_FEES` is a page that will show the consolidated fees for a merchant within ane stablished timeframe. * `LIMITS_RATES_FEES` is a page that displays the processing limits and processing fees on a merchant account. * `TRANSACTION_REPORT` is a page that allows a user to view all transactions within an established timeframe. * `GB_FEES_REPORT` is a page that allows a merchant to review fees they will be charged, as is required by PSR (Payment Systems Regulator). example: REQUEST_PREPAID_CARD app_email: type: string title: app_email_LINKS.app_email description: Indicates the email where app credentials should be sent. Used with EXCHANGE_APP_CREDENTIALS. example: someone@email.com app_ids: type: array title: app_ids_LINKS.app_ids description: Indicates the apps you want the credentials for. Credentials will be sent to the requested app_email. items: type: string example: yAIeZMkreGxgyGt7Azvum6iLHZAmlqcM referrer_url: type: string description: The url of the page requesting the page. example: 'https://developer.globalpay.com/' ip_address: type: string description: The ip address of the page that will host the third-party page generated. example: 255.255.255.0 ip_subnet_mask: type: string description: The IP address of the device requesting the page. example: 255.255.255.0 display_configuration: type: object properties: iframe_dimensions_domain: type: string description: 'This field must contain the domain of the application hosting the iFrame or WebView. This will tell the HPP to post back the height and width any time it changes, for example if an input warning is displayed.' iframe_response_domain: type: string description: This field must contain the domain of the application hosting the iFrame or WebView. This will tell the HPP to post back the transaction response to the parent frame or window. The response is posted back as a name/value pair JSON string with the values Base64 encoded. (string) cardholder_name: type: string enum: - 'YES' - 'NO' description: This field is used to hide or display the cardholder's full name on the HPP form. default: 'YES' cvv: type: string enum: - 'YES' - 'NO' description: This field is used to ask whether or not the cardholder's CVV on the HPP form. By default this is a YES value default: 'YES' transactions: type: object properties: allowed_payment_methods: type: array description: 'The payment methods available to create transactions with. * `CARD` - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code.' items: type: string enum: - CARD example: CARD amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 channel: type: string description: 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 example: CP currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD country: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. example: CP risk_assessment: type: object properties: mode: type: string required: - allowed_payment_methods - amount - channel - currency - country usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates whether the link can be used once or multiple times example: SINGLE usage_limit: type: string description: The number of the times that the link can be used or paid. example: 5 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page minLength: 1 maxLength: 120 example: Mobile Bill Payment description: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice shippable: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: 1000 expiration_date: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' message_type: type: string enum: - EMAIL - SMS - EMAIL_AND_SMS description: Indicates the delivery method of the link notification example: EMAIL 'images ': type: object properties: b64_content: type: string description: Base64 encoded image. payer: type: object properties: status: type: string enum: - NEW - ACTIVE description: 'Indicates whether the payer is new or existing (active). `NEW ` - Payer is newly created. Customer can store the card on the HPP, which is associated with the Payer ID. `ACTIVE `- Payer was created previously. Any payment methods stored with this payer are displayed on the HPP.' minLength: 1 maxLength: 50 example: ACTIVE id: type: string description: A unique identifier generated by the platform to identify a payer minLength: 1 maxLength: 50 example: PYR_a488356f29ac4e4c9a89977652a3215e name: type: string description: Name of the payer minLength: 1 maxLength: 50 first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: Mason language: type: string description: Language used by the payer minLength: 1 maxLength: 50 example: en email: type: string description: The email of the payer minLength: 1 maxLength: 50 email_subject: type: string description: The subject of the email notification. email_content: type: string description: The content of the email notification mobile_phone: type: object properties: country_code: type: string description: The country code that is used when dialling the phone number from another country.For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 50 subscriber_number: type: string description: Mobile phone number of the payer. minLength: 1 maxLength: 50 subscriber_content: type: string description: The content for the SMS notification. billing_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the billing address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the billing address. minLength: 1 maxLength: 50 example: Foyer city: type: string description: City associated with the billing address. minLength: 1 maxLength: 50 example: Beverly Hills postal_code: type: string description: Postal code of the billing address. minLength: 1 maxLength: 50 example: 90210 country: type: string description: This is the country of the address represented as in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US address_match_indicator: type: string enum: - 'YES' - 'NO' description: Indicates whether the shipping address matches the billing address. minLength: 1 maxLength: 50 example: 'YES' order: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: 1999 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the order minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc95 transaction_configuration: type: object properties: channel: type: string enum: - CP - CNP description: 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 minLength: 1 maxLength: 50 example: CNP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US capture_mode: type: string enum: - AUTO - LATER - MULTIPLE description: | Indicates whether the transaction is to be captured automatically, later or later using more than 1 partial original authorized amount. * `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. minLength: 1 maxLength: 50 example: AUTO currency_conversion_mode: type: string enum: - 'YES' - 'NO' description: This field determines whether DCC is activated or not minLength: 1 maxLength: 50 example: 'YES' allowed_payment_methods: type: array description: 'Indicates which payment method(s) to offer the customer, or route customers to a specific one.' items: type: string enum: - CARD - BLIK - BANK_PAYMENT example: CARD surcharge: type: array items: type: object properties: card_type: type: string enum: - DEBIT - CREDIT - COMMERCIAL description: 'This indicates whether the surcharge is for a DEBIT, CREDIT or COMMERCIAL card type by the merchant' example: Chicago amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: Chicago payment_method_configuration: type: object properties: authentication: type: object properties: preference: type: string enum: - NO_PREFERENCE - NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERRED - CHALLENGE_MANDATED - NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED - NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY - NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED - NO_CHALLENGE_REQUESTED_WHITELIST - CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST description: Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. Allowed values please refer to authentication specification minLength: 1 maxLength: 50 example: NO_PREFERENCE exempt_status: type: string enum: - LOW_VALUE title: exempt_status_LINKS.order.payment_method_configuration.authentication.exempt_status description: | Indicates if any exemptions apply to this transaction in the case of HOSTED_PAYMENT_PAGE type transactions. * `LOW_VALUE` - Transactions up to 30 EUR (or converted equivalent) can be exempted from SCA (Strong Customer Authentication), dependent on the following criteria: Up to a maximum of five (5) consecutive transactions. Or, up to a cumulative limit of 100 EUR (or converted equivalent)* billing_address_required: type: string enum: - 'YES' - 'NO' description: | This flag is set by the merchant to indicate if the billing address for 3DS authentication of a transaction can be skipped. minLength: 1 maxLength: 50 example: 'NO' apm: type: object properties: shipping_address_enabled: type: string enum: - 'YES' - 'NO' description: This field determines whether the passing of PayPal shipping address details will be activated or not minLength: 1 maxLength: 50 example: 'NO' address_override: type: string enum: - 'YES' - 'NO' description: Determines whether the shipping address can be changed by the customer on the PayPal review page minLength: 1 maxLength: 50 example: 'NO' storage_mode: type: string enum: - ALWAYS - ON_SUCCESS - PROMPT description: Indicates whether to store the card as part of a transaction. `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful `PROMPT` - Prompt the payer to store their card example: PROMPT entry_mode: type: string enum: - ECOM - MOTO description: | Indicates how the payment method information was obtained by the Merchant for this transaction. MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. ECOM - A CNP channel entry mode where the payment method was obtained via a browser digital_wallets: type: object properties: provider: type: array description: 'This field is used to enable/disable Google Pay, Apple Pay, Click to Pay button on HPP.' items: type: string enum: - GOOGLE_PAY - APPLE_PAY - CLICK_TO_PAY stored_credential: type: object properties: model: type: string enum: - UNSCHEDULED - RECURRING - INSTALLMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions. * `UNSCHEDULED` - the transaction is ad hoc or unscheduled. For example a payer visiting a merchant to make purchase using the payment method stored with the merchant. * `RECURRING` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. * `INSTALLMENT` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions and where the amount is known and agreed in advanced. For example the payment in full of a good in fixed installments over a defined period of time. initiator: type: string enum: - PAYER - MERCHANT description: |- 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. sequence: type: string enum: - FIRST - SUBSEQUENT description: 'Indicates the order of this transaction in the sequence of a planned, repeating transaction processing model.' shipping_address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 50 example: Flat 123 line_2: type: string description: Second line of the address minLength: 1 maxLength: 50 example: House 456 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: Btower city: type: string description: The city associated with the address minLength: 1 maxLength: 50 example: Chicago postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: 50001 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: IL country: type: string description: This is the country of the address represented as in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US shipping_phone: type: object properties: country_code: type: string description: The country code that is used when dialling the phone number from another country.For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 50 example: 1 subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: 23456789 notifications: type: object properties: return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' example: 'https://www.example.com/notifications/return' status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/return' cancel_url: type: string description: The merchant URL that the customer will be redirected to if they chose to cancel. example: 'https://www.example.com/notifications/return' installment: type: object properties: funding_mode: type: string enum: - MERCHANT_FUNDED - CONSUMER_FUNDED - HYBRID_FUNDED - BILATERAL - ANY description: | Indicated the funding mode of the Installment plan. Availablity of each funding mode is based on your live configuration * MERCHANT_FUNDED - This will return merchant funded plans only * CONSUMER_FUNDED - This will return consumer funded plans only * HYBRID_FUNDED - This will return both merchant and consumer funded plans * BILATERAL - This will return BILATERAL plans only * ANY - This will return all available plans minLength: 1 maxLength: 50 example: MERCHANT_FUNDED terms: type: object properties: max_time_unit_number: type: number description: This is used to set the maximum number of months for an available installment plan example: 24 max_amount: type: string description: | This is used to set the max amount of each installment in an available plan. It determines how plans are returned. if amount > max_amout then Installment plans are returned in order of longest duration if amount < max_amount then Installment plans are returned in order of shortest duration example: 200 required: - type - usage_mode - name - description examples: Create a PayLink: value: merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 account_name: Transaction_Processing type: PAYMENT usage_mode: MULTIPLE usage_limit: '1000' reference: Restaurant name: 'Invoice #1234567' description: '3 x pizzas, 4 x 7up' shippable: 'NO' expiration_date: '2026-12-20T00:35:28Z' transactions: allowed_payment_methods: - CARD amount: '4999' channel: CNP country: GB currency: GBP images: - b64_content: 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 notifications: return_url: 'https://www.example.com/notifications/return' status_url: 'https://www.example.com/notifications/status/' cancel_url: 'https://www.example.com/notifications/cancel' Create A Third Party Page Link: value: account_id: FMA_bde109d70fb24d78b25fd364317dd9dc type: THIRD_PARTY_PAGE function: REQUEST_PREPAID_CARD referrer_url: 'http://www.myurl.com' ip_address: 206.192.156.0 ip_subnet_mask: 255.255.255.0 Create a HPP Link: value: account_name: transaction_processing_3 type: HOSTED_PAYMENT_PAGE name: Mobile Bill Payment description: map_COMMENT1 reference: 18500-638568128282978049 expiration_date: '2026-12-20T00: 35: 28Z' payer: status: ACTIVE id: PYR_a488356f29ac4e4c9a89977652a3215e name: James Mason first_name: James last_name: Mason language: en email: jamesmason@example.com mobile_phone: country_code: '44' subscriber_number: '1801555888' billing_address: line_1: bill_street1 line_2: bill_street2 line_3: bill_street3 city: Bill_city postal_code: '44' country: IE address_match_indicator: 'YES' order: amount: '1000' currency: EUR reference: '123456789' transaction_configuration: channel: CNP country: GB capture_mode: AUTO curreny_conversion_mode: 'ON' allowed_payment_methods: - CARD - BANK_PAYMENT payment_method_configuration: authentications: preference: CHALLENGE_PREFERRED exempt_status: LOW_VALUE billing_address_required: 'YES' apm: shipping_address_enabled: 'YES' address_override: 'YES' storage_mode: PROMPT shipping_address: line_1: Flat 123 line_2: House 456 line_3: Btower city: Chicago postal_code: '50001' state: IL country: US shipping_phone: country_code: '99' subscriber_number: '1801555999' notifications: return_url: 'https://envntz1qa15bi.x.pipedream.net/' status_url: 'https://envntz1qa15bi.x.pipedream.net/' Exchange APP Credentials: value: account_id: TRA_5cdae3d9551142d387f8f40a2739fb4c type: EXCHANGE_APP_CREDENTIALS app_email: someone@email.com app_ids: - yAIeZMkreGxgyGt7Azvum6iLHZAmlqcM Create a HPP Link - PayU: value: account_name: PAYU_APM_Transaction_Processing type: HOSTED_PAYMENT_PAGE name: Mobile Bill Payment description: March Invoice usage_mode: SINGLE usage_limit: '1' reference: Test PayU HPP for March Invoice expiration_date: '2026-12-21T11:55:03Z' payer: name: James Mason language: en email: jamesmason@example.com billing_address: line_1: 123 Maison Avenue line_2: Hill Road line_3: Paluch city: Warsaw postal_code: '123456' country: PL order: amount: '1000' currency: PLN reference: Test PayU HPP for March Invoice transaction_configuration: channel: CNP country: PL capture_mode: AUTO currency_conversion_mode: 'YES' allowed_payment_methods: - CARD - BANK_PAYMENT - BLIK payment_method_configuration: authentication: preference: NO_CHALLENGE_REQUESTED apm: shipping_address_enabled: 'NO' address_override: 'NO' storage_mode: PROMPT shipping_amount: '100' shipping_address: line_1: 123 Maison Avenue line_2: Hill Road line_3: Paluch city: Warsaw postal_code: '123456' country: PL notifications: return_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' status_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' cancel_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' Create a HPP Link - BLIK: value: account_name: APM_Transaction_Processing type: HOSTED_PAYMENT_PAGE name: Mobile Bill Payment description: February Invoice usage_mode: SINGLE usage_limit: '1' reference: Test HPP BLIK February Invoice expiration_date: '2026-12-21T11:55:03Z' payer: name: James Mason language: en email: jamesmason@example.com billing_address: line_1: 123 Maison Avenue line_2: Hill Road line_3: Paluch city: Warsaw postal_code: '482002' country: PL order: amount: '1000' currency: PLN reference: BLIK February Invoice transaction_configuration: channel: CNP country: PL capture_mode: AUTO currency_conversion_mode: 'YES' allowed_payment_methods: - CARD - BANK_PAYMENT - BLIK payment_method_configuration: authentication: preference: NO_CHALLENGE_REQUESTED apm: shipping_address_enabled: 'NO' address_override: 'NO' notifications: return_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' status_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' cancel_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' Create a HPP link - VISA Installments: value: account_name: GPECOM_HPP_Transaction_Processing type: HOSTED_PAYMENT_PAGE name: Mobile Bill Payment description: February and March Invoice usage_mode: SINGLE usage_limit: '1' reference: TRANS-20231218062503340Za51b72e6ee shippable: 'NO' expiration_date: '2023-12-21T11:55:03Z' payer: status: ACTIVE reference: '1234' id: ABC123 name: James Mason language: en email: jamesmason@example.com mobile_phone: country_code: '44' subsriber_number: '1801555888' billing_address: line_1: uprenganj line_2: gopal bag line_3: damohnaka city: jabalpur postal_code: '482002' country: IN address_match_indicator: 'NO' first_name: James last_name: Mason order: amount: '1000' currency: EUR reference: ' REF-23' transaction_configuration: channel: CNP country: US capture_mode: AUTO currency_conversion_mode: 'NO' allowed_payment_methods: - CARD - BANK_PAYMENT - BLIK payment_method_configuration: authentication: preference: NO_CHALLENGE_REQUESTED apm: shipping_address_enabled: 'NO' address_override: 'NO' storage_mode: PROMPT shipping_address_mode: '' shipping_amount: '100' shipping_address: line_1: Flat 123 line_2: House 456 line_3: Btower city: Chicago postal_code: '50001' state: IL country: US shipping_phone: country_code: '91' subscriber_number: '9576454325' installment: funding_mode: MERCHANT_FUNDED terms: max_time_unit_number: 24 max_amount: '100000' notifications: return_url: 'https://webhook.site/0b8b6210-4e1b-48bc-9f26-6893d990961e/' status_url: 'https://webhook.site/0b8b6210-4e1b-48bc-9f26-6893d990961e/' cancel_url: 'https://webhook.site/0b8b6210-4e1b-48bc-9f26-6893d990961e/' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_52smri0VJHQdCBdd106I7SFVSdr0c4 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: '718575802_978769' url: type: string description: The url that can be used as a redirect or within an iframe to perform the function indicated. example: 'https://il01merchantportals.propay.com/ProPayCard/Index?authToken=91e981e3-ec11-418c-bf80-2b828c8a5b0f&accountnum=718575797' status: type: string enum: - ACTIVE - CLOSED - PAID - INACTIVE - EXPIRED description: | The overall status of the instance of the resource.The overall status of the instance of the resource. * `ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. * `CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. * `PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. * `INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. * `EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates whether the link can be used once or multiple times example: SINGLE usage_limit: type: string description: The number of the times that the link can be used or paid. example: 5 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 app_email: type: string title: app_email_LINKS.app_email description: Indicates the email where app credentials should be sent. Used with EXCHANGE_APP_CREDENTIALS. example: someone@email.com app_ids: type: array title: app_ids_LINKS.app_ids description: Indicates the apps you want the credentials for. Credentials will be sent to the requested app_email. items: type: string example: yAIeZMkreGxgyGt7Azvum6iLHZAmlqcM description: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page minLength: 1 maxLength: 120 example: Mobile Bill Payment shippable: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: 1000 viewed_count: type: string description: The number of times a link has been viewed. example: 10 expiration_date: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' transactions: type: object properties: channel: type: string description: 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 example: CP amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD country: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US allowed_payment_methods: type: array description: 'The payment methods available to create transactions with. * `CARD` - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code.' items: type: string enum: - CARD example: CARD order: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: 1999 currency: type: string description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the order minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc95 transaction_configuration: type: object properties: country: type: string description: '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.' minLength: 2 maxLength: 2 example: US channel: type: string enum: - CP - CNP description: 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 minLength: 1 maxLength: 50 example: CNP images: type: array description: Base64 encoded images of the products / services that you want to display on the hosted payment page. items: type: string action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - LINK_CREATE - LINK_EDIT - LINK_SINGLE - LINK_LIST description: The type of action executed for the Link. minLength: 1 maxLength: 50 example: LINK_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: Example 1: id: LNK_m2tZnCSJrjfivrNntzWaSoiNKFX3Ov account_name: paylink url: 'https://apis.sandbox.globalpay.com/ucp/postback/MjAyMTAzMjJfcm1KNmlp' status: ACTIVE type: PAYMENT usage_mode: MULTIPLE usage_limit: '100' reference: iphone 14 abc name: iphone 14 description: Votre adhésion vous donne droit aux échanges de services pendant un an. L'essence est un moyen de nous mouvoir tous ensemble shippable: 'NO' shipping_amount: '0' viewed_count: '0' expiration_date: '2023-12-20T00:35:28Z' transactions: channel: CNP amount: '10' currency: GBP country: GB allowed_payment_methods: - CARD images: - 'https://gpapi-pre.truust.io/assets/images/pEGjm4VWqB.jpg' action: id: ACT_m2tZnCSJrjfivrNntzWaSoiNKFX3Ov type: LINK_CREATE time_created: '2023-06-15T08:58:42.164Z' result_code: SUCCESS app_id: 07V8FC6G7kZvdUBpqGYWBBgnWdQ59HOv app_name: Colm Sandbox Merchant 3 examples: PayLink: value: id: LNK_roQbkm49oIrKQpoibb3O5Ha0hxiotK account_name: string url: 'https://apis.sandbox.globalpay.com/ucp/eyJtZXJjysyss73' status: ACTIVE type: PAYMENT channel: CNP amount: '11099' currency: USD country: US usage_mode: SINGLE usage_limit: '5' usage_count: '5' reference: stringst name: Mobile Bill Payment description: February and March Invoice shippable: 'YES' viewed_count: '10' expiration_date: '2025-12-20T23:59:59Z' action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: LINK_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy app_name: demo_app Third Party Page: value: id: LNK_XaIqQX1YiueBWAqv7yYsr6epE2WWhK account_name: '718554116_869647' status: ACTIVE type: THIRD_PARTY_PAGE function: REQUEST_PREPAID_CARD time_created: '2023-01-31T18:32:53.255Z' time_last_updated: '2023-01-31T18:32:53.255Z' url: 'https://il01merchantportals.propay.comProPayCard/RequestCard?authToken=32b89fb3-29aa-4f73-b16d-44f4fd0bce9a&accountnum=718554116' action: id: ACT_XaIqQX1YiueBWAqv7yYsr6epE2WWhK type: LINK_CREATE time_created: '2023-01-31T18:32:53.255Z' result_code: SUCCESS app_id: QSokpqb8huzaGIgBJNTTundAQXIACpDH app_name: PayAbli Exchange APP Credentials: value: id: LNK_4875d13e2922426eb7bf657c12a787 url: 'https://mcscert.np-mcs.globalpay.com/apis/web-client/unifiedpayments?linkId=LNK_4875d13e2922426eb7bf657c12a787' status: ACTIVE type: EXCHANGE_APP_CREDENTIALS app_email: someone@email.com app_ids: - yAIeZMkreGxgyGt7Azvum6iLHZAmlqcM action: id: ACT_vVgjbQ0jBmh8ffAte7bM1PXX46HJAI type: LINK_CREATE time_created: '2025-05-08T12:42:26.870Z' result_code: SUCCESS app_id: yAIeZMkreGxgyGt7Azvum6iLHZAmlqcM app_name: test_app Create a HPP Link - PayU: value: id: LNK_pxaTwigZVaa0wp4SZju99LPmjTBJ3f account_name: APM_Transaction_Processing url: 'https://apis.sandbox.globalpay.com/ucp/hpp/redirect/50b33850-988d-4e2c-af7c-b7c2fd978f6a' status: ACTIVE type: HOSTED_PAYMENT_PAGE usage_mode: SINGLE usage_limit: '1' name: Mobile Bill Payment description: March Invoice expiration_date: '2026-12-21T11:55:03Z' order: amount: '1000' currency: PLN reference: Test PayU HPP for March Invoice transaction_configuration: country: PL channel: CNP action: id: ACT_pxaTwigZVaa0wp4SZju99LPmjTBJ3f type: LINK_CREATE time_created: '2025-07-22T17:22:13.767Z' result_code: SUCCESS app_id: p2GgW0PntEUiUh4qXhJHPoDxxxxxxxx app_name: Test_App Create a HPP Link - BLIK: value: id: LNK_6I2Ek6dhScaK3aOOqvsTrQUGIxxxxxL account_name: APM_Transaction_Processing url: 'https://apis.sandbox.globalpay.com/ucp/hpp/redirect/778488e8-c9c1-4039-b68c-ce40f452e3d2' status: ACTIVE type: HOSTED_PAYMENT_PAGE usage_mode: SINGLE usage_limit: '1' name: Mobile Bill Payment description: February Invoice expiration_date: '2026-12-21T11:55:03Z' order: amount: '1000' currency: PLN reference: BLIK February Invoice transaction_configuration: country: PL channel: CNP action: id: ACT_6I2Ek6dhScaK3aOOqvsTrQUGIxMyjL type: LINK_CREATE time_created: '2025-07-22T17:23:01.036Z' result_code: SUCCESS app_id: p2GgW0PntEUiUh4qXhJHPoDxxxxxxxx app_name: Test_App Create a HPP link - VISA Installments: value: id: LNK_skVNQW92nhzHBjlAratmy7Fcfqx9n3 account_name: GPECOM_HPP_Transaction_Processing url: 'https://apis-qa.globalpay.com/ucp/hpp/redirect/2cb12b44-24c5-4e11-8426-55157fcb4ef2' status: ACTIVE type: HOSTED_PAYMENT_PAGE usage_mode: SINGLE usage_limit: '1' name: Mobile Bill Payment description: February and March Invoice expiration_date: '2026-02-28T12:34:17.509Z' order: amount: '1000' currency: EUR reference: ' REF-23' transaction_configuration: country: US channel: CNP action: id: ACT_skVNQW92nhzHBjlAratmy7Fcfqx9n3 type: LINK_CREATE time_created: '2026-02-27T12:34:17.509Z' result_code: SUCCESS app_id: hlZAokTftDazLlWDPe8E6VAz5g9rSDPg app_name: UCP_Test_Automation_App '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Unauthorized content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not Implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' callbacks: notification: '{$request.body#/notifications/status_url}': post: requestBody: description: '' content: application/json: schema: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the transaction. minLength: 1 maxLength: 100 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time example: '2023-03-10T13:14:48.386Z' type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE status: type: string enum: - ACTIVE - CLOSED - PAID - INACTIVE - EXPIRED description: | The overall status of the instance of the resource.The overall status of the instance of the resource. * `ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. * `CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. * `PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. * `INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. * `EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE channel: type: string description: 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. example: CP capture_mode: type: string enum: - AUTO - LATER - MULTIPLE description: | Indicates whether the transaction is to be captured automatically, later or later using more than 1 partial original authorized amount. * `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. minLength: 1 maxLength: 50 example: AUTO amount: type: string description: The 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. minLength: 1 maxLength: 50 example: 1999 currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD country: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: '718575802_978769' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 payment_method: type: object properties: id: type: string description: This is the ID of the Payment Method used in the transaction this callback is referring to example: PMT_30d0e8b2-1a00-4fa6-8397-bccc967a6172 result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. example: AUTHORISED entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM authentication: type: object properties: three_ds: type: object properties: value_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 link_data: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_7II5TvOfzAeo46LOqUeUyBQFnhW5R0 url: type: string description: The URL that the customer was redirected to in order to make their payment example: 'https://www.example.com' status: type: string enum: - ACTIVE - INACTIVE - CLOSED - EXPIRED - PAID description: | The overall status of the instance of the resource.The overall status of the instance of the resource. *`ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. *`CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. *`PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. *`INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. *`EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE usage_mode: type: string nullable: true enum: - null description: Indicates whether the link was used once or multiple times example: SINGLE usage_limit: type: string description: The number of the times that the link could be used or paid. example: 5 reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: ABC123 name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page. minLength: 1 maxLength: 120 example: Mobile Bill Payment description: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice shippable: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: '1000' usage_count: type: string description: Indicates the number of times that a link has already been successfully paid. example: 5 viewed_count: type: number description: The number of times a link has been viewed. example: 10 expiration_date: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' images: type: string description: Base64 encoded image. notifications: type: object properties: return_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/return' status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/return' cancel_url: type: string description: The merchant URL that the customer will be redirected to if they chose to cancel. example: 'https://www.example.com/notifications/return' action: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app responses: {} security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/links/': get: tags: - Get a link summary: Get a single view of a link using the Global Payments link id. description: "Get a single view of a link using the Global Payments ID.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: get-links-id parameters: - name: id in: path required: true schema: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_52smri0VJHQdCBdd106I7SFVSdr0c4 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO example: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object properties: merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_2d4ddd693ff7448b97ea420b13aecac2 account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: '718575802_978769' id: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_52smri0VJHQdCBdd106I7SFVSdr0c4 url: type: string description: The url that can be used as a redirect or within an iframe to perform the function indicated. example: 'https://il01merchantportals.propay.com/ProPayCard/Index?authToken=91e981e3-ec11-418c-bf80-2b828c8a5b0f&accountnum=718575797' status: type: string enum: - ACTIVE - CLOSED - PAID - INACTIVE - EXPIRED description: | The overall status of the instance of the resource.The overall status of the instance of the resource. * `ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. * `CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. * `PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. * `INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. * `EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates whether the link can be used once or multiple times example: SINGLE usage_limit: type: string description: The number of the times that the link can be used or paid. example: 5 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page minLength: 1 maxLength: 120 example: Mobile Bill Payment description: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice shippable: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: 1000 usage_count: type: string description: Indicates the number of times that a link has already been successfully paid. example: 5 viewed_count: type: string description: The number of times a link has been viewed. example: 10 expiration_date: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' images: type: array description: Base64 encoded images of the products / services that you want to display on the hosted payment page. items: type: string transactions: type: array minItems: 1 uniqueItems: true items: type: object properties: amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 channel: type: string description: 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 example: CP country: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD allowed_payment_methods: type: array description: 'The payment methods available to create transactions with. * `CARD` - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code.' items: type: string enum: - CARD example: CARD transaction_list: type: array nullable: true items: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the transaction. minLength: 1 maxLength: 100 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. example: '2021-10-01' status: type: string description: 'Indicates where a transaction is in its lifecycle. * INITIATED - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * PENDING - A Transaction has been sent to the payment method provider and are waiting for a result. * PREAUTHORIZED - A Transaction has been approved but a capture request is required to commence the movement of funds. * CAPTURED - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * REVERSED - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * DECLINED - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * FUNDED - A Transaction where the funds have transferred between payer and merchant as expected. * REJECTED - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations.' maxLength: 50 example: INITIATED type: type: string description: 'Describes 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.' example: SALE channel: type: string description: 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 example: CP amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - LINK_CREATE - LINK_EDIT - LINK_SINGLE - LINK_LIST description: The type of action executed for the Link. minLength: 1 maxLength: 50 example: LINK_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: example-1: merchant_id: MER_5e3d27f98794485497d4b27087667ecf merchant_name: CERT_Testing_012 account_id: TRA_be85d0f6bc13405c8fefcbf455ab039e account_name: LinkManagement id: LNK_moUGshF5CVDhKDMsAatTLNgJKkprnB url: 'https://apis.sandbox.globalpay.com/ucp/postback/transactions/LNK_moUGshF5CVDhKDMsAatTLNgJKkprnB/redirect/eyJtZXJjaGFudF9tYW5hZ2VtZW50X2lkIjpudWxsLCJtZXJjaGFudF9pZCI6Ik1FUl81ZTNkMjdmOTg3OTQ0ODU0OTdkNGIyNzA4NzY2N2VjZiIsImFjY291bnRfaWQiOiJUUkFfYmU4NWQwZjZiYzEzNDA1YzhmZWZjYmY0NTVhYjAzOWUiLCJtZXJjaGFudF9uYW1lIjoiQ0VSVF9UZXN0aW5nXzAxMiIsImFjY291bnRfbmFtZSI6IkxpbmtNYW5hZ2VtZW50IiwiYnV5ZXJfdXJsIjoiaHR0cHM6Ly9ncGFwaS1zYW5kYm94LnRydXVzdC5pby9QdlI2S1YiLCJhcHBfaWQiOiJ2MnlSYUZPTHdGYVFjMGZTWlRDeUFkUUNCTkJ5R3BWSyIsImFwcF9uYW1lIjoiUUFfQ0VSVF9UZXN0aW5nXzAxMiIsImFwcF9kZXZlbG9wZXIiOiJzdXNoYW50LmRlc2htdWtoQGdsb2JhbHBheS5jb20iLCJYLUdQLVZlcnNpb24iOiIyMDIxLTAzLTIyIn0=' status: PAID type: PAYMENT allowed_payment_methods: - CARD usage_mode: SINGLE paid_count: '1' reference: sadsadwdsz name: Strange description: string active: 'TRUE' shippable: 'FALSE' viewed_count: '7' expiration_date: '2022-12-20T00:35:28Z' images: [] notifications: return_url: 'https://eofablk72iuzwtk.m.pipedream.net/' status_url: 'https://eofablk72iuzwtk.m.pipedream.net/' cancel_url: 'https://eofablk72iuzwtk.m.pipedream.net/' transactions: - id: TRN_JFuThAm2BEBRRB3RFks3a3H0QCLVQ7 time_created: '2022-03-07T14:32:51.253000000Z' status: CAPTURED type: SALE channel: CNP amount: '12345' currency: CAD reference: e736eb24-1a91-4b7a-8d65-66518976e529 action: id: ACT_dx838uYTo5GHzXuf6ea8RP2xy7ovxb type: LINK_SINGLE time_created: '2022-04-04T13:32:06.799Z' result_code: SUCCESS app_id: v2yRaFOLwFaQc0fSZTCyAdQCBNByGpVK app_name: QA_CERT_Testing_012 '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Unauthorized content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not Implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment components: parameters: page: name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 page_size: name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 order_by: name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED order: name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO example: Bearer OUkh3VNg4rRWtak2RQt7Sq8R1lOO X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json securitySchemes: bearerAuth: type: http scheme: bearer schemas: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' id_LINKS.id: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_52smri0VJHQdCBdd106I7SFVSdr0c4 status_LINKS.status: type: string enum: - ACTIVE - CLOSED - PAID - INACTIVE - EXPIRED description: | The overall status of the instance of the resource.The overall status of the instance of the resource. * `ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. * `CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. * `PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. * `INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. * `EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE usage_mode_LINKS.usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates whether the link can be used once or multiple times example: SINGLE name_LINKS.name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page minLength: 1 maxLength: 120 example: Mobile Bill Payment description_LINKS.description: type: string description: A detailed description of your link that will be visible to the customer on the payment page. minLength: 1 maxLength: 250 example: February and March Invoice reference_LINKS.reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 country_LINKS.transactions.country: type: string description: The country in ISO-3166-1 (alpha-2 code) format. example: US amount_LINKS.transactions.amount: type: string description: The amount to transfer between Payer and Merchant for a SALE or a REFUND. It is always represented in the lowest denomiation of the related currency. example: 11099 currency_LINKS.transactions.currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD shippable_LINKS.shippable: type: string enum: - 'YES' - 'NO' description: Indicates if you want to capture the customers shipping information on the hosted payment page. If you enable this field you can also set an optional shipping fee in the shipping_amount. example: 'YES' expriation_date_LINKS.expriation_date: type: string description: Indicates the date and time after which the link can no longer be used or paid. Please note that the timezone is in UTC+0 example: '2025-12-20T23:59:59Z' total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id_LINKS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_880c34767b184d5e82b10e767201e648 merchant_name_LINKS.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. example: Curtis_Douglas49 account_id_LINKS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_2d4ddd693ff7448b97ea420b13aecac2 account_name_LINKS.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. example: '718575802_978769' page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED url_LINKS.url: type: string description: The url that can be used as a redirect or within an iframe to perform the function indicated. example: 'https://il01merchantportals.propay.com/ProPayCard/Index?authToken=91e981e3-ec11-418c-bf80-2b828c8a5b0f&accountnum=718575797' type_LINKS.type: type: string enum: - THIRD_PARTY_PAGE - PAYMENT - HOSTED_PAYMENT_PAGE - EXCHANGE_APP_CREDENTIALS description: GP API specific label that indicates the type resource an instance is. example: THIRD_PARTY_PAGE usage_limit_LINKS.usage_limit: type: string description: The number of the times that the link can be used or paid. example: 5 shipping_amount_LINKS.shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: 1000 usage_count_LINKS.usage_count: type: string description: Indicates the number of times that a link has already been successfully paid. example: 5 viewed_count_LINKS.viewed_count: type: string description: The number of times a link has been viewed. example: 10 images_LINKS.images: type: array description: Base64 encoded images of the products / services that you want to display on the hosted payment page. items: type: string return_url_LINKS.notifications.return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' example: 'https://www.example.com/notifications/return' status_url_LINKS.notifications.status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/return' cancel_url_LINKS.notifications.cancel_url: type: string description: The merchant URL that the customer will be redirected to if they chose to cancel. example: 'https://www.example.com/notifications/return' channel_LINKS.transactions.channel: type: string description: 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 example: CP allowed_payment_methods_LINKS.transactions.allowed_payment_methods: type: array description: 'The payment methods available to create transactions with. * `CARD` - Debit, credit, charge or prepaid; local or international, consumer or corporate payment method based on a 12 to 16 digital number, expiry date and security code.' items: type: string enum: - CARD example: CARD id_LINKS.transactions.id: type: string description: A unique identifier generated by Global Payments to identify the transaction. minLength: 1 maxLength: 100 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE time_created_LINKS.transactions.time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. example: '2021-10-01' status_LINKS.transactions.status: type: string description: 'Indicates where a transaction is in its lifecycle. * INITIATED - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * PENDING - A Transaction has been sent to the payment method provider and are waiting for a result. * PREAUTHORIZED - A Transaction has been approved but a capture request is required to commence the movement of funds. * CAPTURED - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * REVERSED - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * DECLINED - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * FUNDED - A Transaction where the funds have transferred between payer and merchant as expected. * REJECTED - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations.' maxLength: 50 example: INITIATED type_LINKS.transactions.type: type: string description: 'Describes 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.' example: SALE reference_LINKS.transactions.reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e id_LINKS.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_LINKS.action.type: type: string enum: - LINK_CREATE - LINK_EDIT - LINK_SINGLE - LINK_LIST description: The type of action executed for the Link. minLength: 1 maxLength: 50 example: LINK_CREATE time_created_LINKS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2021-05-03T21:23:39.718Z' result_code_LINKS.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id_LINKS.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_LINKS.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' function_LINKS.function: type: string enum: - DEPOSIT_REPORT - UPDATE_PRIMARY_ACCOUNT - CONFIRM_VALIDATION_DEPOSITS - SEND_VALIDATION_DEPOSITS - UPDATE_PAYOUT_CARD - FUND_PAYOUT_CARD - FUND_PRIMARY_PAYOUT - FMA_TRANSFER - CREDIT_FMA - SCHEDULED_FUND - UPDATE_BUSINESS_INFORMATION - UPDATE_ADDRESS_PHONE - UPDATE_EMAIL - PREPAID_CARD_INDEX - REQUEST_PREPAID_CARD - ACTIVATE_PREPAID_CARD - LOST_PREPAID_CARD - UPDATE_PREPAID_CARD_PIN - REISSUE_PREPAID_CARD - UPDATE_PAYMENT_METHOD - DOCUMENT_UPLOAD - CHARGEBACK_REPORT - ADVANCED_TRANSACTION_SEARCH - CONSOLIDATED_FEES - LIMITS_RATES_FEES - TRANSACTION_REPORT - GB_FEES_REPORT description: | Describes the function the link created can have: * `DEPOSIT_REPORT`- is a merchant report that will display all transactions in a Global Payments automated sweep. * `UPDATE_PRIMARY_ACCOUNT` is a page that allows a merchant to update the primary payout bank information on an account. * `CONFIRM_VALIDATION_DEPOSITS` is a page that allows a merchant to validate the micro deposits that have been dposited to the primary payout payment method on file. * `SEND_VALIDATION_DEPOSITS` is a page that allows a merchant to trigger 2 micro deposits to the primary bank accoutn on file to validate the bank account. * `UPDATE_PAYOUT_CARD` is a page that allows a merchant to update the payout card on file. * `FUND_PAYOUT_CARD` is a page that allows amerchant to initiate a payout to the payout card on file. * `FUND_PRIMARY_PAYOUT` is a page that allows a merchant to initiate a payout to the primary payout payment method on file. * `FMA_TRANSFER is a page that allows a merchant to send funds to another merchant. * `CREDIT_FMA` is a page that allows a merchant to pull funds from a bank account into the funds management account. * `SCHEDULED_FUND` is a page that allows a merchant to schedule a funds payout to thier primary payout payment method on file. * `UPDATE_BUSINESS_INFORMATION` is a page that allows a merchant to update the business information associated on thier merchant account. * `UPDATE_ADDRESS_PHONE` is a page that allows a merchant to update the phone and addresses associated with a merchant account. * `UPDATE_EMAIL` is a page that allows a merchant to update the primary email address associated with a merchant account. * `PREPAID_CARD_INDEX` is a page that allows a merchant to view information about their prepaid debit card linked to thier merchant account balance. * `REQUEST_PREPAID_CARD` is a page that allows a merchant to agree to terms and conditions and request a prepaid debit card linked to the balance in a merchant account. * `ACTIVATE_PREPAID_CARD` is a page that allows a merchant to activate a prepaid debit card linked to the balance in thier merchant account. * `LOST_PREPAID_CARD` is a page that allows a merchant to mark the prepaid debit card linked to their merchant balance lost or stolen. * `UPDATE_PREPAID_CARD_PIN` is a page that allows a merchant to update the 4 digit pin associated with the prepaid debit card to access funds in the merchant account. * `REISSUE_PREPAID_CARD` is a page that allows a merchant to request an updated prepaid debit card to access the funds in the merchant account. * `UPDATE_PAYMENT_METHOD` is a page that allows a merchant to edit/update the account activation fee payment method on file. * `DOCUMENT_UPLOAD` is a page that will allow a merchant upload documents related to merchant identity validation, underwriting and risk review. * `CHARGEBACK_REPORT` is a page that will display all active disputed transactions and allow document uploads to respond to the listed disputes for a merchant. * `ADVANCED_TRANSACTION_SEARCH` is a page that allows a user to set criteria and generate a report. * `CONSOLIDATED_FEES` is a page that will show the consolidated fees for a merchant within ane stablished timeframe. * `LIMITS_RATES_FEES` is a page that displays the processing limits and processing fees on a merchant account. * `TRANSACTION_REPORT` is a page that allows a user to view all transactions within an established timeframe. * `GB_FEES_REPORT` is a page that allows a merchant to review fees they will be charged, as is required by PSR (Payment Systems Regulator). example: REQUEST_PREPAID_CARD app_email_LINKS.app_email: type: string title: app_email_LINKS.app_email description: Indicates the email where app credentials should be sent. Used with EXCHANGE_APP_CREDENTIALS. example: someone@email.com app_ids_LINKS.app_ids: type: array title: app_ids_LINKS.app_ids description: Indicates the apps you want the credentials for. Credentials will be sent to the requested app_email. items: type: string example: yAIeZMkreGxgyGt7Azvum6iLHZAmlqcM referrer_url_LINKS.referrer_url: type: string description: The url of the page requesting the page. example: 'https://developer.globalpay.com/' ip_address_LINKS.ip_address: type: string description: The ip address of the page that will host the third-party page generated. example: 255.255.255.0 ip_subnet_mask_LINKS.ip_subnet_mask: type: string description: The IP address of the device requesting the page. example: 255.255.255.0 iframe_dimensions_domain_LINKS.display_configuration.iframe_dimensions_domain: type: string description: 'This field must contain the domain of the application hosting the iFrame or WebView. This will tell the HPP to post back the height and width any time it changes, for example if an input warning is displayed.' iframe_response_domain_LINKS.display_configuration.iframe_response_domain: type: string description: This field must contain the domain of the application hosting the iFrame or WebView. This will tell the HPP to post back the transaction response to the parent frame or window. The response is posted back as a name/value pair JSON string with the values Base64 encoded. (string) cardholder_name_LINKS.display_configuration.cardholder_name: type: string enum: - 'YES' - 'NO' description: This field is used to hide or display the cardholder's full name on the HPP form. default: 'YES' cvv_LINKS.display_configuration.cvv: type: string enum: - 'YES' - 'NO' description: This field is used to ask whether or not the cardholder's CVV on the HPP form. By default this is a YES value default: 'YES' narrative_LINKS.transactions.narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. example: CP message_type_LINKS.message_type: type: string enum: - EMAIL - SMS - EMAIL_AND_SMS description: Indicates the delivery method of the link notification example: EMAIL b64_content_LINKS.images.b64_content: type: string description: Base64 encoded image. status_LINKS.payer.status: type: string enum: - NEW - ACTIVE description: 'Indicates whether the payer is new or existing (active). `NEW ` - Payer is newly created. Customer can store the card on the HPP, which is associated with the Payer ID. `ACTIVE `- Payer was created previously. Any payment methods stored with this payer are displayed on the HPP.' minLength: 1 maxLength: 50 example: ACTIVE id_LINKS.payer.id: type: string description: A unique identifier generated by the platform to identify a payer minLength: 1 maxLength: 50 example: PYR_a488356f29ac4e4c9a89977652a3215e name_LINKS.payer.name: type: string description: Name of the payer minLength: 1 maxLength: 50 first_name_LINKS.payer.first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name_LINKS.payer.last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: Mason language_LINKS.payer.language: type: string description: Language used by the payer minLength: 1 maxLength: 50 example: en email_LINKS.payer.email: type: string description: The email of the payer minLength: 1 maxLength: 50 email_subject_LINKS.payer.email_subject: type: string description: The subject of the email notification. email_content_LINKS.payer.email_content: type: string description: The content of the email notification country_code_LINKS.payer.mobile_phone.country_code: type: string description: The country code that is used when dialling the phone number from another country.For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 50 subscriber_number_LINKS.payer.mobile_phone.subscriber_number: type: string description: Mobile phone number of the payer. minLength: 1 maxLength: 50 subscriber_content_LINKS.payer.mobile_phone.subscriber_content: type: string description: The content for the SMS notification. line_1_LINKS.payer.billing_address.line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2_LINKS.payer.billing_address.line_2: type: string description: Second line of the billing address. minLength: 1 maxLength: 50 example: Suite 2 line_3_LINKS.payer.billing_address.line_3: type: string description: Third line of the billing address. minLength: 1 maxLength: 50 example: Foyer city_LINKS.payer.billing_address.city: type: string description: City associated with the billing address. minLength: 1 maxLength: 50 example: Beverly Hills postal_code_LINKS.payer.billing_address.postal_code: type: string description: Postal code of the billing address. minLength: 1 maxLength: 50 example: 90210 country_LINKS.payer.billing_address.country: type: string description: This is the country of the address represented as in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US address_match_indicator_LINKS.payer.address_match_indicator: type: string enum: - 'YES' - 'NO' description: Indicates whether the shipping address matches the billing address. minLength: 1 maxLength: 50 example: 'YES' amount_LINKS.order.amount: type: string description: The 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. minLength: 1 maxLength: 50 example: 1999 currency_LINKS.order.currency: type: string description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference_LINKS.order.reference: type: string description: Merchant defined field to reference the order minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc95 channel_LINKS.order.transaction_configuration.channel: type: string enum: - CP - CNP description: 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 minLength: 1 maxLength: 50 example: CNP country_LINKS.order.transaction_configuration.country: type: string description: '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.' minLength: 2 maxLength: 2 example: US capture_mode_LINKS.order.transaction_configuration.capture_mode: type: string enum: - AUTO - LATER - MULTIPLE description: | Indicates whether the transaction is to be captured automatically, later or later using more than 1 partial original authorized amount. * `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. minLength: 1 maxLength: 50 example: AUTO currency_conversion_mode_LINKS.order.transaction_configuration.currency_conversion_mode: type: string enum: - 'YES' - 'NO' description: This field determines whether DCC is activated or not minLength: 1 maxLength: 50 example: 'YES' allowed_payment_methods_LINKS.order.transaction_configuration.allowed_payment_methods: type: array description: 'Indicates which payment method(s) to offer the customer, or route customers to a specific one.' items: type: string enum: - CARD - BLIK - BANK_PAYMENT example: CARD card_type_LINKS.order.transaction_configuration.surcharge.card_type: type: string enum: - DEBIT - CREDIT - COMMERCIAL description: 'This indicates whether the surcharge is for a DEBIT, CREDIT or COMMERCIAL card type by the merchant' example: Chicago amount_LINKS.order.transaction_configuration.surcharge.amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: Chicago preference_LINKS.order.payment_method_configuration.authentication.preference: type: string enum: - NO_PREFERENCE - NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERRED - CHALLENGE_MANDATED - NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED - NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY - NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED - NO_CHALLENGE_REQUESTED_WHITELIST - CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST description: Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. Allowed values please refer to authentication specification minLength: 1 maxLength: 50 example: NO_PREFERENCE exempt_status_LINKS.order.payment_method_configuration.authentication.exempt_status: type: string enum: - LOW_VALUE title: exempt_status_LINKS.order.payment_method_configuration.authentication.exempt_status description: | Indicates if any exemptions apply to this transaction in the case of HOSTED_PAYMENT_PAGE type transactions. * `LOW_VALUE` - Transactions up to 30 EUR (or converted equivalent) can be exempted from SCA (Strong Customer Authentication), dependent on the following criteria: Up to a maximum of five (5) consecutive transactions. Or, up to a cumulative limit of 100 EUR (or converted equivalent)* billing_address_required_LINKS.order.payment_method_configuration.authentication.billing_address_required: type: string enum: - 'YES' - 'NO' description: | This flag is set by the merchant to indicate if the billing address for 3DS authentication of a transaction can be skipped. minLength: 1 maxLength: 50 example: 'NO' shipping_address_enabled_LINKS.order.payment_method_configuration.apm.shipping_address_enabled: type: string enum: - 'YES' - 'NO' description: This field determines whether the passing of PayPal shipping address details will be activated or not minLength: 1 maxLength: 50 example: 'NO' address_override_LINKS.order.payment_method_configuration.apm.address_override: type: string enum: - 'YES' - 'NO' description: Determines whether the shipping address can be changed by the customer on the PayPal review page minLength: 1 maxLength: 50 example: 'NO' storage_mode_LINKS.order.payment_method_configuration.storage_mode: type: string enum: - ALWAYS - ON_SUCCESS - PROMPT description: Indicates whether to store the card as part of a transaction. `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful `PROMPT` - Prompt the payer to store their card example: PROMPT entry_mode_LINKS.order.payment_method_configuration.entry_mode: type: string enum: - ECOM - MOTO description: | Indicates how the payment method information was obtained by the Merchant for this transaction. MOTO - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. ECOM - A CNP channel entry mode where the payment method was obtained via a browser provider_LINKS.order.payment_method_configuration.digital_wallets.provider: type: array description: 'This field is used to enable/disable Google Pay, Apple Pay, Click to Pay button on HPP.' items: type: string enum: - GOOGLE_PAY - APPLE_PAY - CLICK_TO_PAY model_LINKS.order.payment_method_configuration.stored_credential.model: type: string enum: - UNSCHEDULED - RECURRING - INSTALLMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions. * `UNSCHEDULED` - the transaction is ad hoc or unscheduled. For example a payer visiting a merchant to make purchase using the payment method stored with the merchant. * `RECURRING` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. * `INSTALLMENT` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions and where the amount is known and agreed in advanced. For example the payment in full of a good in fixed installments over a defined period of time. initiator_LINKS.order.payment_method_configuration.stored_credential.initiator: type: string enum: - PAYER - MERCHANT description: |- 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. sequence_LINKS.order.payment_method_configuration.stored_credential.sequence: type: string enum: - FIRST - SUBSEQUENT description: 'Indicates the order of this transaction in the sequence of a planned, repeating transaction processing model.' line_1_LINKS.order.shipping_address.line_1: type: string description: First line of the address minLength: 1 maxLength: 50 example: Flat 123 line_2_LINKS.order.shipping_address.line_2: type: string description: Second line of the address minLength: 1 maxLength: 50 example: House 456 line_3_LINKS.order.shipping_address.line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: Btower city_LINKS.order.shipping_address.city: type: string description: The city associated with the address minLength: 1 maxLength: 50 example: Chicago postal_code_LINKS.order.shipping_address.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: 50001 state_LINKS.order.shipping_address.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: IL country_code_LINKS.order.shipping_phone.country_code: type: string description: The country code that is used when dialling the phone number from another country.For example for USA or Canada it would be +1 for England it would be +44 for Germany it would be +49 minLength: 1 maxLength: 50 example: 1 subscriber_number_LINKS.order.shipping_phone.subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: 23456789 funding_mode_LINKS.installment.funding_mode: type: string enum: - MERCHANT_FUNDED - CONSUMER_FUNDED - HYBRID_FUNDED - BILATERAL - ANY description: | Indicated the funding mode of the Installment plan. Availablity of each funding mode is based on your live configuration * MERCHANT_FUNDED - This will return merchant funded plans only * CONSUMER_FUNDED - This will return consumer funded plans only * HYBRID_FUNDED - This will return both merchant and consumer funded plans * BILATERAL - This will return BILATERAL plans only * ANY - This will return all available plans minLength: 1 maxLength: 50 example: MERCHANT_FUNDED max_time_unit_number_LINKS.installment.terms.max_time_unit_number: type: number description: This is used to set the maximum number of months for an available installment plan example: 24 max_amount_LINKS.installment.terms.max_amount: type: string description: | This is used to set the max amount of each installment in an available plan. It determines how plans are returned. if amount > max_amout then Installment plans are returned in order of longest duration if amount < max_amount then Installment plans are returned in order of shortest duration example: 200 time_created_LINKS.time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time example: '2023-03-10T13:14:48.386Z' channel_LINKS.channel: type: string description: 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. example: CP account_id_ACTIONS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b id_LINKS.payment_method.id: type: string description: This is the ID of the Payment Method used in the transaction this callback is referring to example: PMT_30d0e8b2-1a00-4fa6-8397-bccc967a6172 result_LINKS.payment_method.result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message_LINKS.payment_method.message: type: string description: The result message that better explains the result code. example: AUTHORISED entry_mode_LINKS.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM value_result_LINKS.payment_method.authentication.three_ds.value_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 id_LINKS.link_data.id: type: string description: A unique identifier generated by Global Payments to identify the link. example: LNK_7II5TvOfzAeo46LOqUeUyBQFnhW5R0 url_LINKS.link_data.url: type: string description: The URL that the customer was redirected to in order to make their payment example: 'https://www.example.com' status_LINKS.link_data.status: type: string enum: - ACTIVE - INACTIVE - CLOSED - EXPIRED - PAID description: | The overall status of the instance of the resource.The overall status of the instance of the resource. *`ACTIVE` - When a link is initially created it is in an ACTIVE status waiting to be paid. Links can only be paid when they are in a ACTIVE status. *`CLOSED` - When a multi use link is paid it max number of time it is updated to be CLOSED automatically. A CLOSED link cannot be paid again. *`PAID` - When a single use link is paid once then its status is updated to PAID automatically. A PAID link cannot be paid again. *`INACTIVE` - An INACTIVE link is a link that you have marked as INACTIVE. Links can be manually updated / toggled between ACTIVE and INACTIVE using the PATCH request. A link cannot be paid while it is in an INACTIVE state. *`EXPIRED` - An EXPIRED link is a link the expiration_date set in the request is in the past. example: ACTIVE usage_mode_LINKS.link_data.usage_mode: type: string nullable: true enum: - null description: Indicates whether the link was used once or multiple times example: SINGLE usage_limit_LINKS.link_data.usage_limit: type: string description: The number of the times that the link could be used or paid. example: 5 reference_LINKS.link_data.reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: ABC123 name_LINKS.link_data.name: type: string description: A descriptive name for the link. This will be visible to the customer on the payment page. minLength: 1 maxLength: 120 example: Mobile Bill Payment shipping_amount_LINKS.link_data.shipping_amount: type: string description: Indicates the cost of shipping when the shippable field is set to YES. example: '1000' viewed_count_LINKS.link_data.viewed_count: type: number description: The number of times a link has been viewed. example: 10 id_ACTIONS.id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_bxWus66W5qSTCcGECIPUT5zLhISaMy type_ACTIONS.action.type: type: string enum: - TRANSFER - etc. description: | Indicates the specific action taken. * `ACTION_LIST` - Get a list of actions * `ACTION_SINGLE` - Get a single action example: TRANSFER time_created_ACTIONS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_ACTIONS.action.result_code: type: string enum: - SUCCESS - DECLINED - PENDING description: The result of the action executed. example: SUCCESS app_id_ACTIONS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_ACTIONS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app security: - bearerAuth: [] ``` ## Merchants Source: https://developer.globalpayments.com/api/merchants.md # Merchants ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Merchants description: Merchants represent a business entity on the Global Payments system. This is the entity that is selling goods and services and has a direct contractual relationship with Global Payments or with one of Global Payments partners. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /merchants: post: tags: - Board Merchant description: Underwrite and configure a Merchant with payment processing capability on the Global Payments system. operationId: boardMerchant parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: description: '' content: application/json: schema: type: object properties: name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT legal_name: type: string description: The legal business name of the merchant being boarded. minLength: 1 maxLength: 255 example: Merchant XYZ Inc dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' website: type: string description: The merchant's business website URL example: 'https://example.com/' description: type: string description: A description of the merchant's business. minLength: 1 maxLength: 255 example: Retail registration_number: type: string description: This is the business's company registration number. maxLength: 55 example: '153759456' currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD ip_address: type: string description: The IP the merchant signed up from. example: 165.225.11.46 notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com legal_entity: type: string enum: - LIMITED_COMPANY - PUBLICLY_TRADED_CORPORATION - NON_PUBLICLY_TRADED_CORPORATION - NON_PROFT_ORGANIZATION - GOVERNMENT_ORGANIZATION - NON_PUBLICLY_TRADED_LLC - PUBLICLY_TRADED_LLC - GENERAL_PARTNERSHIP - PUBLICLY_TRADED_PARTNERSHIP - SOLE_PROPRIETORSHIP - AMERICAN_EXPRESS description: | The legal entity or type of business registration of the merchant. * LIMITED_COMPANY * PUBLICLY_TRADED_CORPORATION * NON_PUBLICLY_TRADED_CORPORATION * NON_PROFT_ORGANIZATION * GOVERNMENT_ORGANIZATION * NON_PUBLICLY_TRADED_LLC * PUBLICLY_TRADED_LLC * GENERAL_PARTNERSHIP * PUBLICLY_TRADED_PARTNERSHIP * SOLE_PROPRIETORSHIP * AMERICAN_EXPRESS example: LIMITED_COMPANY tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' reference: type: string description: A client indicated merchant reference identifier. maxLength: 50 example: Merchant1234 language: type: string description: The preferred language of the merchant.In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en attestations: type: array items: type: object properties: name: type: string enum: - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS - HEARTLAND_SUB-MERCHANT_TERMS_AND_CONDITIONS - PREPAID_CARD_TERMS_AND_CONDITIONS - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_CA - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_AU - BOATTESTATION - BENEFICIAL_OWNER - CREDIT_CHECK_CONSENT description: | The name of the agreements/consent which the boarding merchant has agreed to. These may be conditionally required by the downstream system. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS` - US Propay sub-merchant T&Cs. * `HEARTLAND_SUB-MERCHANT_TERMS_AND_CONDITIONS` - Heartland sub-merchant T&Cs. * `PREPAID_CARD_TERMS_AND_CONDITIONS` - US pre-paid debit card T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_CA` - Canada Propay sub-merchant T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK` - UK Propay sub-merchant T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_AU` - Australia Propay sub-merchant T&Cs. * `BOATTESTATION` - The boarding merchant is attesting that all individuals that have 25% ownership or a controlling interest in the entity have been disclosed in the application process. The partner is also attesting that a pop up or other message has been displayed to the merchant to explain these requirements. * `BENEFICIAL_OWNER` - It is provided to add any new or missing Beneficial Owner (BO) details using persons object. * `CREDIT_CHECK_CONSENT` - Indicates whether the applicant has granted consent for a credit check. When included, consentToPullCredit=true is sent to ProPay; when omitted, it defaults to false. example: BENEFICIAL_OWNER ip_address: type: string description: The IP address of the device that was used to agree to the attestation (name). example: 162.72.72.18 time_of_attestation: type: string description: The timestamp associated with the agreement of the attestation (name). format: date-time example: '2021-05-03T21:23:39.718Z' addresses: type: array items: type: object properties: functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS building_name: type: string description: UK only. The name associated with the address home/building. minLength: 1 maxLength: 50 example: Rose Cottage line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer months_at_address: type: string description: The number of months at the address provided. maxLength: 50 example: '48' city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills post_town: type: string title: post_town.MERCHANTS.addresses.post_town description: 'UK only. The post town associated with the address. ' maxLength: 100 example: London state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 payment_processing_statistics: type: object properties: total_monthly_sales_amount: type: string description: The total monthly sales of the merchant. example: '2000000' average_ticket_sales_amount: type: string description: The average sales amount of a merchant. example: '1000' highest_ticket_sales_amount: type: string description: The merchants highest ticket amount. example: '5000' pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test payment_methods: type: array items: type: object properties: functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method reference: type: string description: A client indicated payment method reference number. maxLength: 50 example: '1536547895' card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card minLength: 2 maxLength: 2 example: '07' expiry_year: type: string description: The 2 digit expiry date year of the card minLength: 2 maxLength: 2 example: '23' cvv: type: string description: The numeric value printed on the physical card. example: '213' address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US bank_transfer: type: object properties: account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING account_number: type: string description: The number or reference for the payer's bank account maxLength: 50 bank: type: object properties: name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street cin: type: string description: Used to capture Partner Bank CIN. Only for use by banks partnered with Global maxLength: 255 example: '819844' code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' international_code: type: string description: 'The 8-11 character code that identifies your bank''s country, city, bank, and branch.' maxLength: 250 example: PNBPIE2D address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US persons: type: array items: type: object properties: functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com date_of_birth: type: string description: The date of birth of the person minLength: 10 maxLength: 100 example: '1980-01-01' job_title: type: string description: The job title the person has minLength: 1 maxLength: 50 example: CEO equity_percentage: type: string description: The equity percentage the person owns of the business that is applying to Global Payments for payment processing services. minLength: 1 maxLength: 3 example: '50' national_id_reference: type: string description: 'The national id number or reference for the person for their nationality. For example for Americans this would be SSN, for Canadians it would be the SIN, for Britains it would be the NIN.' minLength: 1 maxLength: 50 example: '123456789' birth_country: type: string description: The country of birth of the person referenced in ISO-3166-1(alpha-2 code) format. example: US citizenship_country: type: string description: The country or countries where the applicant has citizenship in ISO-3166-1(alpha-2 code) format. example: US addresses: type: array items: type: object properties: building_number: type: string description: UK only. The number associated with the address home/building. minLength: 1 maxLength: 50 example: '1001' building_name: type: string description: UK only. The name associated with the address home/building. minLength: 1 maxLength: 50 example: Rose Cottage line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer months_at_address: type: string description: The number of months at the address provided. maxLength: 50 example: '48' city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills post_town: type: string title: post_town_MERCHANTS.persons.addresses.post_town description: 'UK only. The post town associated with the address. ' maxLength: 100 example: London state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subsriber_number: type: string description: The phone number minLength: 1 maxLength: 50 products: type: array items: type: object properties: quantity: type: number description: The quantity of the specified product ordered. example: 1 id: type: string description: Unique Global Payments generated id used to uniquely reference a product on the Global Payments system. minLength: 5 maxLength: 50 example: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 notifications: type: object properties: status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' batch_close_time: type: string description: Specified time to close the Batch minLength: 1 maxLength: 50 example: '20:00' configurations: type: object properties: fingerprint_id: type: string description: 'This is a unique identifier that ensures all merchants processing the same card can reference a single, shared fingerprint. This shared value allows merchants or partners to consistently recognize the same cardholder across different merchants or partners. It enables cross merchant cardholder identification for reporting, matching, and any use case where multiple merchants need to identify and match the same cardholder using a single fingerprint value.' minLength: 1 maxLength: 40 example: FPG-ace41bbd-3561-4b46-a8c9-497f3cf36868 required: - name - legal_name - dba - website - description - addresses - persons examples: Merchant Boarding - CA: value: name: '{}' type: MERCHANT legal_name: Global Payments Inc. dba: Global Payments merchant_category_code: '5999' website: 'https://www.example.com' description: SAAS and Payments as a Service currency: CAD ip_address: 165.225.11.46 reference: '767867986879' tax_id_reference: '153759426' notification_email: merchantsupport@example.com laguage: en pricing_profile: Canada Test attestations: - name: PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS ip_address: 165.225.11.46 time_of_attestation: '2021-05-03T21:23:39.718Z' - Name: beneficial_owner ip_address: 165.225.11.46 time_of_attestation: '2021-05-03T21:23:39.718Z' addresses: - functions: - BUSINESS line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Winnipeg state: MB postal_code: R2J 1Z6 country: CA - functions: - SHIPPING line_1: 1 Shipping Address line_2: Suite 2 line_3: foyer city: Wi state: MB postal_code: R2J 1Z6 country: CA payment_processing_statistics: total_monthly_sales_amount: '3000000' average_ticket_sales_amount: '50000' highest_ticket_sales_amount: '60000' payment_methods: - functions: - ACCOUNT_ACTIVATION_FEE name: Card Holder Name reference: '1234' card: number: '4263970000005262' expiry_month: '01' expiry_year: '25' cvv: '123' address: line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Winnipeg state: MB postal_code: R2J 1Z6 country: CA - functions: - PRIMARY_PAYOUT - SECONDARY_PAYOUT name: John’s National Bank Account reference: My National Bank Account bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '156423786' bank: name: 'National Bank ' code: 000126829 address: line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Winnipeg state: MB postal_code: R2J 1Z6 country: CA persons: - functions: - APPLICANT - BENEFICIAL_OWNER first_name: John middle_name: G last_name: Doe email: '{}' date_of_birth: '1988-01-31' job_title: CEO national_id_reference: '132435169' addresses: - functions: - PERSONAL line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Winnipeg state: MB postal_code: R2J 1Z6 country: CA contact_phone: country_code: '1' subscriber_number: '8008675309' work_phone: country_code: '1' subscriber_number: '8008675309' products: - id: PRO_FMA_PUSH-FUNDS_PP - id: PRO_TRA_CNP_PPP - id: PRO_d02541e6-84e4-48e7-86a3-dddb68f51310 notifications: status_url: 'https://www.example.com/notifications/status' Merchant Boarding - US: value: name: '{}' type: MERCHANT legal_name: Global Payments Inc. dba: Global Payments merchant_category_code: '5999' website: 'https://www.example.com' description: SAAS and Payments as a Service currency: USD ip_address: 165.225.11.46 tax_id_reference: '153759426' notification_email: merchantsupport@example.com reference: '25623546' language: en pricing_profile: test attestations: - name: PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS ip_address: 165.225.11.46 time_of_attestation: '2021-05-03T21:23:39.718Z' - name: BENEFICIAL_OWNER ip_address: 165.225.11.46 time_of_attestation: '2021-05-03T21:23:39.718Z' addresses: - functions: - BUSINESS line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Atlanta state: GA postal_code: '30346' country: US - functions: - SHIPPING line_1: 1 Shipping Address line_2: Suite 2 line_3: foyer city: Atlanta state: GA postal_code: '30346' country: US payment_processing_statistics: total_monthly_sales_amount: '3000000' average_ticket_sales_amount: '50000' highest_ticket_sales_amount: '60000' payment_methods: - functions: - ACCOUNT_ACTIVATION_FEE name: Card Holder Name reference: '1234' card: number: '4263970000005262' expiry_month: '01' expiry_year: '25' cvv: '123' address: line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Atlanta state: GA postal_code: '30346' country: US - functions: - PRIMARY_PAYOUT - SECONDARY_PAYOUT name: John’s National Bank Account reference: My National Bank Account bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '156423786' bank: name: 'National Bank ' code: '124002971' address: line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Atlanta state: GA postal_code: '30346' country: US persons: - functions: - APPLICANT - BENEFICIAL_OWNER first_name: John middle_name: G last_name: Doe email: '{}' date_of_birth: '1988-01-31' job_title: CEO equity_percentage: '25' national_id_reference: '132435169' addresses: - functions: - PERSONAL line_1: 1 Business Address line_2: Suite 2 line_3: foyer city: Atlanta state: GA postal_code: '30346' country: US contact_phone: country_code: '01' subscriber_number: '8008675309' work_phone: country_code: '01' subscriber_number: '8008675309' products: - id: PRO_TRA_CNP_US_BANK-TRANSFER_PP - id: PRO_FMA_PUSH-FUNDS_PP - id: PRO_TRA_CNP-US-CARD_PP - id: PRO_TRA_CP-US-CARD-A920_SP device: quantity: '1' manufacturer_model: A920 account_name_format: SERIAL_NUMBER notifications: status_url: 'https://www.example.com/notifications/status' Merchant Boarding UK: value: name: '{}' type: MERCHANT legal_name: Business legal name dba: Business dba merchant_category_code: '5999' website: 'http://www.mycompany.com' description: Business description registration_number: '989898787' ip_address: 165.225.11.46 notification_email: propayNotificationEmail9446@gmail.com legal_entity: LIMITED_COMPANY reference: '{}' language: en attestations: - name: PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK ip_address: 165.225.11.46 time_of_attestation: '2021-05-03T21:23:39.718Z' addresses: - functions: - BUSINESS building_name: Rose Cottage line_1: 1140 Baker St. line_2: suite 20 line_3: Harrow months_at_address: '22' city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB phone: country_code: '44' subscriber_number: '777777777' - functions: - PREVIOUS_BUSINESS building_name: Rose Cottage line_1: 4754 Baker St. line_2: suite 20 line_3: Harrow city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB - functions: - SHIPPING building_name: Rose Cottage line_1: 6654 Baker St. line_2: suite 20 line_3: Harrow city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB - functions: - LEGAL building_name: Rose Cottage line_1: 1651 Baker St. line_2: suite 20 line_3: Harrow city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB payment_processing_statistics: total_monthly_sales_amount: '10000' average_ticket_sales_amount: '500' highest_ticket_sales_amount: '11111' pricing_profile: test payment_methods: - functions: - PRIMARY_PAYOUT name: PRIMARY PAYOUT reference: '1111' bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '58643458' bank: code: '772255' address: line_1: PP_line_1 line_2: PP_line_2_aptNumber line_3: PP_line_3 city: Birmingham postal_code: B23 7SJ country: GB persons: - functions: - APPLICANT - BENEFICIAL_OWNER first_name: QA_TestUK_MER24042301 middle_name: M last_name: ApplicantLast_Name email: '{}' date_of_birth: '1996-05-09' birth_country: GB citizenship_country: GB job_title: Doctor equity_percentage: '12' addresses: - functions: - PERSONAL building_name: Rose Cottage building_number: '123' line_1: Baker St. line_2: suite 20 line_3: Harrow reference: '28030106476' months_at_address: '22' city: Ely state: CAMBS post_town: Ely postal_code: CB6 1AS country: GB contact_phone: country_code: '44' subscriber_number: '9999999999' work_phone: country_code: '44' subscriber_number: '9090909091' - functions: - PREVIOUS_PERSONAL building_name: Rose Cottage building_number: '1231814' line_1: Baker St. line_2: suite 20 line_3: Harrow reference: '12354651' city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB - functions: - BENEFICIAL_OWNER first_name: QA_TestUK_MER24042301 middle_name: M last_name: ApplicantLast_Name email: '{}' date_of_birth: '1996-05-09' birth_country: GB job_title: Doctor equity_percentage: '12' addresses: - functions: - PERSONAL building_name: Rose Cottage building_number: '123634' line_1: 1142 Baker St. line_2: suite 20 line_3: Harrow reference: '123456' months_at_address: '1' city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB contact_phone: country_code: '44' subscriber_number: '8880909091' work_phone: country_code: '44' subscriber_number: '9090909091' - functions: - PREVIOUS_PERSONAL building_name: Rose Cottage building_number: '123445' line_1: 135 Baker St. line_2: suite 20 line_3: Harrow reference: '654321' city: Ely state: Cambs post_town: Ely postal_code: CB6 1AS country: GB products: - id: PRO_TRA_CNP_PPP - id: PRO_FMA_PUSH-FUNDS_PP - id: PRO_d02541e6-84e4-48e7-86a3-dddb68f51310 notifications: status_url: 'https://www.example.com/notifications/status' Merchant Boarding - Simulate KYC Failure: value: name: unique merchant name legal_name: Business Legal Name type: MERCHANT dba: Doing Business As merchant_category_code: '5999' website: 'https://example.com/' description: Merchant Business Description currency: USD tax_id_reference: '123456789' notification_email: merchantsupport@partner.com addresses: - functions: - BUSINESS line_1: 1 Business Address city: Atlanta state: GA postal_code: '30346' country: US payment_processing_statistics: total_monthly_sales_amount: '3000000' average_ticket_sales_amount: '50000' highest_ticket_sales_amount: '60000' pricing_profile: test payment_methods: - functions: - PRIMARY_PAYOUT name: Bank Account Holder Name bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '123456789' bank: name: Bank Name code: '124002971' persons: - functions: - APPLICANT - BENEFICIAL_OWNER first_name: First last_name: Last email: uniqueemail@address.com date_of_birth: '1971-01-01' national_id_reference: '123456789' job_title: Owner equity_percentage: '25' addresses: - functions: - PERSONAL line_1: 1 Business Address city: Atlanta state: GA postal_code: '30346' country: US contact_phone: country_code: '01' subscriber_number: '8008675309' work_phone: country_code: '01' subscriber_number: '8008675309' products: - quantity: 1 id: PRO_TRA_CP-US-CARD-A920_SP - quantity: 1 id: PRO_TRA_CNP_US_BANK-TRANSFER_PP - quantity: 1 id: PRO_FMA_PUSH-FUNDS_PP - quantity: 1 id: PRO_TRA_CNP-US-CARD_PP - quantity: 1 id: PRO_TRA_CNP-US-SPLIT-TRN_PP notifications: status_url: 'https://www.webhooknotificationurl.com/' Merchant Boarding - Assign an existing Fingerprint ID: value: name: Unique Username type: MERCHANT legal_name: Merchant XYZ Inc dba: MERCHANT XYZ merchant_category_code: '5999' website: 'https://example.com/' description: Retail registration_number: '153759456' currency: USD ip_address: 165.225.11.46 notification_email: merchant@example.com legal_entity: LIMITED_COMPANY tax_id_reference: '123456789' reference: Merchant1234 language: en attestations: - name: BENEFICIAL_OWNER ip_address: 162.72.72.18 time_of_attestation: '2021-05-03T21:23:39.718Z' addresses: - functions: - BUSINESS building_name: Rose Cottage line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer months_at_address: '48' city: Beverly Hills post_town: London state: CA postal_code: '90210' country: US phone: country_code: US subscriber_number: string payment_processing_statistics: total_monthly_sales_amount: '2000000' average_ticket_sales_amount: '1000' highest_ticket_sales_amount: '5000' pricing_profile: test payment_methods: - functions: - ACCOUNT_ACTIVATION_FEE name: Johns Payment Method reference: '1536547895' card: number: '4263970000005262' expiry_month: '07' expiry_year: '23' cvv: '213' address: line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: string bank: name: High Street cin: '819844' code: '124002971' international_code: PNBPIE2D address: line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US persons: - functions: - APPLICANT first_name: James middle_name: A last_name: Mason email: example@email.com date_of_birth: '1980-01-01' job_title: CEO equity_percentage: '50' national_id_reference: '123456789' birth_country: US citizenship_country: US addresses: - building_number: '1001' building_name: Rose Cottage line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer months_at_address: '48' city: Beverly Hills post_town: London state: CA postal_code: '90210' country: US contact_phone: country_code: US subscriber_number: string work_phone: country_code: US subsriber_number: string products: - quantity: 1 id: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 notifications: status_url: 'https://www.example.com/notifications/status' batch_close_time: '20:00' configurations: fingerprint_id: FPG-ace41bbd-3561-4b46-a8c9-497f3cf36868 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status_description: type: string description: A further desctiption of the status of a merchant. maxLength: 50 example: Merchant Boarding in progress action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE type: MERCHANT time_created: '2019-08-24T14:15:22Z' time_last_updated: '2019-08-24T14:15:22Z' status_description: Merchant Boarding in progress action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app examples: Example 1: value: id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE type: MERCHANT time_created: '2021-05-03T21:23:39.718Z' time_last_updated: '2021-05-03T21:23:39.718Z' status_description: string action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_EDIT time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy app_name: demo_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. callbacks: Merchant Create Notification: '{$request.body#/notifications.status_url}': post: description: The merchant update notification message that will be sent to the merchant status URL. requestBody: content: application/json: schema: type: object title: Merchant_create_notification properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 products: type: array items: type: object properties: id: type: string description: Unique Global Payments generated id used to uniquely reference a product on the Global Payments system. minLength: 5 maxLength: 50 example: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: A label to identify the Prodct minLength: 1 maxLength: 50 example: ACH Processing account: type: object properties: id: type: string description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c type: type: string enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT name: type: string description: A understandable name associated with an instance of a account. example: '718586025_753619' status: type: string enum: - ACTIVE - INACTIVE description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE channel: type: array description: An array of transaction channels configured for this account. items: type: string enum: - CP - CNP example: - CNP time_created: type: string description: GP API platform date and time that indicates when this instance of a platform configuration was created. format: date-time permissions: type: array description: All of the permissions or activites that may be performed by the account. items: type: string example: - APP_GET_Single_Key action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE type: MERCHANT time_created: '2019-08-24T14:15:22Z' time_last_updated: '2019-08-24T14:15:22Z' email: example@email.com address: line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US contact_phone: country_code: US subscriber_number: string products: - id: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 name: ACH Processing account: id: FMA_02ca6d0284b743449a28aadfb702c71c type: FUND_MANAGEMENT name: '718586025_753619' status: ACTIVE channel: - CNP time_created: '2019-08-24T14:15:22Z' permissions: - APP_GET_Single_Key action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app responses: '200': description: OK servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - Get Merchants summary: Get Merchants within a Partner Program. description: Get Merchants within a Partner Program. operationId: getMerchants parameters: - name: page in: query schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 - name: page_size in: query schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 - name: id in: query schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: status in: query schema: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE - name: name in: query schema: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: Get_merchants_list_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: funds_management filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED merchants: type: array items: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE organization: type: string title: organization_MERCHANTS.organization description: The organization this merchant is part of. industry: type: string title: industry_MERCHANTS.industry description: The industry the merchant is in. integrator: type: string title: integrator_MERCHANTS.integrator description: The person or company that is integrating to the platform on behalf of the merchant. hierarchy: type: string title: hierarchy_MERCHANTS.hierarchy description: The hierarchy the primary_mid is part of. primary_mid: type: string title: primary_mid.MERCHANTS.primary_mid description: The primary_mid of the merchant. region: type: string title: region_MERCHANTS.region description: The region the merchant belongs to. links: type: array items: type: object properties: rel: type: string enum: - SELF - ACCOUNTS title: rel_MERCHANTS.links.rel description: | Describes the relationship the associated link href value has to the current resource. * `SELF`- indicates a link to the current resource. * `ACCOUNTS` - indicates a link to the current resource's list of accounts href: type: string title: href_MERCHANTS.links.href description: An href link to the resources or resource actions as indicated in the corresponding rel value. maxLength: 2048 action: type: object properties: id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: total_record_count: 1000 current_page_size: 564 merchant_id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: Unique Username account_id: FMA_86920f927028745yt34d077d88beb29b account_name: funds_management filter: from_time_created: '2022-05-01' to_time_created: '2023-05-01' paging: page_size: 5 page: 1 order: ASC order_by: TIME_CREATED merchants: - id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE links: - rel: SELF href: string action: id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/merchants/': patch: tags: - Edit Merchant description: Edit the detail associated with a Merchant. operationId: editMerchant parameters: - name: id in: path description: This is the merchant id to uniquely identify the entity on the Global Payments system. required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: description: '' content: application/json: schema: type: object title: edit_request properties: name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status_change_reason: type: string enum: - ACTIVE - CLOSED_BY_MERCHANT - CLOSED_BY_RISK - APPLICATION_DENIED - PENDING_REVIEW - PENDING_MERCHANT_CONSENT - PENDING_IDENTITY_VALIDATION - PENDING_IDENTITY_VALIDATION_AND_PAYMENT - PENDING_PAYMENT - UNKNOWN_STATUS - REMOVE_PARTNERSHIP description: | This is the reason or nature of the status. * 'ACTIVE - The merchant is in good standing. * CLOSED_BY_MERCHANT - The merchant has been closed at the request of the merchant or partner. * CLOSED_BY_RISK - The merchant has been closed by a Global Payments Risk Team. * APPLICATION_DENIED - The merchant application has been denied by the Global Payments Risk Team. * PENDING_REVIEW - The merchant application is pending review from the Global Payments Risk Team. * PENDING_MERCHANT_CONSENT - The merchant must agree to terms and conditions prior to accepting payments. * PENDING_IDENTITY_VALIDATION - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team. * PENDING_IDENTITY_VALIDATION_AND_PAYMENT - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team and submit payment. * PENDING_PAYMENT - The merchant must submit payment. * UNKNOWN_STATUS - Contact your relationship manager for more details. * REMOVE_PARTNERSHIP - The partner has requested to disassociate the merchant from the partner program. example: REMOVE_PARTNERSHIP legal_name: type: string description: The legal business name of the merchant being boarded. minLength: 1 maxLength: 255 example: Merchant XYZ Inc dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' webstite: type: string description: The merchant's business website URL example: 'https://example.com/' description: type: string description: A description of the merchant's business. minLength: 1 maxLength: 255 example: Retail currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test addresses: type: array items: type: object properties: functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US persons: type: array items: type: object properties: functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com date_of_birth: type: string description: The date of birth of the person minLength: 10 maxLength: 100 example: '1980-01-01' national_id_reference: type: string description: 'The national id number or reference for the person for their nationality. For example for Americans this would be SSN, for Canadians it would be the SIN, for Britains it would be the NIN.' minLength: 1 maxLength: 50 example: '123456789' job_title: type: string description: The job title the person has minLength: 1 maxLength: 50 example: CEO equity_percentage: type: string description: The equity percentage the person owns of the business that is applying to Global Payments for payment processing services. minLength: 1 maxLength: 3 example: '50' birth_country: type: string description: The country of birth of the person referenced in ISO-3166-1(alpha-2 code) format. example: US citizenship_country: type: string description: The country or countries where the applicant has citizenship in ISO-3166-1(alpha-2 code) format. example: US address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number minLength: 1 maxLength: 50 payment_processing_statistics: type: object properties: total_monthly_sales_amount: type: string description: The total monthly sales of the merchant. example: '2000000' average_ticket_sales_amount: type: string description: The average sales amount of a merchant. example: '1000' highest_ticket_sales_amount: type: string description: The merchants highest ticket amount. example: '5000' payment_methods: type: array items: type: object properties: functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card minLength: 2 maxLength: 2 example: '07' expiry_year: type: string description: The 2 digit expiry date year of the card minLength: 2 maxLength: 2 example: '23' bank_transfer: type: object properties: account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL account_number: type: string description: The number or reference for the payer's bank account maxLength: 50 account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street cin: type: string description: Used to capture Partner Bank CIN. Only for use by banks partnered with Global maxLength: 255 example: '819844' code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' international_code: type: string description: 'The 8-11 character code that identifies your bank''s country, city, bank, and branch.' maxLength: 250 example: PNBPIE2D address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US notifications: type: object properties: status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' examples: Edit primary pay out bank account: value: payment_methods: - functions: - PRIMARY_PAYOUT name: primary bank name reference: '1234567' bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '1234567' bank: name: bank name code: '83908420' international_code: '83908420' address: line_1: 123 St line_2: Suite 2 line_3: '1234' city: Mesa state: AZ postal_code: '85284' country: US notifications: status_url: 'https://www.webhooknotificationurl.com/' Edit Applicant Info: value: persons: - functions: - APPLICANT first_name: First middle_name: M last_name: Last email: unique@email.com contact_phone: country_code: '01' subscriber_number: '5558675309' work_phone: country_code: '01' subscriber_number: '5558675309' notifications: status_url: 'https://www.webhooknotificationurl.com/' Edit Business Addresses: value: addresses: - functions: - BUSINESS line_1: 1 Business Address line_2: Suite 2 line_3: '1234' city: Mesa state: AZ postal_code: '85201' country: US notifications: status_url: 'https://www.webhooknotificationurl.com/' Edit Shipping Address: value: addresses: - functions: - SHIPPING line_1: 1 Shipping Address line_2: suite 2 line_3: '1234' city: Mesa state: AZ postal_code: '85201' country: US persons: - functions: - APPLICANT address: line_1: 1 Applicant Address line_2: Apt B line_3: '1234' city: Mesa state: AZ postal_code: '85201' country: US notifications: status_url: 'https://www.webhooknotificationurl.com/' Edit Fees Payment Method: value: payment_methods: - functions: - FEES name: Primary Bank Name reference: '123456' bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '123456789' bank: name: bank name code: '123456' international_code: '123546' address: line_1: 1 Bank Account Address line_2: Suite 1 line_3: '1234' city: Mesa state: AZ postal_code: '85284' country: US notifications: status_url: 'https://www.webhooknotificationurl.com/' Edit Payment Processing Statistics: value: payment_processing_statistics: total_monthly_sales_amount: '300000' average_ticket_sales_amount: '500' highest_ticket_sales_amount: '350000' Edit a Merchant Activation/Renewal Payment Method: value: payment_methods: - functions: - ACCOUNT_ACTIVATION_FEE name: Bank Account Name reference: '123546' bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '1234567' bank: name: Bank Name code: '1234567' international_code: '1234567' address: line_1: 1 Bank Account Address line_2: Suite 1 line_3: '1234' city: Mesa state: AZ postal_code: '85284' country: US notifications: status_url: 'https://www.webhooknotificationurl.com/' Add a Beneficial Owner: value: persons: - functions: - BENEFICIAL_OWNER first_name: John middle_name: Q last_name: Doe email: johnqdoe@mail.com date_of_birth: '1996-01-03' national_id_reference: '123654789' job_title: owner equity_percentage: '25' address: line_1: 123 Owner Street line_2: Suite B line_3: '1234' city: Atlanta state: GA postal_code: '30301' country: US contact_phone: country_code: '01' subscriber_number: '8018675309' work_phone: country_code: '01' subscriber_number: '8018675309' notifications: status_url: 'https://www.webhooknotificationurl.com/' Remove a Merchant from Partner: value: status: INACTIVE status_change_reason: REMOVE_PARTNERSHIP notifications: status_url: 'https://www.webhooknotificationurl.com/' Renew or Change Pricing Profile Subscription Using a Card: value: pricing_profile: test payment_method: name: Card Holder Name reference: '1234' card: number: '4111111111111111' expiry_month: '01' expiry_year: '25' cvv: '999' address: line_1: 1 Business Address line_2: Suite 2 line_3: '1234' city: Atlanta state: GA postal_code: '30346' country: US notifications: status_url: 'https://webhook.site/dc2b6bd7-8e11-4a95-9374-011e97177754' Renew or Change Pricing Profile Subscription Using a Bank Account: value: pricing_profile: test payment_methods: - name: Bank Account Holder Name reference: '1234' bank_transfer: account_holder_type: PERSONAL account_type: CHECKING account_number: '123456789' bank: name: Bank Name code: '124002971' international_code: '124002971' address: line_1: 1 Business Address line_2: Suite 2 line_3: '1234' city: Atlanta state: GA postal_code: '30346' country: US notifications: status_url: 'https://www.webhooknotificationurl.com/' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status_description: type: string description: A further desctiption of the status of a merchant. maxLength: 50 example: Merchant Boarding in progress action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE type: MERCHANT time_created: '2019-08-24T14:15:22Z' time_last_updated: '2019-08-24T14:15:22Z' status_description: Merchant Boarding in progress action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. callbacks: Merchant Edit Notification: '{$request.body#/notifications.status_url}': post: description: The merchant update notification message that will be sent to the merchant status URL. requestBody: content: application/json: schema: type: object title: Merchant_edit_notification properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status_description: type: string description: A further desctiption of the status of a merchant. maxLength: 50 example: Merchant Boarding in progress action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app responses: '200': description: OK servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - Get Merchant info summary: Get information about the merchant executing the action. description: Get information about the merchant executing the action. operationId: getMerchantSingle parameters: - name: id in: path description: This is the merchant id to uniquely identify the entity on the Global Payments system. required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE status_reason: type: string enum: - CLOSED_BY_MERCHANT description: A meaningful description for the status or status change. name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username reference: type: string description: A client indicated merchant reference identifier. maxLength: 50 example: Merchant1234 currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ website: type: string description: The merchant's business website URL example: 'https://example.com/' tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test prepaid_card_status: type: string enum: - ACTIVE - MANUFACTURING - INACTIVE - LOST - STOLEN - HOLD - EXPIRED - RESET_PIN - REJECTED description: | This value reflects the latest stage in the prepaid card issuance and delivery process. * `ACTIVE` - The prepaid card is fully operational and can be used for transactions. * `MANUFACTURING` - The prepaid card is currently being produced and has not yet been dispatched to the cardholder. * `INACTIVE` - The prepaid card has been issued but not yet activated for use. * `LOST` - The cardholder has reported the prepaid card as lost. * `STOLEN` - The prepaid card has been reported stolen. * `HOLD` - The prepaid card is temporarily suspended. * `EXPIRED` - The prepaid card has reached its expiration date and no longer valid for transactions. * `RESET_PIN` - The prepaid card requires a PIN reset. * `REJECTED` - The prepaid card issuance request has been declined. example: ACTIVE notifications: type: object properties: status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' persons: type: array items: type: object properties: functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number minLength: 1 maxLength: 50 addresses: type: array items: type: object properties: functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US payment_methods: type: array items: type: object properties: functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method bank_transfer: type: object properties: account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL masked_number_last4: type: string description: The last 4 digits of the merchant's bank account example: '1234' account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US start_date: type: string description: This is the creation date of the merchant. minLength: 10 maxLength: 100 example: '1980-01-01' expiration_date: type: string description: The date at which the merchant account will expire. minLength: 10 maxLength: 100 example: '1980-01-01' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app required: - type - dba - website - tax_id_reference - persons - addresses headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/merchants//documents': post: tags: - Upload Merchant Documentation description: Upload documentation related to a Merchant. operationId: UploadMerchantDocumentation parameters: - name: id in: path description: This is the merchant id to uniquely identify the entity on the Global Payments system. required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object title: documents_request properties: function: type: string enum: - IDENTITY_VERIFICATION - RISK_REVIEW - UNDERWRITING description: | This is the intended function of the document being uploaded. * `IDENTITY_VERIFICATION` indicates a document that is used to validate the identity of applicant. Generally, this would only be required if the automated validation fails. * `RISK_REVIEW` indicates a document that has been requested by the risk or fraud prevention team of the platform. * `UNDERWRITING` indicates documentation related to a processing volume increase request. example: IDENTITY_VERIFICATION b64_content: type: string description: The document to be uploaded in base64 format. minLength: 1 maxLength: 250 example: SGV5LCBIb3cgYXJlIHlvdT8= format: type: string enum: - TIF - TIFF - PDF - BMP - JPEG - GIF - PNG - DOC - DOCX description: This is the format of the file being uploaded. example: TIF responses: '200': description: OK content: application/json: schema: type: object title: documents_response properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to minLength: 1 maxLength: 50 example: DOC_34uTXDOO6KXgFO7I2ojADxH4KfrCz5 status: type: string description: Indicates where the document is in its lifecycle. example: UPLOADED name: type: string description: A meaningful label for the document set by Global Payments. example: UNDERWRITING_718564831_8vOut0YO32 action: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_124234234234234234 type: type: string enum: - DOCUMENT_UPLOAD description: The type of action that was executed that initialed the activity this notification is providing an update on. example: DOCUMENT_UPLOAD time_created: type: string description: The time the action that initialed the activity this notification was executed. example: '2021-05-03T21:23:39.718Z' result_code: type: string description: The result code of the initiating action that this notification reatles to. example: SUCCESS app_id: type: string description: The id of the app that is being used to execute and sign the action example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy app_name: type: string description: The name of the app that is being used to execute and sign the action example: demo_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /addresses: get: tags: - Address Lookup summary: Address Lookup description: 'To ensure the appropriate formatting of an address is included as part of a UK merchant boarding application, you can use Address Lookup to perform a search on all addresses with a certain house number or house name within a postal code.' operationId: AddressLookup parameters: - name: postal_code in: query required: true schema: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: CB6 1AS - name: building_number in: query schema: type: string description: UK only. The number associated with the address home/building. example: '1001' - name: building_name in: query schema: type: string description: UK only. The number associated with the address home/building. example: '1001' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object title: address_lookup_response properties: addresses: type: array items: type: object properties: reference: type: string description: The address search reference returned from the GET Addresses function. This value will improve the merchant boarding success rate for merchants in the UK. example: '12535421321' building_name: type: string description: UK only. The name associated with the address home/building. example: Rose Cottage building_number: type: string description: UK only. The number associated with the address home/building. example: '1001' line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: Harrow city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Ely state: type: string description: 'The state, county or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CAMBS country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: GB postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: CB6 1AS action: type: object properties: id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' type: type: string enum: - ADDRESS_LIST description: Indicates the specific action taken. example: ADDRESS_LIST result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Address Lookup - name: Board Merchant - name: Edit Merchant - name: Get Merchant info - name: Get Merchants - name: Upload Merchant Documentation components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: create_request: type: object properties: name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT legal_name: type: string description: The legal business name of the merchant being boarded. minLength: 1 maxLength: 255 example: Merchant XYZ Inc dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' website: type: string description: The merchant's business website URL example: 'https://example.com/' description: type: string description: A description of the merchant's business. minLength: 1 maxLength: 255 example: Retail registration_number: type: string description: This is the business's company registration number. maxLength: 55 example: '153759456' currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD ip_address: type: string description: The IP the merchant signed up from. example: 165.225.11.46 notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com legal_entity: type: string enum: - LIMITED_COMPANY - PUBLICLY_TRADED_CORPORATION - NON_PUBLICLY_TRADED_CORPORATION - NON_PROFT_ORGANIZATION - GOVERNMENT_ORGANIZATION - NON_PUBLICLY_TRADED_LLC - PUBLICLY_TRADED_LLC - GENERAL_PARTNERSHIP - PUBLICLY_TRADED_PARTNERSHIP - SOLE_PROPRIETORSHIP - AMERICAN_EXPRESS description: | The legal entity or type of business registration of the merchant. * LIMITED_COMPANY * PUBLICLY_TRADED_CORPORATION * NON_PUBLICLY_TRADED_CORPORATION * NON_PROFT_ORGANIZATION * GOVERNMENT_ORGANIZATION * NON_PUBLICLY_TRADED_LLC * PUBLICLY_TRADED_LLC * GENERAL_PARTNERSHIP * PUBLICLY_TRADED_PARTNERSHIP * SOLE_PROPRIETORSHIP * AMERICAN_EXPRESS example: LIMITED_COMPANY tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' reference: type: string description: A client indicated merchant reference identifier. maxLength: 50 example: Merchant1234 language: type: string description: The preferred language of the merchant.In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en attestations: type: array items: type: object properties: name: type: string enum: - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS - HEARTLAND_SUB-MERCHANT_TERMS_AND_CONDITIONS - PREPAID_CARD_TERMS_AND_CONDITIONS - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_CA - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_AU - BOATTESTATION - BENEFICIAL_OWNER - CREDIT_CHECK_CONSENT description: | The name of the agreements/consent which the boarding merchant has agreed to. These may be conditionally required by the downstream system. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS` - US Propay sub-merchant T&Cs. * `HEARTLAND_SUB-MERCHANT_TERMS_AND_CONDITIONS` - Heartland sub-merchant T&Cs. * `PREPAID_CARD_TERMS_AND_CONDITIONS` - US pre-paid debit card T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_CA` - Canada Propay sub-merchant T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK` - UK Propay sub-merchant T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_AU` - Australia Propay sub-merchant T&Cs. * `BOATTESTATION` - The boarding merchant is attesting that all individuals that have 25% ownership or a controlling interest in the entity have been disclosed in the application process. The partner is also attesting that a pop up or other message has been displayed to the merchant to explain these requirements. * `BENEFICIAL_OWNER` - It is provided to add any new or missing Beneficial Owner (BO) details using persons object. * `CREDIT_CHECK_CONSENT` - Indicates whether the applicant has granted consent for a credit check. When included, consentToPullCredit=true is sent to ProPay; when omitted, it defaults to false. example: BENEFICIAL_OWNER ip_address: type: string description: The IP address of the device that was used to agree to the attestation (name). example: 162.72.72.18 time_of_attestation: type: string description: The timestamp associated with the agreement of the attestation (name). format: date-time example: '2021-05-03T21:23:39.718Z' addresses: type: array items: type: object properties: functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS building_name: type: string description: UK only. The name associated with the address home/building. minLength: 1 maxLength: 50 example: Rose Cottage line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer months_at_address: type: string description: The number of months at the address provided. maxLength: 50 example: '48' city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills post_town: type: string title: post_town.MERCHANTS.addresses.post_town description: 'UK only. The post town associated with the address. ' maxLength: 100 example: London state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 payment_processing_statistics: type: object properties: total_monthly_sales_amount: type: string description: The total monthly sales of the merchant. example: '2000000' average_ticket_sales_amount: type: string description: The average sales amount of a merchant. example: '1000' highest_ticket_sales_amount: type: string description: The merchants highest ticket amount. example: '5000' pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test payment_methods: type: array items: type: object properties: functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method reference: type: string description: A client indicated payment method reference number. maxLength: 50 example: '1536547895' card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card minLength: 2 maxLength: 2 example: '07' expiry_year: type: string description: The 2 digit expiry date year of the card minLength: 2 maxLength: 2 example: '23' cvv: type: string description: The numeric value printed on the physical card. example: '213' address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US bank_transfer: type: object properties: account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING account_number: type: string description: The number or reference for the payer's bank account maxLength: 50 bank: type: object properties: name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street cin: type: string description: Used to capture Partner Bank CIN. Only for use by banks partnered with Global maxLength: 255 example: '819844' code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' international_code: type: string description: 'The 8-11 character code that identifies your bank''s country, city, bank, and branch.' maxLength: 250 example: PNBPIE2D address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US persons: type: array items: type: object properties: functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com date_of_birth: type: string description: The date of birth of the person minLength: 10 maxLength: 100 example: '1980-01-01' job_title: type: string description: The job title the person has minLength: 1 maxLength: 50 example: CEO equity_percentage: type: string description: The equity percentage the person owns of the business that is applying to Global Payments for payment processing services. minLength: 1 maxLength: 3 example: '50' national_id_reference: type: string description: 'The national id number or reference for the person for their nationality. For example for Americans this would be SSN, for Canadians it would be the SIN, for Britains it would be the NIN.' minLength: 1 maxLength: 50 example: '123456789' birth_country: type: string description: The country of birth of the person referenced in ISO-3166-1(alpha-2 code) format. example: US citizenship_country: type: string description: The country or countries where the applicant has citizenship in ISO-3166-1(alpha-2 code) format. example: US addresses: type: array items: type: object properties: building_number: type: string description: UK only. The number associated with the address home/building. minLength: 1 maxLength: 50 example: '1001' building_name: type: string description: UK only. The name associated with the address home/building. minLength: 1 maxLength: 50 example: Rose Cottage line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer months_at_address: type: string description: The number of months at the address provided. maxLength: 50 example: '48' city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills post_town: type: string title: post_town_MERCHANTS.persons.addresses.post_town description: 'UK only. The post town associated with the address. ' maxLength: 100 example: London state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subsriber_number: type: string description: The phone number minLength: 1 maxLength: 50 products: type: array items: type: object properties: quantity: type: number description: The quantity of the specified product ordered. example: 1 id: type: string description: Unique Global Payments generated id used to uniquely reference a product on the Global Payments system. minLength: 5 maxLength: 50 example: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 notifications: type: object properties: status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' batch_close_time: type: string description: Specified time to close the Batch minLength: 1 maxLength: 50 example: '20:00' configurations: type: object properties: fingerprint_id: type: string description: 'This is a unique identifier that ensures all merchants processing the same card can reference a single, shared fingerprint. This shared value allows merchants or partners to consistently recognize the same cardholder across different merchants or partners. It enables cross merchant cardholder identification for reporting, matching, and any use case where multiple merchants need to identify and match the same cardholder using a single fingerprint value.' minLength: 1 maxLength: 40 example: FPG-ace41bbd-3561-4b46-a8c9-497f3cf36868 required: - name - legal_name - dba - website - description - addresses - persons name_MERCHANTS.name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username type_MERCHANTS.type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT legal_name_MERCHANTS.legal_name: type: string description: The legal business name of the merchant being boarded. minLength: 1 maxLength: 255 example: Merchant XYZ Inc dba_MERCHANTS.dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ merchant_category_code_MERCHANTS.merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' website_MERCHANTS.website: type: string description: The merchant's business website URL example: 'https://example.com/' description_MERCHANTS.description: type: string description: A description of the merchant's business. minLength: 1 maxLength: 255 example: Retail registration_number_MERCHANTS.registration_number: type: string description: This is the business's company registration number. maxLength: 55 example: '153759456' currency_MERCHANTS.currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD ip_address_MERCHANTS.ip_address: type: string description: The IP the merchant signed up from. example: 165.225.11.46 notification_email_MERCHANTS.notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com legal_entity_MERCHANTS.legal_entity: type: string enum: - LIMITED_COMPANY - PUBLICLY_TRADED_CORPORATION - NON_PUBLICLY_TRADED_CORPORATION - NON_PROFT_ORGANIZATION - GOVERNMENT_ORGANIZATION - NON_PUBLICLY_TRADED_LLC - PUBLICLY_TRADED_LLC - GENERAL_PARTNERSHIP - PUBLICLY_TRADED_PARTNERSHIP - SOLE_PROPRIETORSHIP - AMERICAN_EXPRESS description: | The legal entity or type of business registration of the merchant. * LIMITED_COMPANY * PUBLICLY_TRADED_CORPORATION * NON_PUBLICLY_TRADED_CORPORATION * NON_PROFT_ORGANIZATION * GOVERNMENT_ORGANIZATION * NON_PUBLICLY_TRADED_LLC * PUBLICLY_TRADED_LLC * GENERAL_PARTNERSHIP * PUBLICLY_TRADED_PARTNERSHIP * SOLE_PROPRIETORSHIP * AMERICAN_EXPRESS example: LIMITED_COMPANY tax_id_reference_MERCHANTS.tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' reference_MERCHANTS.reference: type: string description: A client indicated merchant reference identifier. maxLength: 50 example: Merchant1234 language_MERCHANTS.language: type: string description: The preferred language of the merchant.In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en name_MERCHANTS.attestations.name: type: string enum: - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS - HEARTLAND_SUB-MERCHANT_TERMS_AND_CONDITIONS - PREPAID_CARD_TERMS_AND_CONDITIONS - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_CA - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK - PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_AU - BOATTESTATION - BENEFICIAL_OWNER - CREDIT_CHECK_CONSENT description: | The name of the agreements/consent which the boarding merchant has agreed to. These may be conditionally required by the downstream system. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS` - US Propay sub-merchant T&Cs. * `HEARTLAND_SUB-MERCHANT_TERMS_AND_CONDITIONS` - Heartland sub-merchant T&Cs. * `PREPAID_CARD_TERMS_AND_CONDITIONS` - US pre-paid debit card T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_CA` - Canada Propay sub-merchant T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_UK` - UK Propay sub-merchant T&Cs. * `PROPAY_SUB_MERCHANT_TERMS_AND_CONDITIONS_AU` - Australia Propay sub-merchant T&Cs. * `BOATTESTATION` - The boarding merchant is attesting that all individuals that have 25% ownership or a controlling interest in the entity have been disclosed in the application process. The partner is also attesting that a pop up or other message has been displayed to the merchant to explain these requirements. * `BENEFICIAL_OWNER` - It is provided to add any new or missing Beneficial Owner (BO) details using persons object. * `CREDIT_CHECK_CONSENT` - Indicates whether the applicant has granted consent for a credit check. When included, consentToPullCredit=true is sent to ProPay; when omitted, it defaults to false. example: BENEFICIAL_OWNER ip_address_MERCHANTS.attestations.ip_address: type: string description: The IP address of the device that was used to agree to the attestation (name). example: 162.72.72.18 time_of_attestation_MERCHANTS.attestations.time_of_attestation: type: string description: The timestamp associated with the agreement of the attestation (name). format: date-time example: '2021-05-03T21:23:39.718Z' functions_MERCHANTS.addresses.functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS building_name_MERCHANTS.addresses.building_name: type: string description: UK only. The name associated with the address home/building. minLength: 1 maxLength: 50 example: Rose Cottage line_1_MERCHANTS.addresses.line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2_MERCHANTS.addresses.line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3_MERCHANTS.addresses.line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer months_at_address_MERCHANTS.persons.addresses.months_at_address: type: string description: The number of months at the address provided. maxLength: 50 example: '48' city_MERCHANTS.addresses.city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills post_town.MERCHANTS.addresses.post_town: type: string title: post_town.MERCHANTS.addresses.post_town description: 'UK only. The post town associated with the address. ' maxLength: 100 example: London state_MERCHANTS.addresses.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code_MERCHANTS.addresses.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country_MERCHANTS.addresses.country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US country_code_MERCHANTS.addresses.phone.country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number_MERCHANTS.addresses.phone.subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 total_monthly_sales_amount_MERCHANTS.payment_processing_statistics.total_monthly_sales_amount: type: string description: The total monthly sales of the merchant. example: '2000000' average_ticket_sales_amount_MERCHANTS.payment_processing_statistics.average_ticket_sales_amount: type: string description: The average sales amount of a merchant. example: '1000' highest_ticket_sales_amount_MERCHANTS.payment_processing_statistics.highest_ticket_sales_amount: type: string description: The merchants highest ticket amount. example: '5000' pricing_profile_MERCHANTS.pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test functions_MERCHANTS.payment_methods.functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name_MERCHANTS.payment_methods.name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method reference_MERCHANTS.payment_methods.reference: type: string description: A client indicated payment method reference number. maxLength: 50 example: '1536547895' number_MERCHANTS.payment_methods.card.number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month_MERCHANTS.payment_methods.card.expiry_month: type: string description: The 2 digit expiry date month of the card minLength: 2 maxLength: 2 example: '07' expiry_year_MERCHANTS.payment_methods.card.expiry_year: type: string description: The 2 digit expiry date year of the card minLength: 2 maxLength: 2 example: '23' cvv_MERCHANTS.payment_methods.card.cvv: type: string description: The numeric value printed on the physical card. example: '213' line_3_MERCHANTS.payment_methods.card.address.line_3: type: string description: Third line of the address maxLength: 255 example: foyer account_holder_type_MERCHANTS.payment_methods.bank_transfer.account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL account_type_MERCHANTS.payment_methods.bank_transfer.account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING account_number_MERCHANTS.payment_methods.bank_transfer.account_number: type: string description: The number or reference for the payer's bank account maxLength: 50 name_MERCHANTS.payment_methods.bank_transfer.bank.name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street cin_MERCHANTS.payment_methods.bank_transfer.bank.cin: type: string description: Used to capture Partner Bank CIN. Only for use by banks partnered with Global maxLength: 255 example: '819844' code_MERCHANTS.payment_methods.bank_transfer.bank.code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' international_code_MERCHANTS.payment_methods.bank_transfer.bank.international_code: type: string description: 'The 8-11 character code that identifies your bank''s country, city, bank, and branch.' maxLength: 250 example: PNBPIE2D functions_MERCHANTS.persons.functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name_MERCHANTS.persons.first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name_MERCHANTS.persons.middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name_MERCHANTS.persons.last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email_MERCHANTS.persons.email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com date_of_birth_MERCHANTS.persons.date_of_birth: type: string description: The date of birth of the person minLength: 10 maxLength: 100 example: '1980-01-01' job_title_MERCHANTS.persons.job_title: type: string description: The job title the person has minLength: 1 maxLength: 50 example: CEO equity_percentage_MERCHANTS.persons.equity_percentage: type: string description: The equity percentage the person owns of the business that is applying to Global Payments for payment processing services. minLength: 1 maxLength: 3 example: '50' national_id_reference_MERCHANTS.persons.national_id_reference: type: string description: 'The national id number or reference for the person for their nationality. For example for Americans this would be SSN, for Canadians it would be the SIN, for Britains it would be the NIN.' minLength: 1 maxLength: 50 example: '123456789' birth_country_MERCHANTS.persons.birth_country: type: string description: The country of birth of the person referenced in ISO-3166-1(alpha-2 code) format. example: US citizenship_country_MERCHANTS.persons.citizenship_country: type: string description: The country or countries where the applicant has citizenship in ISO-3166-1(alpha-2 code) format. example: US building_number_MERCHANTS.persons.addresses.building_number: type: string description: UK only. The number associated with the address home/building. minLength: 1 maxLength: 50 example: '1001' line_1_MERCHANTS.persons.addresses.line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street post_town_MERCHANTS.persons.addresses.post_town: type: string title: post_town_MERCHANTS.persons.addresses.post_town description: 'UK only. The post town associated with the address. ' maxLength: 100 example: London subscriber_number_MERCHANTS.persons.work_phone.subscriber_number: type: string description: The phone number minLength: 1 maxLength: 50 quantity_MERCHANTS.products.quantity: type: number description: The quantity of the specified product ordered. example: 1 id_MERCHANTS.products.id: type: string description: Unique Global Payments generated id used to uniquely reference a product on the Global Payments system. minLength: 5 maxLength: 50 example: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 status_url_MERCHANTS.notifications.status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' batch_close_time_MERCHANTS.batch_close_time: type: string description: Specified time to close the Batch minLength: 1 maxLength: 50 example: '20:00' fingerprint_id_MERCHANTS.configurations.fingerprint_id: type: string description: 'This is a unique identifier that ensures all merchants processing the same card can reference a single, shared fingerprint. This shared value allows merchants or partners to consistently recognize the same cardholder across different merchants or partners. It enables cross merchant cardholder identification for reporting, matching, and any use case where multiple merchants need to identify and match the same cardholder using a single fingerprint value.' minLength: 1 maxLength: 40 example: FPG-ace41bbd-3561-4b46-a8c9-497f3cf36868 create_response: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status_description: type: string description: A further desctiption of the status of a merchant. maxLength: 50 example: Merchant Boarding in progress action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE type: MERCHANT time_created: '2019-08-24T14:15:22Z' time_last_updated: '2019-08-24T14:15:22Z' status_description: Merchant Boarding in progress action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app id_MERCHANTS.id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 status_MERCHANTS.status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE time_created_MERCHANTS.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated_MERCHANTS.time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status_description_MERCHANTS.status_description: type: string description: A further desctiption of the status of a merchant. maxLength: 50 example: Merchant Boarding in progress id_MERCHANTS.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_MERCHANTS.action.type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created_MERCHANTS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_MERCHANTS.action.result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id_MERCHANTS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_MERCHANTS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app Merchant_create_notification: type: object title: Merchant_create_notification properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 products: type: array items: type: object properties: id: type: string description: Unique Global Payments generated id used to uniquely reference a product on the Global Payments system. minLength: 5 maxLength: 50 example: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: A label to identify the Prodct minLength: 1 maxLength: 50 example: ACH Processing account: type: object properties: id: type: string description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c type: type: string enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT name: type: string description: A understandable name associated with an instance of a account. example: '718586025_753619' status: type: string enum: - ACTIVE - INACTIVE description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE channel: type: array description: An array of transaction channels configured for this account. items: type: string enum: - CP - CNP example: - CNP time_created: type: string description: GP API platform date and time that indicates when this instance of a platform configuration was created. format: date-time permissions: type: array description: All of the permissions or activites that may be performed by the account. items: type: string example: - APP_GET_Single_Key action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE type: MERCHANT time_created: '2019-08-24T14:15:22Z' time_last_updated: '2019-08-24T14:15:22Z' email: example@email.com address: line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US contact_phone: country_code: US subscriber_number: string products: - id: PRO_31087d9c-e68c-4389-9f13-39378e166ea5 name: ACH Processing account: id: FMA_02ca6d0284b743449a28aadfb702c71c type: FUND_MANAGEMENT name: '718586025_753619' status: ACTIVE channel: - CNP time_created: '2019-08-24T14:15:22Z' permissions: - APP_GET_Single_Key action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app name_MERCHANTS.products.name: type: string description: A label to identify the Prodct minLength: 1 maxLength: 50 example: ACH Processing id_ACCOUNTS.id: type: string description: | A unique identifier that is used to identify and reference an instance of this resource. It can begin with one of the following the three letters combinations. Each one representing a different account type and capability. TRA - Transaction Processing TKA - Tokenization DIA - Dispute Management DAA - Data Services MMA - Merchant Management FPA - File Processing FMA - Funds Management RAA - Risk Assessment example: FMA_02ca6d0284b743449a28aadfb702c71c type_ACCOUNTS.type: type: string enum: - FUND_MANAGEMENT - TRANSACTION_PROCESSING - TOKENIZATION - DATA_SERVICES - DISPUTE_MANAGEMENT - MERCHANT_MANAGEMENT - RISK_ASSESSMENT description: | A string that identifies the capability of the account. * `FUND_MANAGEMENT` - Enables the transfer of funds between different partner and merchant accounts and the movement of funds out of the Global Payments ecosystem to a bank account or debit card. * `TRANSACTION_PROCESSING` - This is the most fundamental and expansive of the capabilities the platform offers. It includes authorizing, capturing, reversing, adjusting card and non card transactions, and also those activities that occur before or after transaction creation and management are directly linked to transactions, for example DCC, 3DS, Batching. * `DATA_SERVICES ` - Exposes information relating to deposits, transactions, disputes and fees that affect bank accounts. * `TOKENIZATION ` - This capability enables the encryption and secure storage of sensitive card details . A payment method token is produced that can be stored and used on the customers system in place of sensitive card information to process transactions. * `DISPUTE_MANAGEMENT ` - This capability enables the reporting, challenging and accepting of chargebacks and retrieval requests. * `MERCHANT_MANAGEMENT ` - This capability includes the underwriting and configuration of merchants on the platform with the product capability the merchant needs * `RISK_ASSESSMENT` - Enables the assessment of transactions for the degree of risk associated with that transaction. example: FUND_MANAGEMENT name_ACCOUNTS.name: type: string description: A understandable name associated with an instance of a account. example: '718586025_753619' status_ACCOUNTS.status: type: string enum: - ACTIVE - INACTIVE description: | The overall status of the account. *`ACTIVE` - The entity is ACTIVE and can be used. *`INACTIVE` - The entity is INACTIVE and cannot be used. example: ACTIVE channels_ACCOUNTS.channels: type: array description: An array of transaction channels configured for this account. items: type: string enum: - CP - CNP example: - CNP time_created_ACCOUNTS.time_created: type: string description: GP API platform date and time that indicates when this instance of a platform configuration was created. format: date-time permissions_ACCOUNTS.permissions: type: array description: All of the permissions or activites that may be performed by the account. items: type: string example: - APP_GET_Single_Key page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' Get_merchants_response: type: object title: Get_merchants_list_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: funds_management filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED merchants: type: array items: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE organization: type: string title: organization_MERCHANTS.organization description: The organization this merchant is part of. industry: type: string title: industry_MERCHANTS.industry description: The industry the merchant is in. integrator: type: string title: integrator_MERCHANTS.integrator description: The person or company that is integrating to the platform on behalf of the merchant. hierarchy: type: string title: hierarchy_MERCHANTS.hierarchy description: The hierarchy the primary_mid is part of. primary_mid: type: string title: primary_mid.MERCHANTS.primary_mid description: The primary_mid of the merchant. region: type: string title: region_MERCHANTS.region description: The region the merchant belongs to. links: type: array items: type: object properties: rel: type: string enum: - SELF - ACCOUNTS title: rel_MERCHANTS.links.rel description: | Describes the relationship the associated link href value has to the current resource. * `SELF`- indicates a link to the current resource. * `ACCOUNTS` - indicates a link to the current resource's list of accounts href: type: string title: href_MERCHANTS.links.href description: An href link to the resources or resource actions as indicated in the corresponding rel value. maxLength: 2048 action: type: object properties: id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app example: total_record_count: 1000 current_page_size: 564 merchant_id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: Unique Username account_id: FMA_86920f927028745yt34d077d88beb29b account_name: funds_management filter: from_time_created: '2022-05-01' to_time_created: '2023-05-01' paging: page_size: 5 page: 1 order: ASC order_by: TIME_CREATED merchants: - id: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: Unique Username status: ACTIVE links: - rel: SELF href: string action: id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: MERCHANT_CREATE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 account_id_MERCHANTS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: FMA_86920f927028745yt34d077d88beb29b account_name_MERCHANTS.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: funds_management order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED organization_MERCHANTS.organization: type: string title: organization_MERCHANTS.organization description: The organization this merchant is part of. industry_MERCHANTS.industry: type: string title: industry_MERCHANTS.industry description: The industry the merchant is in. integrator_MERCHANTS.integrator: type: string title: integrator_MERCHANTS.integrator description: The person or company that is integrating to the platform on behalf of the merchant. hierarchy_MERCHANTS.hierarchy: type: string title: hierarchy_MERCHANTS.hierarchy description: The hierarchy the primary_mid is part of. primary_mid.MERCHANTS.primary_mid: type: string title: primary_mid.MERCHANTS.primary_mid description: The primary_mid of the merchant. region_MERCHANTS.region: type: string title: region_MERCHANTS.region description: The region the merchant belongs to. rel_MERCHANTS.links.rel: type: string enum: - SELF - ACCOUNTS title: rel_MERCHANTS.links.rel description: | Describes the relationship the associated link href value has to the current resource. * `SELF`- indicates a link to the current resource. * `ACCOUNTS` - indicates a link to the current resource's list of accounts href_MERCHANTS.links.href: type: string title: href_MERCHANTS.links.href description: An href link to the resources or resource actions as indicated in the corresponding rel value. maxLength: 2048 edit_request: type: object title: edit_request properties: name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status_change_reason: type: string enum: - ACTIVE - CLOSED_BY_MERCHANT - CLOSED_BY_RISK - APPLICATION_DENIED - PENDING_REVIEW - PENDING_MERCHANT_CONSENT - PENDING_IDENTITY_VALIDATION - PENDING_IDENTITY_VALIDATION_AND_PAYMENT - PENDING_PAYMENT - UNKNOWN_STATUS - REMOVE_PARTNERSHIP description: | This is the reason or nature of the status. * 'ACTIVE - The merchant is in good standing. * CLOSED_BY_MERCHANT - The merchant has been closed at the request of the merchant or partner. * CLOSED_BY_RISK - The merchant has been closed by a Global Payments Risk Team. * APPLICATION_DENIED - The merchant application has been denied by the Global Payments Risk Team. * PENDING_REVIEW - The merchant application is pending review from the Global Payments Risk Team. * PENDING_MERCHANT_CONSENT - The merchant must agree to terms and conditions prior to accepting payments. * PENDING_IDENTITY_VALIDATION - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team. * PENDING_IDENTITY_VALIDATION_AND_PAYMENT - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team and submit payment. * PENDING_PAYMENT - The merchant must submit payment. * UNKNOWN_STATUS - Contact your relationship manager for more details. * REMOVE_PARTNERSHIP - The partner has requested to disassociate the merchant from the partner program. example: REMOVE_PARTNERSHIP legal_name: type: string description: The legal business name of the merchant being boarded. minLength: 1 maxLength: 255 example: Merchant XYZ Inc dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. example: '5999' webstite: type: string description: The merchant's business website URL example: 'https://example.com/' description: type: string description: A description of the merchant's business. minLength: 1 maxLength: 255 example: Retail currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test addresses: type: array items: type: object properties: functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US persons: type: array items: type: object properties: functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com date_of_birth: type: string description: The date of birth of the person minLength: 10 maxLength: 100 example: '1980-01-01' national_id_reference: type: string description: 'The national id number or reference for the person for their nationality. For example for Americans this would be SSN, for Canadians it would be the SIN, for Britains it would be the NIN.' minLength: 1 maxLength: 50 example: '123456789' job_title: type: string description: The job title the person has minLength: 1 maxLength: 50 example: CEO equity_percentage: type: string description: The equity percentage the person owns of the business that is applying to Global Payments for payment processing services. minLength: 1 maxLength: 3 example: '50' birth_country: type: string description: The country of birth of the person referenced in ISO-3166-1(alpha-2 code) format. example: US citizenship_country: type: string description: The country or countries where the applicant has citizenship in ISO-3166-1(alpha-2 code) format. example: US address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number minLength: 1 maxLength: 50 payment_processing_statistics: type: object properties: total_monthly_sales_amount: type: string description: The total monthly sales of the merchant. example: '2000000' average_ticket_sales_amount: type: string description: The average sales amount of a merchant. example: '1000' highest_ticket_sales_amount: type: string description: The merchants highest ticket amount. example: '5000' payment_methods: type: array items: type: object properties: functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method card: type: object properties: number: type: string description: The the card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card minLength: 2 maxLength: 2 example: '07' expiry_year: type: string description: The 2 digit expiry date year of the card minLength: 2 maxLength: 2 example: '23' bank_transfer: type: object properties: account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL account_number: type: string description: The number or reference for the payer's bank account maxLength: 50 account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street cin: type: string description: Used to capture Partner Bank CIN. Only for use by banks partnered with Global maxLength: 255 example: '819844' code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' international_code: type: string description: 'The 8-11 character code that identifies your bank''s country, city, bank, and branch.' maxLength: 250 example: PNBPIE2D address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US notifications: type: object properties: status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' status_change_reason_MERCHANTS.status_change_reason: type: string enum: - ACTIVE - CLOSED_BY_MERCHANT - CLOSED_BY_RISK - APPLICATION_DENIED - PENDING_REVIEW - PENDING_MERCHANT_CONSENT - PENDING_IDENTITY_VALIDATION - PENDING_IDENTITY_VALIDATION_AND_PAYMENT - PENDING_PAYMENT - UNKNOWN_STATUS - REMOVE_PARTNERSHIP description: | This is the reason or nature of the status. * 'ACTIVE - The merchant is in good standing. * CLOSED_BY_MERCHANT - The merchant has been closed at the request of the merchant or partner. * CLOSED_BY_RISK - The merchant has been closed by a Global Payments Risk Team. * APPLICATION_DENIED - The merchant application has been denied by the Global Payments Risk Team. * PENDING_REVIEW - The merchant application is pending review from the Global Payments Risk Team. * PENDING_MERCHANT_CONSENT - The merchant must agree to terms and conditions prior to accepting payments. * PENDING_IDENTITY_VALIDATION - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team. * PENDING_IDENTITY_VALIDATION_AND_PAYMENT - The applicant's identity and/or business documents must be reviewed by the Global Payments Risk Team and submit payment. * PENDING_PAYMENT - The merchant must submit payment. * UNKNOWN_STATUS - Contact your relationship manager for more details. * REMOVE_PARTNERSHIP - The partner has requested to disassociate the merchant from the partner program. example: REMOVE_PARTNERSHIP Merchant_edit_notification: type: object title: Merchant_edit_notification properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status_description: type: string description: A further desctiption of the status of a merchant. maxLength: 50 example: Merchant Boarding in progress action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app get_merchant_single_response: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 type: type: string description: | Indicates the type of organization entitiy being boarded. Must always be set to MERCHANT. * `MERCHANT` - The entity is selling their own goods and services * `PARTNER` - The entity managing multiple merchants within their integration. example: MERCHANT time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. format date-time. format: date-time example: '2019-08-24T14:15:22Z' time_last_updated: type: string description: The date and time the resource object was last changed. format: date-time example: '2019-08-24T14:15:22Z' status: type: string enum: - ACTIVE - INACTIVE - UNDER_REVIEW - DECLINED - WITH_MERCHANT description: | Indicates where the merchant is in its lifecycle. * `ACTIVE` - The entity is active on the Global Payments platform and can use the capabilities that are configured and active to payment process. *` INACTIVE` - The entity is disabled on the Global Payments platform and cannot use any payment processing capabilities. *`UNDER_REVIEW` - The entity is under review and cannot use any of the payment processing capabilities until the review is complete and the merchant is switched to active. *` DECLINED` - The entity did not complete the risk review process and cannot use any payment processing capabilities. * `WITH_MERCHAN`T - The entity must submit additional information or documentation before activation. example: ACTIVE status_reason: type: string enum: - CLOSED_BY_MERCHANT description: A meaningful description for the status or status change. name: type: string description: This is a label to identify the merchant minLength: 1 maxLength: 100 example: Unique Username reference: type: string description: A client indicated merchant reference identifier. maxLength: 50 example: Merchant1234 currency: type: string description: The currency in which the funds are held in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD dba: type: string description: The merchant's DBA (Doing Business As) name or the alternate name the merchant may be known as. minLength: 1 maxLength: 255 example: MERCHANT XYZ website: type: string description: The merchant's business website URL example: 'https://example.com/' tax_id_reference: type: string description: 'The merchantes tax identification number. For exampe, in the US the (EIN) Employer Identification Number would be used' minLength: 1 maxLength: 9 example: '123456789' notification_email: type: string description: 'Primary email configured with the merchant. If not provided, communication will be routed to persons.email, where function= APPLICANT' maxLength: 50 example: merchant@example.com pricing_profile: type: string description: 'Describes the pricing profile the merchant is to be configured for. This will drive the services, pricing and limits configured for merchant boarding' maxLength: 255 example: test prepaid_card_status: type: string enum: - ACTIVE - MANUFACTURING - INACTIVE - LOST - STOLEN - HOLD - EXPIRED - RESET_PIN - REJECTED description: | This value reflects the latest stage in the prepaid card issuance and delivery process. * `ACTIVE` - The prepaid card is fully operational and can be used for transactions. * `MANUFACTURING` - The prepaid card is currently being produced and has not yet been dispatched to the cardholder. * `INACTIVE` - The prepaid card has been issued but not yet activated for use. * `LOST` - The cardholder has reported the prepaid card as lost. * `STOLEN` - The prepaid card has been reported stolen. * `HOLD` - The prepaid card is temporarily suspended. * `EXPIRED` - The prepaid card has reached its expiration date and no longer valid for transactions. * `RESET_PIN` - The prepaid card requires a PIN reset. * `REJECTED` - The prepaid card issuance request has been declined. example: ACTIVE notifications: type: object properties: status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the Global Payments system. minLength: 1 maxLength: 255 example: 'https://www.example.com/notifications/status' persons: type: array items: type: object properties: functions: type: array description: | Describes the functions that a person can have in a merchant's organization. * `APPLICANT` - The person who is applying to Global Payments or payment processing services. * `BENEFICIAL_OWNER` - An owner of the company with 25% or more stake in a company. * `PAYMENT_METHOD_OWNER` - The person who owns the payment methods used to transfer funds from the Global Payments merchant account to the funds management payment methods. items: type: string enum: - APPLICANT - PAYMENT_METHOD_OWNER - BENEFICIAL_OWNER example: - APPLICANT first_name: type: string description: The first name of the person minLength: 1 maxLength: 100 example: James middle_name: type: string description: The middle initial of the person maxLength: 1 example: A last_name: type: string description: The last name of the person. minLength: 1 maxLength: 100 example: Mason email: type: string description: Email address of the person minLength: 1 maxLength: 50 example: example@email.com address: type: object properties: line_1: type: string description: First line of the address minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US contact_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number minLength: 1 maxLength: 50 addresses: type: array items: type: object properties: functions: type: array description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. *PREVIOUS_BUSINESS - The previous business address of the merchant (if the merchant has not been at current address for at least 24 months). * SHIPPING - The address product is sent to. * LEGAL - The legal registered business address of the merchant. items: type: string enum: - BUSINESS - PREVIOUS_BUSINESS - LEGAL - SHIPPING example: - BUSINESS line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. For the UK this should be the district. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US payment_methods: type: array items: type: object properties: functions: type: array description: | Describes the functions that a payment method can have for the merchant. * `ACCOUNT_ACTIVATION_FEE` is the account that will be billed for account activation or account renewal fees. * `PRIMARY_PAYOUT` is the account to which merchant funds will be transferred (excepting "split sweep" configured merchants). In the case of a negative balance, funds may be pulled from this account as well. * `SECONDARY_PAYOUT` is the account to which merchant funds will be transferred if the account is configured for "split sweeps".' * `FEES` - Payment method from which processing fees will be pulled if the merchant is configured for gross settlement. items: type: string enum: - ACCOUNT_ACTIVATION_FEE - PRIMARY_PAYOUT - SECONDARY_PAYOUT - FEES example: - ACCOUNT_ACTIVATION_FEE name: type: string description: The name of the payment method minLength: 1 maxLength: 100 example: Johns Payment Method bank_transfer: type: object properties: account_holder_type: type: string enum: - PERSONAL - BUSINESS description: Indicates if a person or business owns the account. example: PERSONAL masked_number_last4: type: string description: The last 4 digits of the merchant's bank account example: '1234' account_type: type: string enum: - CHECKING - SAVINGS description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' name: type: string description: The name of the bank. minLength: 1 maxLength: 50 example: High Street address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US start_date: type: string description: This is the creation date of the merchant. minLength: 10 maxLength: 100 example: '1980-01-01' expiration_date: type: string description: The date at which the merchant account will expire. minLength: 10 maxLength: 100 example: '1980-01-01' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MERCHANT_CREATE - MERCHANT_EDIT - MERCHANT_SINGLE - MERCHANT_LIST - MERCHANT_CREATE_STATUS_NOTIFICATION description: Indicates the specific action taken. example: MERCHANT_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app required: - type - dba - website - tax_id_reference - persons - addresses status_reason_MERCHANTS.status_reason: type: string enum: - CLOSED_BY_MERCHANT description: A meaningful description for the status or status change. prepaid_card_status_MERCHANTS.prepaid_card_status: type: string enum: - ACTIVE - MANUFACTURING - INACTIVE - LOST - STOLEN - HOLD - EXPIRED - RESET_PIN - REJECTED description: | This value reflects the latest stage in the prepaid card issuance and delivery process. * `ACTIVE` - The prepaid card is fully operational and can be used for transactions. * `MANUFACTURING` - The prepaid card is currently being produced and has not yet been dispatched to the cardholder. * `INACTIVE` - The prepaid card has been issued but not yet activated for use. * `LOST` - The cardholder has reported the prepaid card as lost. * `STOLEN` - The prepaid card has been reported stolen. * `HOLD` - The prepaid card is temporarily suspended. * `EXPIRED` - The prepaid card has reached its expiration date and no longer valid for transactions. * `RESET_PIN` - The prepaid card requires a PIN reset. * `REJECTED` - The prepaid card issuance request has been declined. example: ACTIVE masked_number_last4_MERCHANTS.payment_methods.bank_transfer.masked_number_last4: type: string description: The last 4 digits of the merchant's bank account example: '1234' start_date_MERCHANTS.start_date: type: string description: This is the creation date of the merchant. minLength: 10 maxLength: 100 example: '1980-01-01' expiration_date_MERCHANTS.expiration_date: type: string description: The date at which the merchant account will expire. minLength: 10 maxLength: 100 example: '1980-01-01' documents_request: type: object title: documents_request properties: function: type: string enum: - IDENTITY_VERIFICATION - RISK_REVIEW - UNDERWRITING description: | This is the intended function of the document being uploaded. * `IDENTITY_VERIFICATION` indicates a document that is used to validate the identity of applicant. Generally, this would only be required if the automated validation fails. * `RISK_REVIEW` indicates a document that has been requested by the risk or fraud prevention team of the platform. * `UNDERWRITING` indicates documentation related to a processing volume increase request. example: IDENTITY_VERIFICATION b64_content: type: string description: The document to be uploaded in base64 format. minLength: 1 maxLength: 250 example: SGV5LCBIb3cgYXJlIHlvdT8= format: type: string enum: - TIF - TIFF - PDF - BMP - JPEG - GIF - PNG - DOC - DOCX description: This is the format of the file being uploaded. example: TIF function_DOCUMENTS.function: type: string enum: - IDENTITY_VERIFICATION - RISK_REVIEW - UNDERWRITING description: | This is the intended function of the document being uploaded. * `IDENTITY_VERIFICATION` indicates a document that is used to validate the identity of applicant. Generally, this would only be required if the automated validation fails. * `RISK_REVIEW` indicates a document that has been requested by the risk or fraud prevention team of the platform. * `UNDERWRITING` indicates documentation related to a processing volume increase request. example: IDENTITY_VERIFICATION b64_content_DOCUMENTS.b64_content: type: string description: The document to be uploaded in base64 format. minLength: 1 maxLength: 250 example: SGV5LCBIb3cgYXJlIHlvdT8= format_DOCUMENTS.format: type: string enum: - TIF - TIFF - PDF - BMP - JPEG - GIF - PNG - DOC - DOCX description: This is the format of the file being uploaded. example: TIF documents_response: type: object title: documents_response properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to minLength: 1 maxLength: 50 example: DOC_34uTXDOO6KXgFO7I2ojADxH4KfrCz5 status: type: string description: Indicates where the document is in its lifecycle. example: UPLOADED name: type: string description: A meaningful label for the document set by Global Payments. example: UNDERWRITING_718564831_8vOut0YO32 action: type: object properties: id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_124234234234234234 type: type: string enum: - DOCUMENT_UPLOAD description: The type of action that was executed that initialed the activity this notification is providing an update on. example: DOCUMENT_UPLOAD time_created: type: string description: The time the action that initialed the activity this notification was executed. example: '2021-05-03T21:23:39.718Z' result_code: type: string description: The result code of the initiating action that this notification reatles to. example: SUCCESS app_id: type: string description: The id of the app that is being used to execute and sign the action example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy app_name: type: string description: The name of the app that is being used to execute and sign the action example: demo_app id_DOCUMENTS.id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to minLength: 1 maxLength: 50 example: DOC_34uTXDOO6KXgFO7I2ojADxH4KfrCz5 status_DOCUMENTS.status: type: string description: Indicates where the document is in its lifecycle. example: UPLOADED name_DOCUMENTS.name: type: string description: A meaningful label for the document set by Global Payments. example: UNDERWRITING_718564831_8vOut0YO32 id_DOCUMENTS.action.id: type: string description: ID of the action that was executed that initialed the activity this notification is providing an update on. example: ACT_124234234234234234 type_DOCUMENTS.action.type: type: string enum: - DOCUMENT_UPLOAD description: The type of action that was executed that initialed the activity this notification is providing an update on. example: DOCUMENT_UPLOAD time_created_DOCUMENTS.action.time_created: type: string description: The time the action that initialed the activity this notification was executed. example: '2021-05-03T21:23:39.718Z' result_code_DOCUMENTS.action.result_code: type: string description: The result code of the initiating action that this notification reatles to. example: SUCCESS app_id_DOCUMENTS.action.app_id: type: string description: The id of the app that is being used to execute and sign the action example: U1lRHKomEn7DN907RCDPxVhyMfiMLcfy app_name_DOCUMENTS.action.app_name: type: string description: The name of the app that is being used to execute and sign the action example: demo_app postal_code_ADDRESSES.addresses.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: CB6 1AS building_number_ADDRESSES.addresses.building_number: type: string description: UK only. The number associated with the address home/building. example: '1001' address_lookup_response: type: object title: address_lookup_response properties: addresses: type: array items: type: object properties: reference: type: string description: The address search reference returned from the GET Addresses function. This value will improve the merchant boarding success rate for merchants in the UK. example: '12535421321' building_name: type: string description: UK only. The name associated with the address home/building. example: Rose Cottage building_number: type: string description: UK only. The number associated with the address home/building. example: '1001' line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address maxLength: 255 example: Harrow city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Ely state: type: string description: 'The state, county or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CAMBS country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: GB postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: CB6 1AS action: type: object properties: id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' type: type: string enum: - ADDRESS_LIST description: Indicates the specific action taken. example: ADDRESS_LIST result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app reference_ADDRESSES.addresses.reference: type: string description: The address search reference returned from the GET Addresses function. This value will improve the merchant boarding success rate for merchants in the UK. example: '12535421321' building_name_ADDRESSES.addresses.building_name: type: string description: UK only. The name associated with the address home/building. example: Rose Cottage line_1_ADDRESSES.addresses.line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: Merchant Street line_3_ADDRESSES.addresses.line_3: type: string description: Third line of the address maxLength: 255 example: Harrow city_ADDRESSES.addresses.city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Ely state_ADDRESSES.addresses.state: type: string description: 'The state, county or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CAMBS country_ADDRESSES.addresses.country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: GB time_created_ADDRESSES.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' type_ADDRESSES.action.type: type: string enum: - ADDRESS_LIST description: Indicates the specific action taken. example: ADDRESS_LIST objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. ``` ## Payers Source: https://developer.globalpayments.com/api/payers.md # Payers ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Payers description: 'Payers represents entities on the Global Payments system that pay for a Merchants goods and services. Merchants can store data against a Payer and their associated Stored Payment Methods which can be used to make a sale. ' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /payers: post: tags: - Create a Payer summary: Create a Payer description: 'Create a Payer on the Global Payments system that can be used when creating a sale. ' operationId: post-payer parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer zhAXzQo7clrBPhs28xfen0gRZabG example: Bearer zhAXzQo7clrBPhs28xfen0gRZabG - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: description: '' content: application/json: schema: type: object title: CreateRequest properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' required: - first_name - last_name examples: Create a Payer: value: first_name: John last_name: James reference: payer-123 payment_methods: - id: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: 'YES' responses: '200': description: '' content: application/json: schema: type: object title: CreateResponse properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app examples: Create a Payer: value: id: PYR_2ee5480308664428bef46d1094f22adc time_created: '2025-08-11T11:39:03.000Z' time_last_updated: '2025-08-11T11:39:03.000Z' first_name: JXXXXXX last_name: MXXXXXXX reference: Testing_Payer_Encrypted merchant_id: MER_c5d37eaf0e3841e083c232b2318af55c merchant_name: Sandbox_Merchant_4 account_id: TKA_c1de85a8a5844c56abd9ca07bbd792c8 account_name: tokenization action: id: ACT_YiMFP1AyT8984XMkfKdVvEv1IxbkSp type: PAYER_CREATE time_created: '2025-08-11T11:39:03.194Z' result_code: SUCCESS app_id: T6og1tbECpHFeO104qUM383oq5bOJ12r app_name: Postman_Collection_Test '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - Get Payers List summary: Get Payers List description: Get a list of Payers using criteria passed in the query string. Page through the result set to access all records. operationId: get-ucp-payers parameters: - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: id in: query schema: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW - name: reference in: query schema: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer zhAXzQo7clrBPhs28xfen0gRZabG example: Bearer zhAXzQo7clrBPhs28xfen0gRZabG - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object title: ListResponse properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC payers: type: array items: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} examples: Get Payers List: value: total_record_count: 2 current_page_size: 2 merchant_id: MER_c5d37eaf0e3841e083c232b2318af55c merchant_name: Sandbox_Merchant_4 account_id: TKA_c1de85a8a5844c56abd9ca07bbd792c8 account_name: tokenization filter: from_time_created: '2025-08-08T00:00:00.000Z' to_time_created: '2025-08-11T23:59:59.999Z' paging: page_size: 5 page: 1 order: ASC order_by: TIME_CREATED payers: - id: PYR_7919a41f45e74ea4b8eada36ec1e1777 time_created: '2025-08-08T09:24:59.000Z' time_last_updated: '2025-08-08T09:24:59.000Z' first_name: JXXXXXX last_name: MXXXXXXX reference: Testing_Payer_Encrypted - id: PYR_2ee5480308664428bef46d1094f22adc time_created: '2025-08-11T11:39:03.000Z' time_last_updated: '2025-08-11T11:46:42.000Z' first_name: JXXX last_name: JXXXX reference: Testing_Payer_Encrypted payment_methods: - id: PMT_ffc2fc7e-7292-4f3b-9798-5c231414158a default: 'YES' action: id: ACT_uFfh1AV7y6m0RJyu7HaJnwBvYhowkU type: PAYER_LIST time_created: '2025-08-11T11:49:37.525Z' result_code: SUCCESS app_id: T6og1tbECpHFeO104qUM383oq5bOJ12r app_name: Postman_Collection_Test headers: Content-Type: schema: type: string Content-Encoding: schema: type: string X-GP-Version: schema: type: string '400': description: Bad Request '404': description: Resource Not Found security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/payers/': patch: tags: - Edit a Payer summary: Edit a Payer description: Update the information associated with a Payer. operationId: patch-payer-id parameters: - name: id in: path required: true schema: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object title: CreateRequest properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' examples: 'Edit Payer name ': value: first_name: John last_name: James Remove Payer Payment Methods: value: payment_methods: [] Add a new default Payment Payment Method to Payer: value: first_name: John last_name: James reference: payer-123 payment_methods: - id: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW - id: PMT_oOAH6BClraQWS3Qy07dh7tZAhhjkkX2nW default: 'YES' responses: '200': description: OK content: application/json: schema: type: object title: CreateResponse properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app examples: Edit a Payer Name: value: id: PYR_2ee5480308664428bef46d1094f22adc time_created: '2025-08-11T11:39:03.000Z' time_last_updated: '2025-08-11T11:46:43.000Z' first_name: JXXX last_name: JXXXX reference: Testing_Payer_Encrypted merchant_id: MER_c5d37eaf0e3841e083c232b2318af55c merchant_name: Sandbox_Merchant_4 account_id: TKA_c1de85a8a5844c56abd9ca07bbd792c8 account_name: tokenization payment_methods: - id: PMT_ffc2fc7e-7292-4f3b-9798-5c231414158a default: 'YES' action: id: ACT_KXSqpFbwbZTyH8XHeN5Z6Bw6aaXarP type: PAYER_EDIT time_created: '2025-08-11T11:46:43.089Z' result_code: SUCCESS app_id: T6og1tbECpHFeO104qUM383oq5bOJ12r app_name: Postman_Collection_Test '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - Get a Payer summary: Get a Payer description: Get Details about a single Payer operationId: get-payers-id parameters: - name: masked in: query schema: type: string enum: - 'YES' - 'NO' description: 'Specifies the masking behavior for personally identifiable fields in the response. When set to YES or omitted, all identifying fields are returned in a masked format. Set to NO to retrieve the unmasked values.' minLength: 1 maxLength: 50 default: 'YES' example: 'YES' - name: id in: path description: Unique identifier for the Payer on the Global Payments system. required: true schema: type: string maxLength: 50 example: PYR_e1f1a86a10944ae9abea5b091450b692 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: CreateResponse properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app examples: Get a Payer: value: id: PYR_2ee5480308664428bef46d1094f22adc time_created: '2025-08-11T11:39:03.000Z' time_last_updated: '2025-08-11T11:39:03.000Z' merchant_id: MER_c5d37eaf0e3841e083c232b2318af55c merchant_name: Sandbox_Merchant_4 account_id: TKA_c1de85a8a5844c56abd9ca07bbd792c8 account_name: tokenization first_name: JXXXXXX last_name: MXXXXXXX reference: Testing_Payer_Encrypted action: id: ACT_tMbpPICyMawrwPFiaZ89O4bD9GvG79 type: PAYER_SINGLE time_created: '2025-08-11T11:43:44.185Z' result_code: SUCCESS app_id: T6og1tbECpHFeO104qUM383oq5bOJ12r app_name: Postman_Collection_Test '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment delete: tags: - Delete a Payer summary: Delete a payer description: Delete a Payer. operationId: delete-payers-id parameters: - name: id in: path description: Unique identifier for the Payer on the Global Payments system. required: true schema: type: string maxLength: 50 example: PYR_e1f1a86a10944ae9abea5b091450b692 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW status: type: string enum: - DELETED description: | The overall status of the payer. * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: DELETED action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: Example 1: id: PYR_f516bc231d734195aa3f1ef3850cb8c6 status: DELETED action: id: ACT_Tr4VOPO0GxDMEEvW0ufoHdJ2vgmxpn type: PAYER_DELETE time_created: '2026-03-11T10:40:04.888Z' result_code: SUCCESS app_id: VDOedTC496CZy0Y47ODpDvjGy6CP4pSg app_name: PartnerHierarchy_MasterApp_02 examples: Example 1: value: id: PYR_f516bc231d734195aa3f1ef3850cb8c6 status: DELETED action: id: ACT_Tr4VOPO0GxDMEEvW0ufoHdJ2vgmxpn type: PAYER_DELETE time_created: '2026-03-11T10:40:04.888Z' result_code: SUCCESS app_id: VDOedTC496CZy0Y47ODpDvjGy6CP4pSg app_name: PartnerHierarchy_MasterApp_02 security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment components: parameters: page: name: page in: query required: false schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: name: page_size in: query required: false schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order: name: order in: query required: false schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: name: order_by in: query required: false schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED reference: name: reference in: query required: false schema: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 status: name: status in: query required: false schema: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE from_time_created: name: from_time_created in: query required: false schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: name: to_time_created in: query required: false schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' from_time_last_updated: name: from_time_last_updated in: query required: false schema: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_last_updated: name: to_time_last_updated in: query required: false schema: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time id: name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string Authorization_brand_new: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer zhAXzQo7clrBPhs28xfen0gRZabG example: Bearer zhAXzQo7clrBPhs28xfen0gRZabG Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: CreateRequest: type: object title: CreateRequest properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' required: - first_name - last_name first_name_PAYERS.first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name_PAYERS.last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference_PAYERS.reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email_PAYERS.email: type: string description: The email address of the payer. example: payer@email.com language_PAYERS.language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en id_PAYERS.payment_methods.id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default_PAYERS.payment_methods.default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' CreateResponse: type: object title: CreateResponse properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated: type: string description: Global Payments time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app id_PAYERS.id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW time_created_PAYERS.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' time_last_updated_PAYERS.time_last_updated: type: string description: Global Payments time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id_PAYERS.merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name_PAYERS.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id_PAYERS.account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name_PAYERS.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization id_PAYERS.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_PAYERS.action.type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE result_code_PAYERS.action.result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id_PAYERS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_PAYERS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' ListResponse: type: object title: ListResponse properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: MER_oOAH6BClraQWS3Qy07dh7tZAN3X2nW merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: merchant_1 account_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: TKA_oOAH6BClraQWS3Qy07dh7tZAN3X2nW account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC payers: type: array items: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 email: type: string description: The email address of the payer. example: payer@email.com language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_methods: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYER_CREATE - PAYER_EDIT - PAYER_SINGLE - PAYER_LIST - PAYER_DELETE description: Indicates the specific action taken. example: PAYER_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC EditRequest: type: object title: CreateRequest properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: This is a label set by the integrator to identify the Payer minLength: 1 maxLength: 50 example: payer-123 payment_methods: type: array items: type: object properties: id: type: string description: Unique identifier for the Payment method on the platform. minLength: 1 maxLength: 50 example: PMT_oOAH6BClraQWS3Qy07dh7tZAN3X2nW default: type: string enum: - 'YES' - 'NO' description: A flag used to identify whether the Payment method should be used as the default Payment Method for the Payer default: 'NO' example: 'YES' masked_PAYERS.masked: type: string enum: - 'YES' - 'NO' description: 'Specifies the masking behavior for personally identifiable fields in the response. When set to YES or omitted, all identifying fields are returned in a masked format. Set to NO to retrieve the unmasked values.' minLength: 1 maxLength: 50 default: 'YES' example: 'YES' status_PAYERS.status: type: string enum: - DELETED description: | The overall status of the payer. * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: DELETED reference_PAYMENT_METHODS.reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 status_PAYMENT_METHODS.status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE from_time_last_updated: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_last_updated: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Reports Source: https://developer.globalpayments.com/api/reports.md # Reports ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Reports description: Reports are a consolidated or aggregrated view of a merchant's data from the Global Payments platform. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /reports: get: tags: - Get a Transaction Summary Report summary: Transaction Summary Report description: "Get an aggregated view of all Transactions across all Payment Methods.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live. " operationId: get-reports parameters: - name: payment_method.category in: query schema: type: string enum: - CARD - APM - DIGITAL_WALLETS - BANK_TRANSFER - UNKNOWN description: The payment method category used in the Transaction example: CARD - name: type in: query required: true schema: type: string enum: - TRANSACTION_SUMMARY description: Indicates the report type example: TRANSACTION_SUMMARY - name: payment_method.brand in: query schema: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - WECHAT - ALIPAY - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - APPLE_PAY - GOOGLE_PAY description: The Payment method brand used in the Transaction example: VISA - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer Tagh5NXSRTGCrDqGCICnvuOPNAvb example: Bearer Tagh5NXSRTGCrDqGCICnvuOPNAvb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object title: summary_report properties: current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC reports: type: array items: type: object properties: type: type: string enum: - TRANSACTION_SUMMARY description: Indicates the report type example: TRANSACTION_SUMMARY summary: type: object properties: sales: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' refunds: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' payment_method_breakdown: type: array items: type: object properties: category: type: string enum: - CARD - APM - DIGITAL_WALLETS - BANK_TRANSFER - UNKNOWN description: The payment method category used in the Transaction example: CARD brand: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - WECHAT - ALIPAY - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - APPLE_PAY - GOOGLE_PAY description: The Payment method brand used in the Transaction example: VISA count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' gratuity_amount: type: string description: The total amount of gratuity across one or more items. example: '100' sales: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' refunds: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' reversals: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - REPORT_LIST description: Indicates the specific action taken. example: REPORT_LIST time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Get a list of Monthly Fee Reports description: Get information about the reports Global Payments created for a merchant. externalDocs: url: 'https://developer.globalpay.com/settlement-reporting/step-by-step-guide' components: parameters: Authorization_2: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer Tagh5NXSRTGCrDqGCICnvuOPNAvb example: Bearer Tagh5NXSRTGCrDqGCICnvuOPNAvb X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json securitySchemes: bearerAuth: type: http scheme: bearer schemas: category_REPORT.reports.payment_method_breakdown.category: type: string enum: - CARD - APM - DIGITAL_WALLETS - BANK_TRANSFER - UNKNOWN description: The payment method category used in the Transaction example: CARD type_REPORT.reports.type: type: string enum: - TRANSACTION_SUMMARY description: Indicates the report type example: TRANSACTION_SUMMARY brand_REPORT.reports.payment_method_breakdown.brand: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - WECHAT - ALIPAY - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - APPLE_PAY - GOOGLE_PAY description: The Payment method brand used in the Transaction example: VISA from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' summary_report: type: object title: summary_report properties: current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC reports: type: array items: type: object properties: type: type: string enum: - TRANSACTION_SUMMARY description: Indicates the report type example: TRANSACTION_SUMMARY summary: type: object properties: sales: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' refunds: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' payment_method_breakdown: type: array items: type: object properties: category: type: string enum: - CARD - APM - DIGITAL_WALLETS - BANK_TRANSFER - UNKNOWN description: The payment method category used in the Transaction example: CARD brand: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - WECHAT - ALIPAY - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - APPLE_PAY - GOOGLE_PAY description: The Payment method brand used in the Transaction example: VISA count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' gratuity_amount: type: string description: The total amount of gratuity across one or more items. example: '100' sales: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' refunds: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' reversals: type: object properties: count: type: number description: The total number of items. example: 5 amount: type: string description: The total amount across one or more items. example: '100' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - REPORT_LIST description: Indicates the specific action taken. example: REPORT_LIST time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id_REPORT.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name_REPORT.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id_REPORT.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name_REPORT.account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC count_REPORT.reports.summary.sales.count: type: number description: The total number of items. example: 5 amount_REPORT.reports.summary.sales.amount: type: string description: The total amount across one or more items. example: '100' gratuity_amount_REPORT.reports.payment_method_breakdown.gratuity_amount: type: string description: The total amount of gratuity across one or more items. example: '100' id_REPORT.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_REPORT.action.type: type: string enum: - REPORT_LIST description: Indicates the specific action taken. example: REPORT_LIST time_created_REPORT.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_REPORT.action.result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id_REPORT.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_REPORT.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app security: - bearerAuth: [] ``` ## Orders Source: https://developer.globalpayments.com/api/orders.md # Orders ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Orders description: 'Orders allow an embedded partner to order devices for merchants, check the price of a potential order, and track device shipments.' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: '/merchants//orders': post: tags: - Create an Order summary: Create an Order description: 'Allows an embedded partner to order a device used for card present transactions or check the price of a potential order. ' operationId: createOrder parameters: - name: id in: path description: This is the merchant id to uniquely identify the entity on the Global Payments system. required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object properties: products: type: object properties: id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. device: type: object properties: quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' manufacturer_model: type: string description: The name of the device being requested. example: A920 account_name_format: type: string enum: - SERIAL_NUMBER - V_NUMBER - RANDOM_STRING description: | The format of the name for the Global Payment's account that will be linked to the device ordered. * `SERIAL_NUMBER` - indicates that the name of the account will be the serial number of the device. The device has a static serial number. * `V_NUMBER` - indicates that the name of the account will be the v number of the device. The v number is a unique value created to associate a device with an account. * `RANDOM_STRING` - indicates that the name of the account will be a random string. maxLength: 50 example: SERIAL_NUMBER pricing_profile: type: string description: The pricing profile the ordering merchant is configured for. Only required if the merchant has changed to a new pricing profile after boarding. maxLength: 255 example: test status: type: string enum: - FOR_REVIEW title: status_ORDERS.status.request description: |- The only option for an orders request is FOR_REVIEW. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requested until order has been completed (see complete order). addresses: type: object properties: functions: type: string enum: - SHIPPING - BUSINESS description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. * SHIPPING - The address product is sent to. minLength: 1 maxLength: 50 example: SHIPPING name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US contact_phone: type: object properties: country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' payment_method: type: object properties: name: type: string description: First and last name on the card used. maxLength: 50 example: John Doe card: type: object properties: number: type: string description: The card number. maxLength: 50 example: '4111111111111111' cvv: type: string description: The CVV security code printed on the card. maxLength: 50 example: '852' expiry_month: type: string description: The 2 digit expiry date month of the card. maxLength: 2 example: '11' expiry_year: type: string description: The 2 digit expiry date year of the card. maxLength: 2 example: '25' avs_postal_code: type: string description: The billing postal code maxLength: 50 example: '90210' notifications: type: object properties: status_url: type: string title: status_url_ORDERS.notifications.status_url description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the platform. example: 'https://www.example.com/notifications/status' batch_close_time: type: string description: Specified time to close the Batch minLength: 1 maxLength: 50 example: '20:00' examples: 'Complete full order ': value: products: id: PRO_TRA_CP-US-CARD-A920_SP name: string device: quantity: '1' manufacturer_model: A920 account_name_format: SERIAL_NUMBER pricing_profile: test addresses: functions: SHIPPING name: John Doe email: Gerda.Johnston43@yahoo.com line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US contact_phone: country_code: '01' subscriber_number: '8008675309' payment_method: name: John Doe card: number: '4111111111111111' cvv: '852' expiry_month: '11' expiry_year: '30' avs_postal_code: '90210' notifications: status_url: 'https://www.example.com/notifications/status' 'Check order price ': value: products: id: PRO_TRA_CP-US-CARD-A920_SP name: string device: quantity: '1' manufacturer_model: A920 account_name_format: SERIAL_NUMBER pricing_profile: test status: FOR_REVIEW addresses: functions: SHIPPING name: John Doe email: Gerda.Johnston43@yahoo.com line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US contact_phone: country_code: '01' subscriber_number: '8008675309' payment_method: name: John Doe card: number: '4111111111111111' cvv: '852' expiry_month: '11' expiry_year: '30' avs_postal_code: '90210' notifications: status_url: 'https://www.example.com/notifications/status' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED tax_amount: type: string description: The total amouint of tax charged for the order example: '299' tax_percentage: type: string description: The tax percentage charged for the order total_amount: type: string description: Total Amount of an order time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' products: type: object properties: id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' manufacturer_model: type: string description: The name of the device being reuested example: A920 amount: type: string description: Amount or cost associated with the product example: '500' addresses: type: object properties: functions: type: string enum: - SHIPPING - BUSINESS description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. * SHIPPING - The address product is sent to. minLength: 1 maxLength: 50 example: SHIPPING name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US contact_phone: type: object properties: country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app examples: 'Complete full order ': value: id: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: Curtis_Douglas49 status: INITIATED time_created: '2023-03-10T13:14:48.386Z' time_last_updated: '2023-03-10T13:14:48.386Z' action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: ORDER_INITIATED time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app Check order price: value: id: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: Curtis_Douglas49 status: UNDER_REVIEW tax_amount: '0' tax_percentage: '0' total_amount: '0' time_created: '2023-03-10T13:14:48.386Z' time_last_updated: '2023-03-10T13:14:48.386Z' products: id: PRO_TRA_CP-US-CARD-A920_SP name: string quantity: '1' manufacturer_model: A920 amount: '0' addresses: functions: SHIPPING name: John Doe email: Gerda.Johnston43@yahoo.com line_1: 123 Merchant Street line_2: Suite 2 line_3: foyer city: Beverly Hills state: CA postal_code: '90210' country: US contact_phone: country_code: '01' subscriber_number: '8008675309' action: id: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: ORDER_PRICE time_created: '2021-05-03T21:23:39.718Z' result_code: SUCCESS app_id: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - Get Orders summary: Get a list of Orders description: Get a list of orders made for a particular merchant. Page through the result set to access all records. operationId: getOrders parameters: - name: id in: path description: This is the merchant id to uniquely identify the entity on the Global Payments system. required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing filter: type: object properties: from__time_created: type: string title: from_time_created_ORDERS.filter.from_time_created description: 'The start date and time to search for in a range, using the resource time_created value.' format: date to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' id: type: string title: id_ORDERS.filter.id description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - UNDER_REVIEW title: status_ORDERS.filter.status description: |2- The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC orders: type: array items: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' reference: type: string description: Merchant defined field to reference the order action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/merchants//orders/': get: tags: - Get an Order summary: Get info about a Order description: Get info about an Order event on the Global Payments system. operationId: getOrder parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: ORD_id in: path required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED tax_amount: type: string description: The total amouint of tax charged for the order example: '299' tax_percentage: type: string description: The tax percentage charged for the order total_amount: type: string description: Total Amount of an order account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' reference: type: string description: Merchant defined field to reference the order products: type: object properties: id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' items: type: object properties: manufacturer_model: type: string description: The manufacturer model or device name of the item being ordered example: A920 account_name_format: type: string enum: - SERIAL_NUMBER - V_NUMBER - RANDOM_STRING description: | The format of the name for the Global Payment's account that will be linked to the device ordered. * `SERIAL_NUMBER` - indicates that the name of the account will be the serial number of the device. The device has a static serial number. * `V_NUMBER` - indicates that the name of the account will be the v number of the device. The v number is a unique value created to associate a device with an account. * `RANDOM_STRING` - indicates that the name of the account will be a random string. maxLength: 50 example: SERIAL_NUMBER amount: type: string description: The amount or cost charged. example: '10000' serial_number: type: string description: The serial number of the device ordered. example: 123456ASD tracking_reference: type: string description: The tracking reference number of a shipped device. example: '123412341234' addresses: type: object properties: functions: type: array items: {} name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 50 example: foyer postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' contact_phone: type: object properties: country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' payment_method: type: object properties: name: type: string description: First and last name on the card used. maxLength: 50 example: John Doe card: type: object properties: number: type: string description: The card number. maxLength: 50 example: '4111111111111111' cvv: type: string description: The CVV security code printed on the card. maxLength: 50 example: '852' expiry_month: type: string description: The 2 digit expiry date month of the card. maxLength: 2 example: '11' expiry_year: type: string description: The 2 digit expiry date year of the card. maxLength: 2 example: '25' avs_postal_code: type: string description: The billing postal code maxLength: 50 example: '90210' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/merchants//orders//initiation': post: tags: - Complete an Order summary: Complete an Order description: 'Complete an order where the price has been checked. This will finalize the order and the device will be shipped. ' operationId: completeOrder parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 - name: ORD_id in: path required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: complete_order_response properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Create an Order - name: Get Orders - name: Get an Order - name: Complete an Order components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: id_MERCHANTS.id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 order_request: type: object properties: products: type: object properties: id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. device: type: object properties: quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' manufacturer_model: type: string description: The name of the device being requested. example: A920 account_name_format: type: string enum: - SERIAL_NUMBER - V_NUMBER - RANDOM_STRING description: | The format of the name for the Global Payment's account that will be linked to the device ordered. * `SERIAL_NUMBER` - indicates that the name of the account will be the serial number of the device. The device has a static serial number. * `V_NUMBER` - indicates that the name of the account will be the v number of the device. The v number is a unique value created to associate a device with an account. * `RANDOM_STRING` - indicates that the name of the account will be a random string. maxLength: 50 example: SERIAL_NUMBER pricing_profile: type: string description: The pricing profile the ordering merchant is configured for. Only required if the merchant has changed to a new pricing profile after boarding. maxLength: 255 example: test status: type: string enum: - FOR_REVIEW title: status_ORDERS.status.request description: |- The only option for an orders request is FOR_REVIEW. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requested until order has been completed (see complete order). addresses: type: object properties: functions: type: string enum: - SHIPPING - BUSINESS description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. * SHIPPING - The address product is sent to. minLength: 1 maxLength: 50 example: SHIPPING name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US contact_phone: type: object properties: country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' payment_method: type: object properties: name: type: string description: First and last name on the card used. maxLength: 50 example: John Doe card: type: object properties: number: type: string description: The card number. maxLength: 50 example: '4111111111111111' cvv: type: string description: The CVV security code printed on the card. maxLength: 50 example: '852' expiry_month: type: string description: The 2 digit expiry date month of the card. maxLength: 2 example: '11' expiry_year: type: string description: The 2 digit expiry date year of the card. maxLength: 2 example: '25' avs_postal_code: type: string description: The billing postal code maxLength: 50 example: '90210' notifications: type: object properties: status_url: type: string title: status_url_ORDERS.notifications.status_url description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the platform. example: 'https://www.example.com/notifications/status' batch_close_time: type: string description: Specified time to close the Batch minLength: 1 maxLength: 50 example: '20:00' id_ORDERS.products.id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name_ORDERS.products.name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. quantity_ORDERS.products.device.quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' manufacturer_model_ORDERS.products.device.manufacturer_model: type: string description: The name of the device being requested. example: A920 account_name_format_ORDERS.products.device.account_name_format: type: string enum: - SERIAL_NUMBER - V_NUMBER - RANDOM_STRING description: | The format of the name for the Global Payment's account that will be linked to the device ordered. * `SERIAL_NUMBER` - indicates that the name of the account will be the serial number of the device. The device has a static serial number. * `V_NUMBER` - indicates that the name of the account will be the v number of the device. The v number is a unique value created to associate a device with an account. * `RANDOM_STRING` - indicates that the name of the account will be a random string. maxLength: 50 example: SERIAL_NUMBER pricing_profile_ORDERS.pricing_profile: type: string description: The pricing profile the ordering merchant is configured for. Only required if the merchant has changed to a new pricing profile after boarding. maxLength: 255 example: test status_ORDERS.status.request: type: string enum: - FOR_REVIEW title: status_ORDERS.status.request description: |- The only option for an orders request is FOR_REVIEW. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requested until order has been completed (see complete order). functions_ORDERS.addresses.functions: type: string enum: - SHIPPING - BUSINESS description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. * SHIPPING - The address product is sent to. minLength: 1 maxLength: 50 example: SHIPPING name_ORDERS.addresses.name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email_ORDERS.addresses.email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com line_1_ORDERS.addresses.line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2_ORDERS.addresses.line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3_ORDERS.addresses.line_3: type: string description: Third line of the address. maxLength: 50 example: foyer city_ORDERS.addresses.city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state_ORDERS.addresses.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code_ORDERS.addresses.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country_ORDERS.addresses.country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US country_code_ORDERS.addresses.contact_phone.country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number_ORDERS.addresses.contact_phone.subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' name_ORDERS.payment_method.name: type: string description: First and last name on the card used. maxLength: 50 example: John Doe number_ORDERS.payment_method.card.number: type: string description: The card number. maxLength: 50 example: '4111111111111111' cvv_ORDERS.payment_method.card.cvv: type: string description: The CVV security code printed on the card. maxLength: 50 example: '852' expiry_month_ORDERS.payment_method.card.expiry_month: type: string description: The 2 digit expiry date month of the card. maxLength: 2 example: '11' expiry_year_ORDERS.payment_method.card.expiry_year: type: string description: The 2 digit expiry date year of the card. maxLength: 2 example: '25' avs_postal_code_ORDERS.payment_method.card.avs_postal_code: type: string description: The billing postal code maxLength: 50 example: '90210' status_url_ORDERS.notifications.status_url: type: string title: status_url_ORDERS.notifications.status_url description: Indicates to Global Payments where the merchant wants to receive notifications of certain events that occur on the platform. example: 'https://www.example.com/notifications/status' batch_close_time_ORDERS.batch_close_time: type: string description: Specified time to close the Batch minLength: 1 maxLength: 50 example: '20:00' order_response: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED tax_amount: type: string description: The total amouint of tax charged for the order example: '299' tax_percentage: type: string description: The tax percentage charged for the order total_amount: type: string description: Total Amount of an order time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' products: type: object properties: id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' manufacturer_model: type: string description: The name of the device being reuested example: A920 amount: type: string description: Amount or cost associated with the product example: '500' addresses: type: object properties: functions: type: string enum: - SHIPPING - BUSINESS description: | Describes the functions that an address can have. * BUSINESS - The business address of the merchant. * SHIPPING - The address product is sent to. minLength: 1 maxLength: 50 example: SHIPPING name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US contact_phone: type: object properties: country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app id_ORDERS.id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id_ORDERS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name_ORDERS.merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status_ORDERS.status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED tax_amount_ORDERS.tax_amount: type: string description: The total amouint of tax charged for the order example: '299' tax_percentage_ORDERS.tax_percentage: type: string description: The tax percentage charged for the order total_amount_ORDERS.total_amount: type: string description: Total Amount of an order time_created_ORDERS.time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated_ORDERS.time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' manufacturer_model_ORDERS.products.manufacturer_model: type: string description: The name of the device being reuested example: A920 amount_ORDERS.products.amount: type: string description: Amount or cost associated with the product example: '500' id_ORDERS.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_ORDERS.action.type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created_ORDERS.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_ORDERS.action.result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id_ORDERS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_ORDERS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app order_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing filter: type: object properties: from__time_created: type: string title: from_time_created_ORDERS.filter.from_time_created description: 'The start date and time to search for in a range, using the resource time_created value.' format: date to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' id: type: string title: id_ORDERS.filter.id description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - UNDER_REVIEW title: status_ORDERS.filter.status description: |2- The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC orders: type: array items: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' reference: type: string description: Merchant defined field to reference the order action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 account_id_ORDERS.account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name_ORDERS.account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing from_time_created_ORDERS.filter.from_time_created: type: string title: from_time_created_ORDERS.filter.from_time_created description: 'The start date and time to search for in a range, using the resource time_created value.' format: date to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' id_ORDERS.filter.id: type: string title: id_ORDERS.filter.id description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz status_ORDERS.filter.status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - UNDER_REVIEW title: status_ORDERS.filter.status description: |2- The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC reference_ORDERS.reference: type: string description: Merchant defined field to reference the order order_single: type: object properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED tax_amount: type: string description: The total amouint of tax charged for the order example: '299' tax_percentage: type: string description: The tax percentage charged for the order total_amount: type: string description: Total Amount of an order account_id: type: string description: A unique identifier for the account set by Global Payments. example: TRA_6491c2bb5c5344f28a053f7698e522e9 account_name: type: string description: A unique identifier for the account set by Global Payments. example: transaciton processing time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' reference: type: string description: Merchant defined field to reference the order products: type: object properties: id: type: string description: Unique platform generated id used to uniquely reference a product on the platform. minLength: 5 maxLength: 50 example: PRO_TRA_CP-US-CARD-A920_SP name: type: string description: Unique Global Payments generated name used to uniquely reference a product on the Global Payments system. quantity: type: string description: The quantity of the specified product ordered. Currently the quantity is limited to 1 per order. minLength: 1 maxLength: 2 example: '1' items: type: object properties: manufacturer_model: type: string description: The manufacturer model or device name of the item being ordered example: A920 account_name_format: type: string enum: - SERIAL_NUMBER - V_NUMBER - RANDOM_STRING description: | The format of the name for the Global Payment's account that will be linked to the device ordered. * `SERIAL_NUMBER` - indicates that the name of the account will be the serial number of the device. The device has a static serial number. * `V_NUMBER` - indicates that the name of the account will be the v number of the device. The v number is a unique value created to associate a device with an account. * `RANDOM_STRING` - indicates that the name of the account will be a random string. maxLength: 50 example: SERIAL_NUMBER amount: type: string description: The amount or cost charged. example: '10000' serial_number: type: string description: The serial number of the device ordered. example: 123456ASD tracking_reference: type: string description: The tracking reference number of a shipped device. example: '123412341234' addresses: type: object properties: functions: type: array items: {} name: type: string description: The name associated with the address. minLength: 1 maxLength: 50 example: John Doe email: type: string description: The email address associated with the address. minLength: 1 maxLength: 50 example: Gerda.Johnston43@yahoo.com city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA country: type: string description: The country in ISO-3166-1(alpha-2 code) format. maxLength: 2 example: US line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 50 example: foyer postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' contact_phone: type: object properties: country_code: type: string description: The country code of the phone number. minLength: 2 maxLength: 2 example: '01' subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 example: '8008675309' payment_method: type: object properties: name: type: string description: First and last name on the card used. maxLength: 50 example: John Doe card: type: object properties: number: type: string description: The card number. maxLength: 50 example: '4111111111111111' cvv: type: string description: The CVV security code printed on the card. maxLength: 50 example: '852' expiry_month: type: string description: The 2 digit expiry date month of the card. maxLength: 2 example: '11' expiry_year: type: string description: The 2 digit expiry date year of the card. maxLength: 2 example: '25' avs_postal_code: type: string description: The billing postal code maxLength: 50 example: '90210' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app manufacturer_model_ORDERS.products.items.manufacturer_model: type: string description: The manufacturer model or device name of the item being ordered example: A920 amount_ORDERS.products.items.amount: type: string description: The amount or cost charged. example: '10000' serial_number_ORDERS.products.items.serial_number: type: string description: The serial number of the device ordered. example: 123456ASD tracking_reference_ORDERS.products.items.tracking_reference: type: string description: The tracking reference number of a shipped device. example: '123412341234' complete_order_response: type: object title: complete_order_response properties: id: type: string description: A unique identifier for the merchant set by Global Payments. example: ORD_zvQ6JT0n0wfhaztiL8vCyE0yQslvkz merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 status: type: string enum: - INITIATED - IN_PROGRESS - FULFILLED - FAILED - FOR_REVIEW - UNDER_REVIEW description: | The overall status of the instance of the resource. * `INITIATED` - indicates that the order request has been submitted for fulfillment. * `IN_PROGRESS` - indicates that order request was successful, an account has been created and a device will be shipped. * `FULFILLED` - indicates that the device has been shipped. * `FAILED` - indicates that there was an error processing the order request. * `FOR_REIVEW` - When passed in order request body, the price of the potential order will be shown. Device will not be requrested until order has been completed (see complete order). * `UNDER_REIVEW` - The price of the potential order is availabe for review. Device will not be shipped until order has been completed (see complete order). example: INITIATED time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ORDER_INITIATED - ORDER_STATUS_NOTIFICATION - ORDER_PRICE - ORDER_SINGLE - ORDER_LIST description: ' Indicates the specific action taken.' example: ORDER_INITIATED time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Payment Methods Source: https://developer.globalpayments.com/api/payment-methods-tokenization.md # Payment Methods ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Payment Methods description: 'Payment Method storage is the Global Payments service where sensitive information is securely stored in exchange for a Global Payments unique identifier. This identifier, commonly referred to as a token, is then used to create Sale and Refund Transactions.' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /payment-methods: post: tags: - Create summary: Create Payment Method description: Create a stored payment method on the Global Payments system and return a unique Global Payments ID that can be used to create future Sale or Refund Transactions. operationId: post-payment-method parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: description: '' content: application/json: schema: type: object title: CreateRequest properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' cvv: type: string description: The numeric value printed on the physical card. This field is required when the usage_mode is SINGLE minLength: 3 maxLength: 4 example: '852' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' required: - number - expiry_month - expiry_year required: - reference - card examples: Store a Card: value: reference: CustABC_Card_1 usage_mode: MULTIPLE card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' cvv: '233' Create Single Use Token: value: reference: CustABC_Card_1 usage_mode: SINGLE card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' cvv: '233' Create a Network Token: value: reference: CustABC_Card_1 first_name: Jane last_name: Doe usage_mode: USE_NETWORK_TOKEN card: number: '4622943123052988' expiry_month: '12' expiry_year: '30' cvv: '291' Create a Token Associated With a Payer: value: account_name: Tokenization reference: CustABC_Card_10 fingerprint_mode: ALWAYS name: John's payment method payer: id: PYR_84fd9c9c07c442339cee215d974819b5 card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' cvv: '852' responses: '200': description: '' content: application/json: schema: type: object title: CreateResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW card: type: object properties: masked_number_last4: type: string description: Masked number but last 4 digits of card number are visible minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - List Payment Methods summary: List Payment Methods description: Return a list of stored payment methods. operationId: get-payment-methods parameters: - name: page in: query required: false schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 - name: page_size in: query required: false schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 - name: order in: query required: false schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC - name: order_by in: query required: false schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED - name: reference in: query required: false schema: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 - name: status in: query required: false schema: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE - name: from_time_created in: query required: false schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query required: false schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: from_time_last_updated in: query required: false schema: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time - name: to_time_last_updated in: query required: false schema: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time - name: id in: query schema: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object title: ListResponse properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC payment_methods: type: array items: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 card: type: object properties: number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/payment-methods//cryptogram': post: tags: - Generate Cryptogram summary: Generate Cryptogram description: 'Generate a Cryptogram using a previously stored Network Token. ' operationId: generate-cryptogram parameters: - name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string example: PMT_3367f648-558a-4979-8b1f-7002961d5d37 examples: default: value: PMT_3367f648-558a-4979-8b1f-7002961d5d37 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object title: GenerateCryptogram properties: transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' required: - amount required: - transaction responses: '200': description: '' content: application/json: schema: type: object title: GenerateCryptogramResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' card: type: object properties: cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= cryptogram_expiry_month: type: string description: This is the cryptogram expiry month example: '05' cryptogram_expiry_year: type: string description: This is the cryptogram expiry year example: '25' eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /payment-methods/cryptogram: post: tags: - Generate Cryptogram summary: Generate Cryptogram description: Generate a Cryptogram using a previously obtained Network Token operationId: generate-cryptogram-2 parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object title: GenerateCryptogram properties: transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' required: - amount card: type: object properties: network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' required: - network_token required: - transaction - card responses: '200': description: '' content: application/json: schema: type: object title: GenerateCryptogramResponse properties: time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' card: type: object properties: cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= cryptogram_expiry_month: type: string description: This is the cryptogram expiry month example: '05' cryptogram_expiry_year: type: string description: This is the cryptogram expiry year example: '25' eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/payment-methods/': get: tags: - Get a Payment Method summary: Get a Payment Method description: Return a single view of a stored payment method. operationId: get-payment-methods-id parameters: - name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string example: PMT_3367f648-558a-4979-8b1f-7002961d5d37 examples: default: value: PMT_3367f648-558a-4979-8b1f-7002961d5d37 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: '' content: application/json: schema: type: object title: GetResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method card: type: object properties: number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment patch: tags: - Edit a Payment Method summary: Edit a Payment Method description: Change information about a stored payment method such as update the card expiry date or the funding type of card or the bank identifier of the account number. operationId: patch-payment-methods-id parameters: - name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string example: PMT_3367f648-558a-4979-8b1f-7002961d5d37 examples: default: value: PMT_3367f648-558a-4979-8b1f-7002961d5d37 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object title: PatchRequest properties: usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' cvv: type: string description: The numeric value printed on the physical card. This field is required when the usage_mode is SINGLE minLength: 3 maxLength: 4 example: '852' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' examples: Edit a Stored Card: value: name: John's payment method card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' responses: '200': description: OK content: application/json: schema: type: object title: PatchResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE card: type: object properties: masked_number_last4: type: string description: Masked number but last 4 digits of card number are visible minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment delete: tags: - Delete a Payment Method summary: Delete a Payment Method description: Delete a stored payment method. operationId: delete-payment-methods-id parameters: - name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string example: PMT_3367f648-558a-4979-8b1f-7002961d5d37 examples: default: value: PMT_3367f648-558a-4979-8b1f-7002961d5d37 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/payment-methods//detokenize': post: tags: - Detokenize a Payment Method summary: Detokenize a Payment Method description: Detokenize the stored payment method to get a full payment method information.(Availability in production depends on your live configuration.) operationId: post-payment-methods-id-detokenize parameters: - name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string example: PMT_3367f648-558a-4979-8b1f-7002961d5d37 examples: default: value: PMT_3367f648-558a-4979-8b1f-7002961d5d37 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: Detokenize properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /payment-methods/search: post: tags: - Search for a Payment Method summary: Search for a Payment Method description: Return a list of stored payment methods where search criteria is in the message body. operationId: post-payment-methods-search parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 requestBody: content: application/json: schema: type: object title: SearchRequest properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' examples: Search for a Payment Method: value: account_name: Tokenization card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' responses: '200': description: OK content: application/json: schema: type: object title: SearchResponse properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization filter: type: object properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC payment_methods: type: array items: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 card: type: object properties: number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Create - name: Edit a Payment Method - name: Get a Payment Method - name: List Payment Methods components: parameters: page: name: page in: query required: false schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: name: page_size in: query required: false schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order: name: order in: query required: false schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: name: order_by in: query required: false schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED reference: name: reference in: query required: false schema: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 status: name: status in: query required: false schema: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE from_time_created: name: from_time_created in: query required: false schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: name: to_time_created in: query required: false schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' from_time_last_updated: name: from_time_last_updated in: query required: false schema: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_last_updated: name: to_time_last_updated in: query required: false schema: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time id: name: id in: path description: Unique Global Payments generated id used to reference a stored payment method on the Global Payments system. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. required: true schema: type: string example: PMT_3367f648-558a-4979-8b1f-7002961d5d37 examples: default: value: PMT_3367f648-558a-4979-8b1f-7002961d5d37 Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: Updatedcreaterequest: type: object title: CreateRequest properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' cvv: type: string description: The numeric value printed on the physical card. This field is required when the usage_mode is SINGLE minLength: 3 maxLength: 4 example: '852' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' required: - number - expiry_month - expiry_year required: - reference - card account_name_PAYMENT_METHODS.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization reference_PAYMENT_METHODS.reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode_PAYMENT_METHODS.usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE fingerprint_mode_PAYMENT_METHODS.fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS name_PAYMENT_METHODS.name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater_PAYMENT_METHODS.auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE id_PAYMENT_METHODS.payer.id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW number_PAYMENT_METHODS.card.number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month_PAYMENT_METHODS.card.expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year_PAYMENT_METHODS.card.expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' cvv_PAYMENT_METHODS.card.cvv: type: string description: The numeric value printed on the physical card. This field is required when the usage_mode is SINGLE minLength: 3 maxLength: 4 example: '852' brand_reference_PAYMENT_METHODS.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' CreateResponse: type: object title: CreateResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. minLength: 1 maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW card: type: object properties: masked_number_last4: type: string description: Masked number but last 4 digits of card number are visible minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app id_PAYMENT_METHODS.id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created_PAYMENT_METHODS.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id_PAYMENT_METHODS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name_PAYMENT_METHODS.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id_PAYMENT_METHODS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b fingerprint_presence_indicator_PAYMENT_METHODS.fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW fingerprint_PAYMENT_METHODS.fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 masked_number_last4_PAYMENT_METHODS.card.masked_number_last4: type: string description: Masked number but last 4 digits of card number are visible minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 brand_PAYMENT_METHODS.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA network_token_PAYMENT_METHODS.card.network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' masked_network_token_last4_PAYMENT_METHODS.card.masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month_PAYMENT_METHODS.card.network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year_PAYMENT_METHODS.card.network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' id_PAYMENT_METHODS.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_PAYMENT_METHODS.action.type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created_PAYMENT_METHODS.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code_PAYMENT_METHODS.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id_PAYMENT_METHODS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_PAYMENT_METHODS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app ListResponse: type: object title: ListResponse properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC payment_methods: type: array items: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 card: type: object properties: number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC status_PAYMENT_METHODS.status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE number_last4_PAYMENT_METHODS.card.number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 GenerateCryptogram: type: object title: GenerateCryptogram properties: transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' required: - amount required: - transaction amount_PAYMENT_METHODS.transaction.amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' GenerateCryptogramResponse: type: object title: GenerateCryptogramResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' card: type: object properties: cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= cryptogram_expiry_month: type: string description: This is the cryptogram expiry month example: '05' cryptogram_expiry_year: type: string description: This is the cryptogram expiry year example: '25' eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app cryptogram_PAYMENT_METHODS.card.cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= cryptogram_expiry_month_PAYMENT_METHODS.card.cryptogram_expiry_month: type: string description: This is the cryptogram expiry month example: '05' cryptogram_expiry_year_PAYMENT_METHODS.card.cryptogram_expiry_year: type: string description: This is the cryptogram expiry year example: '25' eci_PAYMENT_METHODS.card.eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' GenerateCryptogram_copy: type: object title: GenerateCryptogram properties: transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' required: - amount card: type: object properties: network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' required: - network_token required: - transaction - card GenerateCryptogramResponse_copy: type: object title: GenerateCryptogramResponse properties: time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization transaction: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' card: type: object properties: cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= cryptogram_expiry_month: type: string description: This is the cryptogram expiry month example: '05' cryptogram_expiry_year: type: string description: This is the cryptogram expiry year example: '25' eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app GetResponse: type: object title: GetResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method card: type: object properties: number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' network_token: type: string description: 'The network token, provided by the brands as a more secure alternative to the card number.' example: '4895370019221065' network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} network_token_expiry_month_INSTALLMENTS.payment_method.card.network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' PatchRequest: type: object title: PatchRequest properties: usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' cvv: type: string description: The numeric value printed on the physical card. This field is required when the usage_mode is SINGLE minLength: 3 maxLength: 4 example: '852' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' PatchResponse: type: object title: PatchResponse properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. maxLength: 256 example: NEW fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' maxLength: 256 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method auto_updater: type: string enum: - ENABLE - DISABLE description: Indicates whether this payment token should be enabled for account updater services. Availability of this is dependent on your live configuration default: DISABLE example: ENABLE card: type: object properties: masked_number_last4: type: string description: Masked number but last 4 digits of card number are visible minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 example: '000000321000010' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app Detokenize: type: object title: Detokenize properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - This value must be used if using the Hosted Fields or the Drop-in UI integration types. When creating the payment method token, this option ensures the payment method token is temporary and will be removed once a transaction is executed or after a short period of time. * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN when bothe the card number and the network token are available. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number if both are available. minLength: 1 maxLength: 50 default: MULTIPLE example: SINGLE name: type: string description: The name of the owner of the payment method. For example the cardholder's name. maxLength: 100 example: John's payment method card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app SearchRequest: type: object title: SearchRequest properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization card: type: object properties: number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' SearchResponse: type: object title: SearchResponse properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization filter: type: object properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Tokenization number: type: string description: The card account number used to authorize the transaction. Also known as PAN or FPAN. minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC payment_methods: type: array items: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - ACTIVE - INACTIVE - DELETED description: | The overall status of the payment method. * `ACTIVE` - The entity is ACTIVE and can be used. * `INACTIVE` - The entity is INACTIVE and cannot be used." * `DELETED` - The status is DELETED. Once returned in an action response for a resource. The resource has been removed from the platform. example: ACTIVE reference: type: string description: Merchant defined field to uniquely reference the stored payment method. minLength: 8 maxLength: 50 example: CustABC_Card_1 card: type: object properties: number_last4: type: string description: Last 4 digits of card number minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. maxLength: 50 example: VISA expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '05' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '25' action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - PAYMENT_METHOD_CREATE - PAYMENT_METHOD_SINGLE - PAYMENT_METHOD_EDIT - PAYMENT_METHOD_LIST - PAYMENT_METHOD_DELETE - CRYPTOGRAM_CREATE description: Indicates the specific action taken. example: PAYMENT_METHOD_CREATE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app x-examples: {} from_time_last_updated: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_last_updated: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Settlement Reporting Source: https://developer.globalpayments.com/api/settlement-reporting.md # Settlement Reporting ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Settlement Reporting description: 'Settlement Reports provide data from our settlement systems that helps merchants access reports on funds transferred to and from their bank account. This includes Transactions, Disputes, Deposits and Fees' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /settlement/reports/monthly-fees: get: tags: - Get a list of Monthly Fee Reports summary: Get a list of Monthly Fee Reports from Global Payments. Page through the result set to access all records. description: "Get a list of Monthly Fee Reports from Global Payments. Page through the result set to access all records.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getMonthlyFeeReportist parameters: - name: account_name in: query required: true schema: example: Settlement_Reporting type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 examples: default: value: Settlement_Reporting - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. example: 2024-07 - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. example: 2024-11 - name: system.mid in: query schema: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 - name: system.hierarchy in: query schema: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 - name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 - name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC - name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. example: 2024-07 to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. example: 2024-11 paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC monthly_fees: type: array description: A list of Monthly Fee Report records. items: type: object properties: time_created: type: string description: The time the report was first created. status: type: string enum: - FINALIZED - ESTIMATED description: Indicated where the report is in its lifecycle. minLength: 1 maxLength: 50 example: FINALIZED amount: type: string description: The total fee amount across all amounts for the report. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD interchange_amount: type: string description: 'The total interchange amount fee for the report, set by the brands.' example: '11099' assessment_amount: type: string description: 'The total assessment amount fee for the report, set by the brands and paid to the brands.' example: '11099' authorization_amount: type: string description: The total fee amount for processing authorizations for the report example: '11099' chargeback_amount: type: string description: The total fee amount for processing disputes for the report. example: '11099' supplies_amount: type: string description: The total fee amount for paper supplies supplied by the principal or vendor example: '11099' device_amount: type: string description: The total fee amount for using devices for the report. example: '11099' discount_amount: type: string description: The total discount fee amount for the report. example: '11099' other_amount: type: string description: The total of any other amounts not included in the above amount fields. example: '11099' transaction_count: type: number description: The total number of items. example: 123 sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' passthrough: type: object properties: amount: type: string description: The total amount across one or more items. example: '120' merchant: type: object properties: name: type: string description: The full name of the payer. example: James Mason address: type: object properties: line_1: type: string description: First line of the address. maxLength: 50 line_2: type: string description: Second line of the address. maxLength: 50 line_3: type: string description: Third line of the address. maxLength: 50 city: type: string description: The city associated with the address. maxLength: 50 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' maxLength: 50 postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: The country of the address. Countries are represented by the ISO-3166-1(alpha-2 code). maxLength: 2 example: US system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 50 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 50 example: MERCHANT XYZ INC. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MONTHLY_FEES_LIST description: Indicates the specific action taken. example: MONTHLY_FEES_LIST time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /settlement/disputes: get: tags: - List Settled Disputes summary: Get a list of disputes that affected a merchant's bank account using criteria passed in the query string. Page through the result set to access all records. description: "Get a list of disputes that affected a merchant's bank account using criteria passed in the query string. Page through the result set to access all records.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getSettledDisputes parameters: - name: page in: query schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 - name: page_size in: query schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 - name: order in: query schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC - name: order_by in: query schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED - name: arn in: query schema: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 - name: brand in: query schema: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA - name: status in: query schema: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED - name: stage in: query schema: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. minLength: 1 maxLength: 50 example: RETRIEVAL - name: from_stage_time_created in: query schema: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date - name: to_stage_time_created in: query schema: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date - name: system.mid in: query description: The system merchant identifier. schema: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 - name: system.hierarchy in: query description: The system merchant hierarchy schema: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 - name: account_name in: query required: true schema: example: Settlement_Reporting type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 examples: default: value: Settlement_Reporting - name: order.reference in: query schema: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 - name: from_deposit_time_created in: query schema: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date - name: to_deposit_time_created in: query schema: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date - name: id in: query schema: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 - name: deposit.id in: query schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 - name: brand_reference in: query schema: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 - name: authcode in: query schema: type: string description: Code generated when the card is successfully authorized. maxLength: 50 - name: reference in: query schema: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e - name: number_first6 in: query schema: type: string description: The first 6 digits of the card number. minLength: 1 maxLength: 6 example: '424242' - name: number_last4 in: query schema: type: string description: The last 4 digits of the card number. minLength: 1 maxLength: 4 example: '1234' - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED from_deposit_time_created: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_deposit_time_created: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC disputes: type: array description: A list of disputes items: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: 1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' transaction: type: object description: Information about the original Sale Transaction the Dispute relates to. properties: time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount: type: string description: The 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. example: 11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: card: type: object description: Data relating to the card payment method. properties: masked_number_first6last4: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits.' example: 123456xxxxx8960 arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_LIST description: Indicates the specific action taken. example: DISPUTE_LIST time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED from_deposit_time_created: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_deposit_time_created: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC disputes: type: array description: A list of disputes items: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: 1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' transaction: type: object description: Information about the original Sale Transaction the Dispute relates to. properties: time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount: type: string description: The 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. example: 11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: card: type: object description: Data relating to the card payment method. properties: masked_number_first6last4: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits.' example: 123456xxxxx8960 arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_LIST description: Indicates the specific action taken. example: DISPUTE_LIST time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /settlement/transactions: get: tags: - List Settled Transactions summary: | Get a list of funded transactions using filter criteria passed in the query string. Page through the result set to access all records. description: "Get a list of funded transactions using criteria passed in the query string. Page through the result set to access all records.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getSettledTransactions parameters: - name: type in: query schema: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE - name: amount in: query schema: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' - name: number_first6 in: query schema: type: string description: The first 6 digits of the card number. minLength: 1 maxLength: 6 example: '424242' - name: number_last4 in: query schema: type: string description: The last 4 digits of the card number. minLength: 1 maxLength: 4 example: '1234' - name: account_name in: query required: true schema: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting - name: brand in: query schema: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA - name: brand_reference in: query schema: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 - name: authcode in: query schema: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 - name: reference in: query schema: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e - name: status in: query schema: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: order.reference in: query schema: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 - name: account_id in: query schema: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b - name: deposit_status in: query schema: type: string enum: - FUNDED - IRREG - RESERVED - DELAYED - RELEASED description: | Indicates where a deposit is in its lifecycle. * `FUNDED` - Deposit Funded to bank account * `IRREG` - Deposit not funded by Global Payments * `RESERVED` - - Deposit on reserve. * `DELAYED` - Deposit delayed for funding. * `RELEASED` - Deposit released by Global Payments from a status of DELAYED minLength: 1 maxLength: 50 example: FUNDED - name: arn in: query schema: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 - name: deposit_id in: query schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 - name: from_deposit_time_created in: query schema: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date - name: to_deposit_time_created in: query schema: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date - name: from_batch_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource batch_time_created_reference value. format: date example: '2022-05-01' - name: to_batch_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource batch_time_created_reference value. format: date example: '2022-05-01' - name: from_time_created_reference in: query schema: type: string description: | The start time to search for in a range, using the resource time_created_reference value. format: date example: '2022-05-01' - name: to_time_created_reference in: query schema: type: string description: | The end time to search for in a range, using the resource time_created_reference value. format: date example: '2022-05-01' - name: system.mid in: query schema: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 - name: system.tid in: query schema: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 - name: system.hierarchy in: query schema: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 - name: system.dba in: query schema: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 - name: fees.charge_type in: query schema: type: string description: This is a code that indicates the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 - name: fees.total_amount_decimal in: query schema: type: string description: The total fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 - name: fees.interchange.program in: query schema: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 - name: fees.interchange.per_item_flat_amount_decimal in: query schema: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 - name: fees.interchange.per_item_calculated_amount_decimal in: query schema: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 - name: fees.interchange.percentage in: query schema: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 - name: fees.interchange.percentage_amount_decimal in: query schema: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.interchange.total_rate in: query schema: type: string description: This is the total rate applied for interchange fees for this type of transaction minLength: 1 maxLength: 50 - name: fees.interchange.total_amount_decimal in: query schema: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.discount.rate_1_percentage in: query schema: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 - name: fees.discount.rate_2_percentage in: query schema: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 - name: fees.discount.total_amount_decimal in: query schema: type: string description: The total discount amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.exchange_rate in: query schema: type: string description: The exchange rate used to convert the total fee amount in one currency to the currency of the merchant. minLength: 1 maxLength: 50 - name: fees.assessment_total_amount_decimal in: query schema: type: string description: The total assessment fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 - name: fees.assessment_1.description in: query schema: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_2.description in: query schema: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_3.description in: query schema: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_4.description in: query schema: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_5.description in: query schema: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_1.percentage in: query schema: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_2.percentage in: query schema: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_3.percentage in: query schema: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_4.percentage in: query schema: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_5.percentage in: query schema: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 - name: fees.assessment_1.amount_decimal in: query schema: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.assessment_2.amount_decimal in: query schema: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.assessment_3.amount_decimal in: query schema: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.assessment_4.amount_decimal in: query schema: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.assessment_5.amount_decimal in: query schema: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 - name: fees.mark_up.dcc_percentage in: query schema: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 - name: fees.mark_up.multicurrency_percentage in: query schema: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 - name: fees.fixed_amount_decimal in: query schema: type: string description: The fixed amount that is charged per transaction. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 - name: fees.tax_amount_decimal in: query schema: type: string description: Tax on merchant fees. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 - name: settlement_code in: query schema: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 - name: settlement_transaction_reference in: query schema: type: string description: A unique identifier that identifies the transaction when it is funded or being funded.It is only created if Global Payments funds the transaction and is different to the transaction id. - name: merchant_id in: query schema: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A - name: merchant_name in: query schema: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES - name: merchant_amount in: query schema: type: string description: The amount of the transaction in the merchant's currency that is funded to the merchant. minLength: 1 maxLength: 50 example: 4706 - name: charge_type_region in: query schema: type: string description: This is the region the card used for the transaction was issued in and geographically associated with cardholders region minLength: 1 maxLength: 50 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 - name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 - name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC - name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_deposit_time_created: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_deposit_time_created: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transactions: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null settlement_transaction_reference: type: string description: A unique identifier that identifies the transaction when it is funded or being funded.It is only created if Global Payments funds the transaction and is different to the transaction id. time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD cashback_amount: type: string description: The amount of cash requested at the point of sale that the card holder recieves. This amount can be charged independently or it is addded to the cost of the items purchased. minLength: 1 maxLength: 50 example: '11099' merchant_amount: type: string description: The amount of the transaction in the merchant's currency that is funded to the merchant. minLength: 1 maxLength: 50 example: 4706 merchant_currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD discount_amount: type: string description: The discount amount of the transaction in the currency the transaction was captured in. minLength: 1 maxLength: 50 merchant_discount_amount: type: string description: The discount amount of the transaction in the currency the merchant gets funded in. minLength: 1 maxLength: 50 tax_in_merchant_amount: type: string enum: - true - false description: | Indicates if a tax amount was included in the setttled merchant amount * `TRUE` - The tax amount was added to the settled merchant amount * `FALSE` - The tax amount was not added to the settled merchant amount minLength: 1 maxLength: 50 example: true tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 merchant_tax_amount: type: string description: The total amount of tax charges associated with this transaction in the currency the Merchant gets taxed in reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e time_created_reference: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. deposit_id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null deposit_time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' deposit_status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED deposit_amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: 500 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 batch_time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 payment_method: type: object properties: entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 settlement_code: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT arn: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 fees: type: object description: A breakdown of the fees associated with the transaction. properties: total_amount_decimal: type: string description: The total fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 other_fees_amount_decimal: type: string description: 'The total amount of other fees for this transaction that don''t fit into assessment, interchange, discount or markup. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny.' minLength: 1 maxLength: 50 fixed_amount_decimal: type: string description: The fixed amount that is charged per transaction. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 tax_amount_decimal: type: string description: Tax on merchant fees. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 assessment_total_amount_decimal: type: string description: The total assessment fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 charge_type: type: string description: This is a code that indicates the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_description: type: string description: This is a description that explains the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_region: type: string description: This is the region the card used for the transaction was issued in and geographically associated with cardholders region minLength: 1 maxLength: 50 exchange_rate: type: string description: The exchange rate used to convert the total fee amount in one currency to the currency of the merchant. minLength: 1 maxLength: 50 interchange: type: object description: a breakdown of the interchange fees associated with the transaction. properties: total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 total_rate: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 program: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 percentage_amount_decimal: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 per_item_flat_amount_decimal: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 per_item_calculated_amount_decimal: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 discount: type: object description: a breakdown of the interchange fees associated with the transaction. properties: rate_1_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 rate_2_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_1: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_2: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_3: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_4: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_5: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 mark_up: type: object description: A list of percentage mark ups on any currency conversion services for this transaction. properties: dcc_percentage: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 multicurrency_percentage: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSACTION_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: TRANSACTION_LIST time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /settlement/deposits: get: tags: - Get a list of Deposit information summary: Get a list of Deposits using criteria passed in the query string. Page through the result set to access all records. description: "Get a list of Deposits using criteria passed in the query string. Page through the result set to access all records.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getDepositList parameters: - name: page in: query schema: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 - name: page_size in: query schema: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 - name: order in: query schema: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC - name: order_by in: query schema: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: id in: query schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 - name: status in: query schema: type: string description: | Indicates where a resource object is in its life-cycle. *`FUNDED` - Deposit Funded to bank account *`IRREG` - Deposit not funded by Global Payments *`RESERVED `- Deposit on reserve. *`DELAYED` - Deposit delayed for funding. *`RELEASED` - Deposit released by Global Payments from a status of DELAYED example: FUNDED - name: amount in: query schema: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: '500' - name: masked_account_number_last4 in: query schema: type: string description: Data relating to a bank transfer directly to or from the Payer's bank account. minLength: 1 maxLength: 50 - name: system.mid in: query schema: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 - name: system.hierarchy in: query schema: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 - name: account_name in: query description: A meaningful label for the merchant account set by Global Payments. required: true schema: type: string minLength: 1 maxLength: 50 example: Settlement Reporting - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC deposits: type: array description: A list of Deposit records. items: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-05-03' status: type: string description: | Indicates where a resource object is in its life-cycle. *`FUNDED` - Deposit Funded to bank account *`IRREG` - Deposit not funded by Global Payments *`RESERVED `- Deposit on reserve. *`DELAYED` - Deposit delayed for funding. *`RELEASED` - Deposit released by Global Payments from a status of DELAYED example: FUNDED funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: '500' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD aggregation_model: type: string description: 'Indicates how a merchant''s payment processing activity across Sales, Refunds, Disputes and Fees is structured for a Deposit. Activity can be aggregated into one daily amount or all activity separately funded via different deposits.' example: 4-No Summary bank_transfer: type: object properties: masked_account_number_last4: type: string description: Data relating to a bank transfer directly to or from the Payer's bank account. minLength: 1 maxLength: 50 bank: type: object properties: code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' disputes: type: object properties: chargebacks: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' reversals: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' discounts: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' fees: type: object properties: amount: type: string description: The total amount across one or more items. example: '120' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DEPOSIT_SINGLE - DEPOSIT_LIST description: Indicates the specific action taken. example: DEPOSIT_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/settlement/deposits/': get: tags: - Get a Single Deposit summary: Get the details of a single Deposit using its unique id. description: "Get the details of a single Deposit using its unique id.\r\nAvailability of this feature in production depends on your allowed live configuration. \r\nPlease contact Global Payments before coding this feature to confirm it will be available to you when you go live." operationId: getDepositSingle parameters: - name: id in: path description: This is the deposit id created to uniquely identify it in the Global Payments system. required: true schema: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-05-03' status: type: string description: | Indicates where a resource object is in its life-cycle. *`FUNDED` - Deposit Funded to bank account *`IRREG` - Deposit not funded by Global Payments *`RESERVED `- Deposit on reserve. *`DELAYED` - Deposit delayed for funding. *`RELEASED` - Deposit released by Global Payments from a status of DELAYED example: FUNDED funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: '500' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD aggregation_model: type: string description: 'Indicates how a merchant''s payment processing activity across Sales, Refunds, Disputes and Fees is structured for a Deposit. Activity can be aggregated into one daily amount or all activity separately funded via different deposits.' example: 4-No Summary bank_transfer: type: object properties: masked_account_number_last4: type: string description: Data relating to a bank transfer directly to or from the Payer's bank account. minLength: 1 maxLength: 50 bank: type: object properties: code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' disputes: type: object description: Data relating to the dispute totals across chargebacks and chargeback reversals. properties: chargebacks: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' reversals: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' discounts: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' fees: type: object description: The total fees amount in the currency of the Deposit. properties: amount: type: string description: The total amount across one or more items. example: '120' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DEPOSIT_SINGLE - DEPOSIT_LIST description: Indicates the specific action taken. example: DEPOSIT_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Create a Sale or Refund description: | 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 or flagged as requiring a separate capture action later. (Availability of standalone refunds, where there is not a link directly to a previous Sale transaction, depends on your live configuration.) - name: List Transactions description: | Get a list of transactions recently processed, using criteria passed in the query string. Page through the result set to access all records. - name: Get a Transaction description: | Get a single view of a transaction using the transaction id. - name: Refund a Sale description: | Create a Refund transaction from a previous Sale. The payment method associated with the original Sale is used to refund the Payer. If the amount is not specified in the refund request, the full amount of the Sale will be refunded. - name: Reverse a Sale or Refund description: | Cancel a transaction before it has been sent for funding. Transactions can be reversed in full or partially reversed. An attempt to restore Payer's spending limit is always made. If no amount is included in the request body, the full value of the transaction will be reversed. In timeout scenarios, the reference field can be used in place of the id in the URL to execute a reversal also. (Availability of partial reversals depends on your live configuration.) - name: Capture a Sale description: | Capture a Sale transaction that has a status of PREAUTHORIZED to receive funds for that transaction. If the amount is not specified in the capture request, the full amount of the Sale at that timw will be captured. Also it can be captured in multiple segments to facilitate split shipment. (Availability of multiple captures in production depends on your live configuration.) - name: Increment an Auth description: | Increment the amount for an existing transaction. Use this action to add a charge to an existing transaction before it is batched. This action does not change the status of a transaction, if successful it increases the amount of the existing transaction. (Availability in production depends on your live configuration.)' - name: Adjust a CP Sale description: | Adjusts an existing Customer Present (CP) transaction with new information. This action does not change the status of a transaction, only the data it contains. A common example is to add add a gratuity amount to the transaction before the transaction is batched. - name: ReAuth a Reversed Sale description: | This action be to used to refresh the authorization associated with a transaction to get a more recent authcode or reauthorize a transaction reversed in error. (Availability in production depends on your live configuration.) - name: Confirm a Transaction description: | For certain transactions created using non-card based payment methods (for example, PayPal), merchants are required to confirm that the transaction has completed in order for funds to be transferred. - name: Split a Transaction Amount description: | Transfer part of a transaction amount, executed by a merchant, to the partner account - name: List Settled Transactions description: | Get a list of settled or funded transactions Page through the result set to access all records. - name: Synchronize a Device description: | Synchronize a physical device to successfully transaction process. - name: Challenge a Disputed Transaction description: | Upload a document to support a transaction. This may used to respond to a chargeback or retrieval request. - name: Hold a Transaction description: | This request will change the transaction status to PENDING_REVIEW (HELD). - name: Release a Transaction description: | This request will change the transaction status to PENDING_REVIEW (HELD). components: parameters: page: name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 page_size: name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 order: name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC order_by: name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: account_name_REPORT.account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting from_time_created_settlement_reporting: type: string description: | The start time to search for in a range, using the resource time_created value. example: 2024-07 to_time_created_settlement_reporting: type: string description: | The end time to search for in a range, using the resource time_created value. example: 2024-11 mid_REPORT.monthly_fees.system.mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy_REPORT.monthly_fees.system.hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 monthly_fee_reports_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. example: 2024-07 to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. example: 2024-11 paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC monthly_fees: type: array description: A list of Monthly Fee Report records. items: type: object properties: time_created: type: string description: The time the report was first created. status: type: string enum: - FINALIZED - ESTIMATED description: Indicated where the report is in its lifecycle. minLength: 1 maxLength: 50 example: FINALIZED amount: type: string description: The total fee amount across all amounts for the report. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD interchange_amount: type: string description: 'The total interchange amount fee for the report, set by the brands.' example: '11099' assessment_amount: type: string description: 'The total assessment amount fee for the report, set by the brands and paid to the brands.' example: '11099' authorization_amount: type: string description: The total fee amount for processing authorizations for the report example: '11099' chargeback_amount: type: string description: The total fee amount for processing disputes for the report. example: '11099' supplies_amount: type: string description: The total fee amount for paper supplies supplied by the principal or vendor example: '11099' device_amount: type: string description: The total fee amount for using devices for the report. example: '11099' discount_amount: type: string description: The total discount fee amount for the report. example: '11099' other_amount: type: string description: The total of any other amounts not included in the above amount fields. example: '11099' transaction_count: type: number description: The total number of items. example: 123 sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' passthrough: type: object properties: amount: type: string description: The total amount across one or more items. example: '120' merchant: type: object properties: name: type: string description: The full name of the payer. example: James Mason address: type: object properties: line_1: type: string description: First line of the address. maxLength: 50 line_2: type: string description: Second line of the address. maxLength: 50 line_3: type: string description: Third line of the address. maxLength: 50 city: type: string description: The city associated with the address. maxLength: 50 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' maxLength: 50 postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: The country of the address. Countries are represented by the ISO-3166-1(alpha-2 code). maxLength: 2 example: US system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 50 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 50 example: MERCHANT XYZ INC. action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - MONTHLY_FEES_LIST description: Indicates the specific action taken. example: MONTHLY_FEES_LIST time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id_REPORT.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. maxLength: 50 example: MER_31087d9c-e68c-4389-9f13-39378e166ea5 merchant_name_REPORT.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id_REPORT.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b Paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC monthly_fee_report_single: type: object properties: time_created: type: string description: The time the report was first created. status: type: string enum: - FINALIZED - ESTIMATED description: Indicated where the report is in its lifecycle. minLength: 1 maxLength: 50 example: FINALIZED amount: type: string description: The total fee amount across all amounts for the report. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD interchange_amount: type: string description: 'The total interchange amount fee for the report, set by the brands.' example: '11099' assessment_amount: type: string description: 'The total assessment amount fee for the report, set by the brands and paid to the brands.' example: '11099' authorization_amount: type: string description: The total fee amount for processing authorizations for the report example: '11099' chargeback_amount: type: string description: The total fee amount for processing disputes for the report. example: '11099' supplies_amount: type: string description: The total fee amount for paper supplies supplied by the principal or vendor example: '11099' device_amount: type: string description: The total fee amount for using devices for the report. example: '11099' discount_amount: type: string description: The total discount fee amount for the report. example: '11099' other_amount: type: string description: The total of any other amounts not included in the above amount fields. example: '11099' transaction_count: type: number description: The total number of items. example: 123 sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' passthrough: type: object properties: amount: type: string description: The total amount across one or more items. example: '120' merchant: type: object properties: name: type: string description: The full name of the payer. example: James Mason address: type: object properties: line_1: type: string description: First line of the address. maxLength: 50 line_2: type: string description: Second line of the address. maxLength: 50 line_3: type: string description: Third line of the address. maxLength: 50 city: type: string description: The city associated with the address. maxLength: 50 state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' maxLength: 50 postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: The country of the address. Countries are represented by the ISO-3166-1(alpha-2 code). maxLength: 2 example: US system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 50 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 50 example: MERCHANT XYZ INC. time_created_REPORT.monthly_fees.time_created: type: string description: The time the report was first created. status_REPORT.monthly_fees.status: type: string enum: - FINALIZED - ESTIMATED description: Indicated where the report is in its lifecycle. minLength: 1 maxLength: 50 example: FINALIZED amount_REPORT.monthly_fees.amount: type: string description: The total fee amount across all amounts for the report. example: '11099' currency_REPORT.monthly_fees.currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD interchange_amount_REPORT.monthly_fees.interchange_amount: type: string description: 'The total interchange amount fee for the report, set by the brands.' example: '11099' assessment_amount_REPORT.monthly_fees.assessment_amount: type: string description: 'The total assessment amount fee for the report, set by the brands and paid to the brands.' example: '11099' authorization_amount_REPORT.monthly_fees.authorization_amount: type: string description: The total fee amount for processing authorizations for the report example: '11099' chargeback_amount_REPORT.monthly_fees.chargeback_amount: type: string description: The total fee amount for processing disputes for the report. example: '11099' supplies_amount_REPORT.monthly_fees.supplies_amount: type: string description: The total fee amount for paper supplies supplied by the principal or vendor example: '11099' device_amount_REPORT.monthly_fees.device_amount: type: string description: The total fee amount for using devices for the report. example: '11099' discount_amount_REPORT.monthly_fees.discount_amount: type: string description: The total discount fee amount for the report. example: '11099' other_amount_REPORT.monthly_fees.other_amount: type: string description: The total of any other amounts not included in the above amount fields. example: '11099' transaction_count_REPORT.monthly_fees.transaction_count: type: number description: The total number of items. example: 123 amount_REPORT.monthly_fees.sales.amount: type: string description: The total amount across one or more items. example: '120' name_REPORT.monthly_fees.merchant.name: type: string description: The full name of the payer. example: James Mason line_1_REPORT.monthly_fees.merchant.address.line_1: type: string description: First line of the address. maxLength: 50 line_2_REPORT.monthly_fees.merchant.address.line_2: type: string description: Second line of the address. maxLength: 50 line_3_REPORT.monthly_fees.merchant.address.line_3: type: string description: Third line of the address. maxLength: 50 city_REPORT.monthly_fees.merchant.address.city: type: string description: The city associated with the address. maxLength: 50 state_REPORT.monthly_fees.merchant.address.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' maxLength: 50 postal_code_REPORT.monthly_fees.merchant.address.postal_code: type: string description: The postal code of the address. example: '90210' country_REPORT.monthly_fees.merchant.address.country: type: string description: The country of the address. Countries are represented by the ISO-3166-1(alpha-2 code). maxLength: 2 example: US name_REPORT.monthly_fees.system.name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 50 example: MERCHANT ABC INC dba_REPORT.monthly_fees.system.dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 50 example: MERCHANT XYZ INC. id_REPORT.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_REPORT.action.type_fees: type: string enum: - MONTHLY_FEES_LIST description: Indicates the specific action taken. example: MONTHLY_FEES_LIST time_created_REPORT.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_REPORT.action.result_code: type: string enum: - SUCCESS - DECLINE description: The result of the action executed. example: SUCCESS app_id_REPORT.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_REPORT.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app arn_SETTLEMENT_DISPUTES.transaction.payment_method.card.arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand_SETTLEMENT_DISPUTES.transaction.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA status_SETTLEMENT_DISPUTES.status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED stage_SETTLEMENT_DISPUTES.stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. minLength: 1 maxLength: 50 example: RETRIEVAL from_stage_time_created: type: string title: from_stage_time_created description: 'The start time to search for in a range, using stage_time_created value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_stage_time_created: type: string title: to_stage_time_created description: 'The end time to search for in a range, using stage_time_created value' format: date account_name_SETTLEMENT_DISPUTES.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Settlement_Reporting reference_SETTLEMENT_DISPUTES.transaction.order.reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 from_deposit_time_created: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_deposit_time_created: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date id_SETTLEMENT_DISPUTES.id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 deposit_id_SETTLEMENT_DISPUTES.deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 brand_reference_SETTLEMENT_DISPUTES.transaction.payment_method.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 authcode_SETTLEMENT_DISPUTES.transaction.payment_method.card.authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 reference_SETTLEMENT_DISPUTES.transaction.reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e number_first6_TRANSACTIONS.payment_method.card.number_first6: type: string description: The first 6 digits of the card number. minLength: 1 maxLength: 6 example: '424242' number_last4_TRANSACTIONS.payment_method.card.number_last4: type: string description: The last 4 digits of the card number. minLength: 1 maxLength: 4 example: '1234' settled_disputes_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED from_deposit_time_created: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_deposit_time_created: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date paging: type: object title: Paging properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC disputes: type: array description: A list of disputes items: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: 1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' transaction: type: object description: Information about the original Sale Transaction the Dispute relates to. properties: time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount: type: string description: The 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. example: 11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: card: type: object description: Data relating to the card payment method. properties: masked_number_first6last4: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits.' example: 123456xxxxx8960 arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DISPUTE_LIST description: Indicates the specific action taken. example: DISPUTE_LIST time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app merchant_id_SETTLEMENT_DISPUTES.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name_SETTLEMENT_DISPUTES.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id_SETTLEMENT_DISPUTES.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b settled_disputes_list_item: type: object properties: id: type: string description: Unique identifier for the Dispute on the platform. minLength: 1 maxLength: 50 example: DIS_SAND_abcd1236 status: type: string enum: - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: FUNDED stage: type: string enum: - RETRIEVAL - CHARGEBACK - REVERSAL - SECOND_CHARGEBACK - PRE_ARBITRATION - ARBITRATION - PRE_COMPLIANCE - COMPLIANCE - GOODFAITH description: | This field indicates the distinct step a dispute is at, within the dispute lifecycle. * `RETRIEVAL` - Request for proof that a transaction was valid. Merchant must supply documentation within a specific timeframe. No financial adjustments are performed however, if the timeframe expires before there is a response, the merchant can be held liable. * `CHARGEBACK` - The cardholder or issuing bank disputes a transaction and funds are returned to the issuer/cardholder. The merchant can accept or challenge the dispute by supplying documentation proving the transaction was valid. * `REVERSAL` - The issuer decides the chargeback submitted is invalid. If funds were taken from the merchant, those funds are returned. * `SECOND_CHARGEBACK` - This is a subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `PRE_ARBITRATION` - This is a further subsequent escalation of a chargeback wherein the issuer/cardholder continues to dispute the transaction after the merchant has responded to defend the case. * `ARBITRATION` - This is the final escalation stage where the card brand is asked to rule on the dispute. * `PRE_COMPLIANCE` - An initial compliance violation of the card processing rules that are defined by the relevant card association. * `COMPLIANCE` - This is the final compliance escalation stage created wherein the card brand is asked to rule on the dispute. * `GOODFAITH` - This is a request to accept liability for a case on a good faith basis, even though the final deadline for resolving the case has passed. minLength: 1 maxLength: 50 example: RETRIEVAL stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. example: DEP_128932Y328Y92 deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) example: USD system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: 1999' last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' transaction: type: object description: Information about the original Sale Transaction the Dispute relates to. properties: time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount: type: string description: The 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. example: 11099' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 1 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: card: type: object description: Data relating to the card payment method. properties: masked_number_first6last4: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits.' example: 123456xxxxx8960 arn: type: string description: ARN ot Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA authcode: type: string description: Code generated when the card is successfully authorized. maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 order: type: object properties: reference: type: string description: Merchant defined field to reference the order example: b636294sd5b6826hjdnde92 stage_time_created_SETTLEMENT_DISPUTES.stage_time_created: type: string description: Time the current Dispute stage was created. format: date-time example: '2021-02-22T10:24:43.999Z' funding_type_SETTLEMENT_DISPUTES.funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT deposit_time_created_SETTLEMENT_DISPUTES.deposit_time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-02-22T10:24:43.761Z' amount_SETTLEMENT_DISPUTES.amount: type: string description: | The amount that is being disputed. It is usually the same amount as the original transaction but in some cases if may be different. For example if there is a dispute about one item and not all items bought as part of the disputed transaction. In that case the disputed amount would be less than the amount of the original transaction. example: '11099' tid_SETTLEMENT_DISPUTES.system.tid: type: string description: Terminal Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 name_SETTLEMENT_DISPUTES.system.name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC dba_SETTLEMENT_DISPUTES.system.dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC reason_code_SETTLEMENT_DISPUTES.reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN description: A code indicating the reason for the dispute. minLength: 1 maxLength: 50 example: FRAUD reason_description_SETTLEMENT_DISPUTES.reason_description: type: string description: Textual explanation of the reason for the dispute. minLength: 1 maxLength: 500 time_to_respond_by_SETTLEMENT_DISPUTES.time_to_respond_by: type: string description: The time the merchant needs to respond to the dispute by. format: date-time example: '2025-02-22T10:24:43.761Z' result_SETTLEMENT_DISPUTES.result: type: string enum: - PENDING - FULFILLED - WON - LOST - ACCEPTED description: Indicates the result of the dispute minLength: 1 maxLength: 50 example: PENDING last_adjustment_amount_SETTLEMENT_DISPUTES.last_adjustment_amount: type: string description: The last amount the merchant has been financially impacted by this Dispute. example: 1999' last_adjustment_currency_SETTLEMENT_DISPUTES.last_adjustment_currency: type: string description: The currency of the last adjustment amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD last_adjustment_funding_SETTLEMENT_DISPUTES.last_adjustment_funding: type: string enum: - DEBIT - CREDIT - NONE description: Indicates if the total amount impacted is a Debit or Credit to merchant's bank account. example: DEBIT last_adjustment_time_created_SETTLEMENT_DISPUTES.last_adjustment_time_created: type: string description: Time the last adjustment was created. format: date-time example: '2021-02-22T10:24:43.761Z' time_created_SETTLEMENT_DISPUTES.transaction.time_created: type: string description: The time that the transaction related to the dispute was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' merchant_time_created_SETTLEMENT_DISPUTES.transaction.merchant_time_created: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' type_SETTLEMENT_DISPUTES.transaction.type: type: string enum: - SALE - REFUND description: | Describes 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. example: SALE amount_SETTLEMENT_DISPUTES.transaction.amount: type: string description: The 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. example: 11099' currency_SETTLEMENT_DISPUTES.transaction.currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD masked_number_first6last4_SETTLEMENT_DISPUTES.transaction.payment_method.card.masked_number_first6last4: type: string description: 'The masked card account number, showing the first 6 and the last 4 digits.' example: 123456xxxxx8960 id_SETTLEMENT_DISPUTES.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_SETTLEMENT_DISPUTES.action.type: type: string enum: - DISPUTE_LIST description: Indicates the specific action taken. example: DISPUTE_LIST time_created_SETTLEMENT_DISPUTES.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_SETTLEMENT_DISPUTES.action.result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id_SETTLEMENT_DISPUTES.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_SETTLEMENT_DISPUTES.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app type_SETTLEMENT_TRANSACTIONS.type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount_SETTLEMENT_TRANSACTIONS.amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' brand_SETTLEMENT_TRANSACTIONS.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA brand_reference_SETTLEMENT_TRANSACTIONS.payment_method.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 authcode_SETTLEMENT_TRANSACTIONS.payment_method.card.authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 reference_SETTLEMENT_TRANSACTIONS.reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e status_SETTLEMENT_TRANSACTIONS.status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' reference_SETTLEMENT_TRANSACTIONS.order.reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 account_id_SETTLEMENT_TRANSACTIONS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b deposit_status_SETTLEMENT_TRANSACTIONS.deposit_status: type: string enum: - FUNDED - IRREG - RESERVED - DELAYED - RELEASED description: | Indicates where a deposit is in its lifecycle. * `FUNDED` - Deposit Funded to bank account * `IRREG` - Deposit not funded by Global Payments * `RESERVED` - - Deposit on reserve. * `DELAYED` - Deposit delayed for funding. * `RELEASED` - Deposit released by Global Payments from a status of DELAYED minLength: 1 maxLength: 50 example: FUNDED arn_SETTLEMENT_TRANSACTIONS.payment_method.card.arn: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 deposit_id_SETTLEMENT_TRANSACTIONS.deposit_id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 from_batch_time_created: type: string description: | The start time to search for in a range, using the resource batch_time_created_reference value. format: date example: '2022-05-01' to_batch_time_created: type: string description: | The end time to search for in a range, using the resource batch_time_created_reference value. format: date example: '2022-05-01' from_time_created_reference: type: string description: | The start time to search for in a range, using the resource time_created_reference value. format: date example: '2022-05-01' to_time_created_reference: type: string description: | The end time to search for in a range, using the resource time_created_reference value. format: date example: '2022-05-01' mid_SETTLEMENT_TRANSACTIONS.system.mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid_SETTLEMENT_TRANSACTIONS.system.tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy_SETTLEMENT_TRANSACTIONS.system.hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 dba_SETTLEMENT_TRANSACTIONS.system.dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 charge_type_SETTLEMENT_TRANSACTIONS.fees.charge_type: type: string description: This is a code that indicates the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 total_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.total_amount_decimal: type: string description: The total fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 program_SETTLEMENT_TRANSACTIONS.fees.interchange.program: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 per_item_flat_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.interchange.per_item_flat_amount_decimal: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 per_item_calculated_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.interchange.per_item_calculated_amount_decimal: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 percentage_SETTLEMENT_TRANSACTIONS.fees.interchange.percentage: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 percentage_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.interchange.percentage_amount_decimal: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 total_rate_SETTLEMENT_TRANSACTIONS.fees.interchange.total_rate: type: string description: This is the total rate applied for interchange fees for this type of transaction minLength: 1 maxLength: 50 total_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.interchange.total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 rate_1_percentage_SETTLEMENT_TRANSACTIONS.fees.discount.rate_1_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 total_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.discount.total_amount_decimal: type: string description: The total discount amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 exchange_rate_SETTLEMENT_TRANSACTIONS.fees.exchange_rate: type: string description: The exchange rate used to convert the total fee amount in one currency to the currency of the merchant. minLength: 1 maxLength: 50 assessment_total_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.assessment_total_amount_decimal: type: string description: The total assessment fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 description_SETTLEMENT_TRANSACTIONS.fees.assessment_1.description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage_SETTLEMENT_TRANSACTIONS.fees.assessment_1.percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal_SETTLEMENT_TRANSACTIONS.fees.assessment_1.amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 dcc_percentage_SETTLEMENT_TRANSACTIONS.fees.markup.dcc_percentage: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 multicurrency_percentage_SETTLEMENT_TRANSACTIONS.fees.markup.multicurrency_percentage: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 fixed_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.fixed_amount_decimal: type: string description: The fixed amount that is charged per transaction. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 tax_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.tax_amount_decimal: type: string description: Tax on merchant fees. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 settlement_code_SETTLEMENT_TRANSACTIONS.payment_method.card.settlement_code: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 settlement_transaction_reference_SETTLEMENT_TRANSACTIONS.settlement_transaction_reference: type: string description: A unique identifier that identifies the transaction when it is funded or being funded.It is only created if Global Payments funds the transaction and is different to the transaction id. merchant_id_SETTLEMENT_TRANSACTIONS.merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name_SETTLEMENT_TRANSACTIONS.merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES merchant_amount_SETTLEMENT_TRANSACTIONS.merchant_amount: type: string description: The amount of the transaction in the merchant's currency that is funded to the merchant. minLength: 1 maxLength: 50 example: 4706 charge_type_region_SETTLEMENT_TRANSACTIONS.fees.charge_type_region: type: string description: This is the region the card used for the transaction was issued in and geographically associated with cardholders region minLength: 1 maxLength: 50 transactions_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: DAA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_deposit_time_created: type: string title: from_deposit_time_created description: 'The start time to search for in a range, using the deposit time value. Note that if this is not specified, it will be defaulted to one month prior to the current date' format: date to_deposit_time_created: type: string title: to_deposit_time_created description: 'The end time to search for in a range, using the deposit time value.' format: date paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transactions: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null settlement_transaction_reference: type: string description: A unique identifier that identifies the transaction when it is funded or being funded.It is only created if Global Payments funds the transaction and is different to the transaction id. time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD cashback_amount: type: string description: The amount of cash requested at the point of sale that the card holder recieves. This amount can be charged independently or it is addded to the cost of the items purchased. minLength: 1 maxLength: 50 example: '11099' merchant_amount: type: string description: The amount of the transaction in the merchant's currency that is funded to the merchant. minLength: 1 maxLength: 50 example: 4706 merchant_currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD discount_amount: type: string description: The discount amount of the transaction in the currency the transaction was captured in. minLength: 1 maxLength: 50 merchant_discount_amount: type: string description: The discount amount of the transaction in the currency the merchant gets funded in. minLength: 1 maxLength: 50 tax_in_merchant_amount: type: string enum: - true - false description: | Indicates if a tax amount was included in the setttled merchant amount * `TRUE` - The tax amount was added to the settled merchant amount * `FALSE` - The tax amount was not added to the settled merchant amount minLength: 1 maxLength: 50 example: true tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 merchant_tax_amount: type: string description: The total amount of tax charges associated with this transaction in the currency the Merchant gets taxed in reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e time_created_reference: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. deposit_id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null deposit_time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' deposit_status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED deposit_amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: 500 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 batch_time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 payment_method: type: object properties: entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 settlement_code: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT arn: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 fees: type: object description: A breakdown of the fees associated with the transaction. properties: total_amount_decimal: type: string description: The total fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 other_fees_amount_decimal: type: string description: 'The total amount of other fees for this transaction that don''t fit into assessment, interchange, discount or markup. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny.' minLength: 1 maxLength: 50 fixed_amount_decimal: type: string description: The fixed amount that is charged per transaction. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 tax_amount_decimal: type: string description: Tax on merchant fees. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 assessment_total_amount_decimal: type: string description: The total assessment fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 charge_type: type: string description: This is a code that indicates the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_description: type: string description: This is a description that explains the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_region: type: string description: This is the region the card used for the transaction was issued in and geographically associated with cardholders region minLength: 1 maxLength: 50 exchange_rate: type: string description: The exchange rate used to convert the total fee amount in one currency to the currency of the merchant. minLength: 1 maxLength: 50 interchange: type: object description: a breakdown of the interchange fees associated with the transaction. properties: total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 total_rate: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 program: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 percentage_amount_decimal: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 per_item_flat_amount_decimal: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 per_item_calculated_amount_decimal: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 discount: type: object description: a breakdown of the interchange fees associated with the transaction. properties: rate_1_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 rate_2_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_1: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_2: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_3: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_4: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_5: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 mark_up: type: object description: A list of percentage mark ups on any currency conversion services for this transaction. properties: dcc_percentage: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 multicurrency_percentage: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSACTION_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: TRANSACTION_LIST time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transactions_list_item: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null settlement_transaction_reference: type: string description: A unique identifier that identifies the transaction when it is funded or being funded.It is only created if Global Payments funds the transaction and is different to the transaction id. time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD cashback_amount: type: string description: The amount of cash requested at the point of sale that the card holder recieves. This amount can be charged independently or it is addded to the cost of the items purchased. minLength: 1 maxLength: 50 example: '11099' merchant_amount: type: string description: The amount of the transaction in the merchant's currency that is funded to the merchant. minLength: 1 maxLength: 50 example: 4706 merchant_currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD discount_amount: type: string description: The discount amount of the transaction in the currency the transaction was captured in. minLength: 1 maxLength: 50 merchant_discount_amount: type: string description: The discount amount of the transaction in the currency the merchant gets funded in. minLength: 1 maxLength: 50 tax_in_merchant_amount: type: string enum: - true - false description: | Indicates if a tax amount was included in the setttled merchant amount * `TRUE` - The tax amount was added to the settled merchant amount * `FALSE` - The tax amount was not added to the settled merchant amount minLength: 1 maxLength: 50 example: true tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 merchant_tax_amount: type: string description: The total amount of tax charges associated with this transaction in the currency the Merchant gets taxed in reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e time_created_reference: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. deposit_id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null deposit_time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' deposit_status: type: string enum: - FUNDED description: | Indicates where a transaction is in its lifecycle. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. minLength: 1 maxLength: 50 example: FUNDED deposit_amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: 500 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 batch_time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 payment_method: type: object properties: entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 settlement_code: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT arn: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 fees: type: object description: A breakdown of the fees associated with the transaction. properties: total_amount_decimal: type: string description: The total fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 other_fees_amount_decimal: type: string description: 'The total amount of other fees for this transaction that don''t fit into assessment, interchange, discount or markup. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny.' minLength: 1 maxLength: 50 fixed_amount_decimal: type: string description: The fixed amount that is charged per transaction. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 tax_amount_decimal: type: string description: Tax on merchant fees. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 assessment_total_amount_decimal: type: string description: The total assessment fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 charge_type: type: string description: This is a code that indicates the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_description: type: string description: This is a description that explains the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_region: type: string description: This is the region the card used for the transaction was issued in and geographically associated with cardholders region minLength: 1 maxLength: 50 exchange_rate: type: string description: The exchange rate used to convert the total fee amount in one currency to the currency of the merchant. minLength: 1 maxLength: 50 interchange: type: object description: a breakdown of the interchange fees associated with the transaction. properties: total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 total_rate: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 program: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 percentage_amount_decimal: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 per_item_flat_amount_decimal: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 per_item_calculated_amount_decimal: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 discount: type: object description: a breakdown of the interchange fees associated with the transaction. properties: rate_1_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 rate_2_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_1: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_2: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_3: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_4: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_5: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 mark_up: type: object description: A list of percentage mark ups on any currency conversion services for this transaction. properties: dcc_percentage: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 multicurrency_percentage: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 id_SETTLEMENT_TRANSACTIONS.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. This field is currently empty and is present for forward compatibility. minLength: 1 maxLength: 50 example: null time_created_SETTLEMENT_TRANSACTIONS.time_created: type: string description: The time indicating when the transaction was created. This represents the day of the transaction and will not identically match the real time transaction time created value example: '2026-05-03T21:23:39.718Z' currency_SETTLEMENT_TRANSACTIONS.currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD cashback_amount_SETTLEMENT_TRANSACTIONS.cashback_amount: type: string description: The amount of cash requested at the point of sale that the card holder recieves. This amount can be charged independently or it is addded to the cost of the items purchased. minLength: 1 maxLength: 50 example: '11099' discount_amount_SETTLEMENT_TRANSACTIONS.discount_amount: type: string description: The discount amount of the transaction in the currency the transaction was captured in. minLength: 1 maxLength: 50 merchant_discount_amount_SETTLEMENT_TRANSACTIONS.merchant_discount_amount: type: string description: The discount amount of the transaction in the currency the merchant gets funded in. minLength: 1 maxLength: 50 tax_in_merchant_amount_SETTLEMENT_TRANSACTIONS.tax_in_merchant_amount: type: string enum: - true - false description: | Indicates if a tax amount was included in the setttled merchant amount * `TRUE` - The tax amount was added to the settled merchant amount * `FALSE` - The tax amount was not added to the settled merchant amount minLength: 1 maxLength: 50 example: true tax_amount_SETTLEMENT_TRANSACTIONS.tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 merchant_tax_amount_SETTLEMENT_TRANSACTIONS.merchant_tax_amount: type: string description: The total amount of tax charges associated with this transaction in the currency the Merchant gets taxed in time_created_reference_SETTLEMENT_TRANSACTIONS.time_created_reference: type: string description: Merchant's time indicating when the transaction was first created. Value is in ISO-8601 format. deposit_amount_SETTLEMENT_TRANSACTIONS.deposit_amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: 500 batch_id_SETTLEMENT_TRANSACTIONS.batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 payment_method_list_response: type: object properties: entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 settlement_code: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT arn: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 entry_mode_SETTLEMENT_TRANSACTIONS.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card_list_response: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 settlement_code: type: string description: This is a code that identifies a specific card type and description that is returned when the transaction is funded or being funded. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT arn: type: string description: ARN or Acquirer Reference Number is a Global Payments created reference sent to the card brands to identify transactions. when a transfer of funds is initiated between Global Payments and the card brands. minLength: 1 maxLength: 50 masked_number_first6last4_SETTLEMENT_TRANSACTIONS.payment_method.card.masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 funding_SETTLEMENT_TRANSACTIONS.payment_method.card.funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT transaction.fees: type: object description: A breakdown of the fees associated with the transaction. properties: total_amount_decimal: type: string description: The total fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 other_fees_amount_decimal: type: string description: 'The total amount of other fees for this transaction that don''t fit into assessment, interchange, discount or markup. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny.' minLength: 1 maxLength: 50 fixed_amount_decimal: type: string description: The fixed amount that is charged per transaction. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 tax_amount_decimal: type: string description: Tax on merchant fees. Applicable for BNPL transactions only. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. example: 129 assessment_total_amount_decimal: type: string description: The total assessment fee amount for this transaction. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny. minLength: 1 maxLength: 50 charge_type: type: string description: This is a code that indicates the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_description: type: string description: This is a description that explains the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 charge_type_region: type: string description: This is the region the card used for the transaction was issued in and geographically associated with cardholders region minLength: 1 maxLength: 50 exchange_rate: type: string description: The exchange rate used to convert the total fee amount in one currency to the currency of the merchant. minLength: 1 maxLength: 50 interchange: type: object description: a breakdown of the interchange fees associated with the transaction. properties: total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 total_rate: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 program: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 percentage_amount_decimal: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 per_item_flat_amount_decimal: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 per_item_calculated_amount_decimal: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 discount: type: object description: a breakdown of the interchange fees associated with the transaction. properties: rate_1_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 rate_2_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_1: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_2: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_3: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_4: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 assessment_5: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 mark_up: type: object description: A list of percentage mark ups on any currency conversion services for this transaction. properties: dcc_percentage: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 multicurrency_percentage: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 other_fees_amount_decimal_SETTLEMENT_TRANSACTIONS.fees.other_fees_amount_decimal: type: string description: 'The total amount of other fees for this transaction that don''t fit into assessment, interchange, discount or markup. The value can contain precision lower than the lowest denomination of the currency. For example 1298.67 USD means $12.98 and 0.67 of a penny.' minLength: 1 maxLength: 50 charge_type_description_SETTLEMENT_TRANSACTIONS.fees.charge_type_description: type: string description: This is a description that explains the Global Payments charge that was applied to this transaction. minLength: 1 maxLength: 50 transaction.fees.interchange: type: object description: a breakdown of the interchange fees associated with the transaction. properties: total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 total_rate: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 program: type: string description: The name of the interchange program applied to the transaction. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount charged as interchange for this transaction. minLength: 1 maxLength: 50 percentage_amount_decimal: type: string description: The interchange amount derived from a percentage of the transaction amount. It is represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 per_item_flat_amount_decimal: type: string description: The amount charged based on the number of items bought. minLength: 1 maxLength: 50 per_item_calculated_amount_decimal: type: string description: 'The amount that is charged based on one or many aspects of the transactions. These aspects can be the type of card used (debit, credit), the brand (Visa, Mastercard, etc,), how the card details were obtained,the channel (CP vs.CNP).' minLength: 1 maxLength: 50 transaction.fees.discount: type: object description: a breakdown of the interchange fees associated with the transaction. properties: rate_1_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 rate_2_percentage: type: string description: The discount percentage charged based on the rate number. minLength: 1 maxLength: 50 total_amount_decimal: type: string description: The total interchange amount represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 transaction.fees.assessment_N: type: object description: a breakdown of a specific type of assessment charge for the transaction. There can be more than one assessment charge associated with a transaction. properties: description: type: string description: The description for this assessment charge. minLength: 1 maxLength: 50 percentage: type: string description: The percentage of the transaction amount used to calculate this assessment charge. minLength: 1 maxLength: 50 amount_decimal: type: string description: The amount for this assessment charge represented as a decimal of the lowest denomination of the currency.e.g. 1050.4 is $10.50 plus 0.4 of a cent. minLength: 1 maxLength: 50 transaction.fees.mark_up: type: object description: A list of percentage mark ups on any currency conversion services for this transaction. properties: dcc_percentage: type: string description: 'The markup percentage charged for DCC, Dynamic Currency Conversion.' minLength: 1 maxLength: 50 multicurrency_percentage: type: string description: The markup percentage charged for Multi-Currency processing. minLength: 1 maxLength: 50 system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 name_SETTLEMENT_TRANSACTIONS.system.name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSACTION_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: TRANSACTION_LIST time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: 'The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had erred.' minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} id_SETTLEMENT_TRANSACTIONS.action.id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_SETTLEMENT_TRANSACTIONS.action.type: type: string enum: - TRANSACTION_LIST description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: TRANSACTION_LIST time_created_SETTLEMENT_TRANSACTIONS.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' id_DEPOSITS.id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 status_DEPOSITS.status: type: string description: | Indicates where a resource object is in its life-cycle. *`FUNDED` - Deposit Funded to bank account *`IRREG` - Deposit not funded by Global Payments *`RESERVED `- Deposit on reserve. *`DELAYED` - Deposit delayed for funding. *`RELEASED` - Deposit released by Global Payments from a status of DELAYED example: FUNDED amount_DEPOSITS.amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: '500' masked_account_number_last4_DEPOSITS.bank_transfer.masked_account_number_last4: type: string description: Data relating to a bank transfer directly to or from the Payer's bank account. minLength: 1 maxLength: 50 deposits_list: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: Settlement_Reporting filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC deposits: type: array description: A list of Deposit records. items: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-05-03' status: type: string description: | Indicates where a resource object is in its life-cycle. *`FUNDED` - Deposit Funded to bank account *`IRREG` - Deposit not funded by Global Payments *`RESERVED `- Deposit on reserve. *`DELAYED` - Deposit delayed for funding. *`RELEASED` - Deposit released by Global Payments from a status of DELAYED example: FUNDED funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: '500' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD aggregation_model: type: string description: 'Indicates how a merchant''s payment processing activity across Sales, Refunds, Disputes and Fees is structured for a Deposit. Activity can be aggregated into one daily amount or all activity separately funded via different deposits.' example: 4-No Summary bank_transfer: type: object properties: masked_account_number_last4: type: string description: Data relating to a bank transfer directly to or from the Payer's bank account. minLength: 1 maxLength: 50 bank: type: object properties: code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' disputes: type: object properties: chargebacks: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' reversals: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' discounts: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' fees: type: object properties: amount: type: string description: The total amount across one or more items. example: '120' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DEPOSIT_SINGLE - DEPOSIT_LIST description: Indicates the specific action taken. example: DEPOSIT_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app account_id_DEPOSITS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88b time_created_DEPOSITS.time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-05-03' aggregation_model_DEPOSITS.aggregation_model: type: string description: 'Indicates how a merchant''s payment processing activity across Sales, Refunds, Disputes and Fees is structured for a Deposit. Activity can be aggregated into one daily amount or all activity separately funded via different deposits.' example: 4-No Summary code_DEPOSITS.bank_transfer.bank.code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' name_DEPOSITS.system.name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. amount_DEPOSITS.sales.amount: type: string description: The total amount across one or more items example: '120' type_DEPOSITS.action.type: type: string enum: - DEPOSIT_SINGLE - DEPOSIT_LIST description: Indicates the specific action taken. example: DEPOSIT_SINGLE result_code_DEPOSITS.action.result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS deposits_single: type: object properties: id: type: string description: A unique identifier for the object created by Global Payments. The first 3 characters identifies the resource an id relates to. minLength: 1 maxLength: 50 example: DEP_2342423423 time_created: type: string description: The settlement system date that the deposit was initiated in ISO-8601 format example: '2021-05-03' status: type: string description: | Indicates where a resource object is in its life-cycle. *`FUNDED` - Deposit Funded to bank account *`IRREG` - Deposit not funded by Global Payments *`RESERVED `- Deposit on reserve. *`DELAYED` - Deposit delayed for funding. *`RELEASED` - Deposit released by Global Payments from a status of DELAYED example: FUNDED funding_type: type: string description: Indicates if the amount relates to a Debit or Credit to the merchant's bank account. example: DEBIT amount: type: string description: 'The amount that should be credited or debited to a bank account, for a deposit. It is always represented in the lowest denomination of the related currency.' example: '500' currency: type: string description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD aggregation_model: type: string description: 'Indicates how a merchant''s payment processing activity across Sales, Refunds, Disputes and Fees is structured for a Deposit. Activity can be aggregated into one daily amount or all activity separately funded via different deposits.' example: 4-No Summary bank_transfer: type: object properties: masked_account_number_last4: type: string description: Data relating to a bank transfer directly to or from the Payer's bank account. minLength: 1 maxLength: 50 bank: type: object properties: code: type: string description: The local identifier code for the bank. maxLength: 50 example: '124002971' system: type: object properties: mid: type: string description: Merchant Identifier from Global Payments system for some features. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate hierarchical structure. minLength: 1 maxLength: 50 name: type: string description: The merchant name that is associated with the merchant. minLength: 1 maxLength: 100 example: MERCHANT ABC INC. dba: type: string description: The alternate name the merchant may be known as. minLength: 1 maxLength: 100 example: MERCHANT XYZ INC sales: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items example: '120' refunds: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' disputes: type: object description: Data relating to the dispute totals across chargebacks and chargeback reversals. properties: chargebacks: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' reversals: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' discounts: type: object properties: count: type: number description: The total number of items. example: 123 amount: type: string description: The total amount across one or more items. example: '120' fees: type: object description: The total fees amount in the currency of the Deposit. properties: amount: type: string description: The total amount across one or more items. example: '120' action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - DEPOSIT_SINGLE - DEPOSIT_LIST description: Indicates the specific action taken. example: DEPOSIT_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS description: The result of the action executed. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. ``` ## Transactions Source: https://developer.globalpayments.com/api/transactions.md # Transactions ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Transactions description: 'Transactions represent the transfer, or the attempt to transfer funds between the Payer and the Merchant using a specific payment method.' contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1.5 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /transactions: post: tags: - Create a Sale or Refund summary: | Create a Sale or Refund transaction that attempts to transfer funds between the Payer and the Merchant using a specific Payment Method. description: | 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. operationId: createSaleOrRefundTransaction parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: description: '' required: true content: application/json: schema: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US capture_mode: type: string enum: - AUTO - LATER - MULTIPLE - LATER_FINAL description: | Indicates 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. minLength: 1 maxLength: 50 default: AUTO example: AUTO total_capture_count: type: number description: Indicates the total or expected total of captures that will executed against a transaction that can be captured multiple times. authorization_mode: type: string enum: - PARTIAL - DEFERRED description: | 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 minLength: 1 maxLength: 50 example: PARTIAL deferred_time_created: type: string description: This field should be sent on all Deferred Authorizations and reflect the time the transaction was created in the POS application. format: date-time example: '2026-05-03T21:23:39.718Z' amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' cashback_amount: type: string description: The amount of the transaction that relates to cashback. minLength: 1 maxLength: 50 example: '11099' surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '11099' surcharge_type: type: string enum: - DEBIT - CREDIT description: This indicates whether the surcharge is a DEBIT or CREDIT to the merchant minLength: 1 maxLength: 50 example: DEBIT convenience_amount: type: string description: The amount that reflects the charge the merchant applied to the transaction for availing of a more convenient purchase. minLength: 1 maxLength: 50 example: '11099' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e description: type: string description: Merchant defined description for the transaction. minLength: 1 maxLength: 50 example: SKU#BLK-MED-G123-GUC language: type: string description: Indicates 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) minLength: 1 maxLength: 50 example: fr_CA check_for_duplicate: type: string enum: - 'YES' - 'NO' description: This flag is set by the merchant to indicate if duplicate checking on this transaction can be skipped minLength: 1 maxLength: 50 default: 'NO' example: 'NO' ip_address: type: string description: Indicates the source IP Address of the system used to process the transaction with Global Payments. minLength: 1 maxLength: 50 site_reference: type: string description: A merchant defined reference for the location that created the transaction. minLength: 1 maxLength: 50 user_reference: type: string description: The 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. minLength: 1 maxLength: 50 payer_reference: type: string description: 'The 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.' minLength: 1 maxLength: 50 merchant_category: type: string enum: - HOTEL - AIRLINE - RETAIL - TOP_UP - PLAYER - CD_KEY - DEBT_REPAYMENT - HEALTHCARE - ACCOUNT_FUNDING_TRANSACTIONS - BILL_PAY - OTHER - GAMING description: Indicates what industry the merchant belongs to. minLength: 1 maxLength: 50 default: OTHER example: OTHER merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 merchant_benefits_reference: type: string description: 'This 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.' example: '98098' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 description: type: string description: The merchant's description of the order the transaction is associated with.. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 amount_label: type: string description: A label to associate with the amount. This is typically a currency code or symbol. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount of the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 item_quantity: type: number description: The total number of items being purchased across all items. insurance_offered: type: string enum: - 'YES' - 'NO' description: Indicates where insurance was offered with the order. minLength: 1 maxLength: 50 example: 'NO' insurance_amount: type: string description: The total amount of the insurance being with the order. minLength: 1 maxLength: 50 handling_amount: type: string description: The total amount incurred for handling the order. minLength: 1 maxLength: 50 tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 tax_amount_label: type: string description: A label to associate with the tax amount. This is typically a currency code or symbol. minLength: 1 maxLength: 50 shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' shipping_discount: type: string description: The total shipping discount amount incurred for the order. minLength: 1 maxLength: 50 items: type: array items: type: object properties: total_amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 label: type: string description: A label associated with the items being purchased. minLength: 1 maxLength: 50 category: type: string description: Indicates the category if item being purchased minLength: 1 maxLength: 50 amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 unit_amount: type: string description: The price of a single specific item being purchased. minLength: 1 maxLength: 50 unit_currency: type: string description: The currency of the price of a single specific item being purchased. minLength: 1 maxLength: 50 tax_amount: type: string description: The tax amount associated with the items being purchased. minLength: 1 maxLength: 50 shipping_amount: type: string description: The shipping amount associated with the items being purchased. minLength: 1 maxLength: 50 shipping_discount: type: string description: The shipping discount amount with the items being purchased minLength: 1 maxLength: 50 url: type: string description: The url of the item being purchased. tax_id_reference: type: string description: The tax identification number of the merchant that reported the alternate tax amount. minLength: 1 maxLength: 50 funding: type: string enum: - CREDIT description: This field indicates the line item amount is a credit (negative amount) This is a Level 3 Transaction specific indicator minLength: 1 maxLength: 50 shipping_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: This is the country of the shipping addressThe country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US supplementary_data: type: array items: type: object properties: type: type: string enum: - PRM - VISA_DIRECT_AFT description: The type of supplementary data to be submitted minLength: 1 maxLength: 50 example: PRM fields: type: array description: Array of additional data to support the type of supplementary data provided items: type: string example: - 'merchantName:Adidas.com;mcc:1234;failedCardAttempts:2;productInformation:02;cart:name1' - item_name1 - quantity1 - amount1 - desc1 - item_name2 - quantity2 - amount2 - desc2… service_address: type: object properties: city: type: string description: 'The city where the cardholder received the services, only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: atlanta state: type: string description: 'The state or region where the cardholder received the services, only applicable if it is different from the merchants business location. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: GA country: type: string description: 'The country where the cardholder recieved the services. For example, if the transaction occured in Canada it must be set to CA.The country in ISO-3166-1(alpha-2 code) format. Only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: US postal_code: type: string description: 'The postal code where the cardholder received the services, only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: '12345' alternate_charge: type: object properties: type: type: string enum: - GOODS_AND_SERVICES_TAX - ROOM_TAX - AIRPORT_TAX - FOOD - BEVERAGE - FOOD_OR_BEVERAGE - BAR - LODGING - RESTAURANT_OR_ROOM_SERVICE - CATERING_CHARGES - BAR_OR_MINI_BAR - PHONE - INTERNET_SERVICE - MOVIES_OR_PAY_PER_VIEW - LAUNDRY_OR_DRY_CLEANING - BARBER_OR_BEAUTY_SALON - HEALTH_AND_FITNESS - GIFT_SHOP - PRO_SHOP - PARKING - PET_FEES - TOURS - EQUIPMENT_RENTAL - BUSINESS_CENTER - CONVENTION_FEES - MEETING_OR_CONFERENCE_CHARGES - NO_SHOW_CHARGE - EXPRESS_SERVICE_CHARGE - CHARGES_ADDED_AFTER_CHECK_OUT_OR_DEPARTURE - MISC_CHARGES_OR_FEES - MISCELLANEOUS_TAX - REWARD_PROGRAM_TRANSACTION - SURCHARGE - FREIGHT_OR_SHIPPING_OR_HANDLING - SALES_TAX - VALUE_ADDED_TAX - TIP_GRATUITY - AUTO_RENTAL_ADJUSTMENT description: 'The breakdown of charges specific to a particular market, region, or transaction type.' minLength: 1 maxLength: 50 amount: type: string description: The value of any additional amount applied for a specific amount type. Applied for AMEX only. minLength: 1 maxLength: 50 funding: type: string enum: - CREDIT - DEBIT description: | "> Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. minLength: 1 maxLength: 50 discounts: type: object properties: total_amount: type: string description: The total transaction discount amount. minLength: 1 maxLength: 50 name: type: string description: The name of the discount applied to the transaction.This field is used for reporting. minLength: 1 maxLength: 50 amount: type: string description: The dollar amount of discount applied to a transaction. Corresponds with total_amount. minLength: 1 maxLength: 50 percentage: type: string description: The discount percentage applied to a transaction. Corresponds with transDiscountName. This does not impact transaction functionality. It is used for reporting purposes. minLength: 1 maxLength: 50 priority_order: type: string description: Indicates the priority order in which discounts are applied at both the order and product levels. minLength: 1 maxLength: 50 usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates if the discount can be stacked with other discounts. minLength: 1 maxLength: 50 currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER stored_credential: type: object properties: contract_reference: type: string description: This is a Merchant defined reference used to identify the recurring transaction. This is required in Mexico and represents the agreement id between the merchant and the cardholder for a specific subscription or recurring charge. model: type: string enum: - UNSCHEDULED - RECURRING - SUBSCRIPTION - INSTALLMENT - PARTIAL_SHIPMENT - THIRD_PARTY - ISSUER_INSTALMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions. * `UNSCHEDULED` - the transaction is ad hoc or unscheduled. For example a payer visiting a merchant to make purchase using the payment method stored with the merchant. * `RECURRING` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. * `SUBSCRIPTION` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. The amount taken is based on the usage by the payer of the good or service. for example a monthly mobile phone bill. * `INSTALLMENT` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions and where the amount is known and agreed in advanced. For example the payment in full of a good in fixed installments over a defined period of time. * `PARTIAL_SHIPMENT` - the transaction is initiated by the merchant to capture payment for a portion of the order that is shipped or fulfilled. Multiple transactions may occur against the same original authorization as goods or services are delivered in parts. * `THIRD_PARTY_INSTALLMENT` - The transaction is initiated by the merchant as part of an installment payment plan administered by a third party provider. * `ISSUER_INSTALLMENT` - The transaction is initiated by the merchant for a payment that has been converted into an installment plan by the card issuer. The merchant processes transactions according to installment terms defined by the issuer. minLength: 1 maxLength: 50 example: RECURRING reason: type: string enum: - INCREMENTAL - RESUBMISSION - REAUTHORIZATION - DELAYED - NO_SHOW description: The reason stored credentials are being used to to create a transaction. minLength: 1 maxLength: 50 example: INCREMENTAL sequence: type: string enum: - FIRST - SUBSEQUENT - LAST description: 'Indicates the order of this transaction in the sequence of a planned, repeating transaction processing model.' minLength: 1 maxLength: 50 example: SUBSEQUENT notifications: type: object properties: return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain status events that occur on the platform. challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. decoupled_challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication when the authentication is decoupled and separate to the purchase. payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ON_SUCCESS - ALWAYS description: Indicates whether to store the payer as part of a transaction. example: ON_SUCCESS email: type: string description: The email address of the payer. minLength: 1 maxLength: 50 language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name: type: string description: The first name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE last_name: type: string description: The last name of the owner of the payment method minLength: 1 maxLength: 50 example: DOE name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS payer_relationship_mode: type: string enum: - USE_PAYER_REFERENCE description: Used to Specify whether to store the Tokenized card against the payer reference provided by the integrator minLength: 1 maxLength: 50 example: USE_PAYER_REFERENCE usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - When creating the payment method token, this indicates it is temporary and will be removed once a transaction is executed or after a short period of time * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: SINGLE program_type: type: string enum: - WALLET_TRANSFER - ACCOUNT_TO_ACCOUNT - DIRECT_TRANSFER - CONSUMER_BILL_PAYMENT description: This Indicates the Program type for the Bill payment example: WALLET_TRANSFER encryption: type: object properties: method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII authentication: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE card: type: object properties: number: type: string description: The card number used to authorize the transaction. Also known as PAN (Primary Account Number). minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 track_number: type: string description: '"The number that identifies the track data type. This field is required if the track data is encrypted."' minLength: 1 maxLength: 1 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 chip_condition: type: string enum: - PREV_SUCCESS - PREV_FAILED - NON_CHIP_TRANSACTION - UNKNOWN description: | Indicates if a fallback mechanism was used to obtain the card information when EMV/chip did not work as expected. * `PREV_SUCCESS` - indicates the previous transaction with this card was a success. * `PREV_FAILED` - indicates the previous transaction with this card failed. * `NON_CHIP_TRANSACTION` - indicates this was not a chip transaction. * `UNKNOWN` - indicates the reason is unknown. minLength: 1 maxLength: 50 example: PREV_SUCCESS pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 pin_key_serial_number: type: string description: The key serial number associated with the pin provided. minLength: 1 maxLength: 50 account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 voucher_number: type: string description: The voucher number associated with the Electronic Voucher card example: '123456789012345' voucher_code: type: string description: The voucher code associated with the Electronic Voucher card example: '1234' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 network_token: type: string description: The network token provided by the brands as a more secure alternative to the card number. example: '4895370019060711' network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' swipe_reason: type: string enum: - TERMINAL_CONNECTION_ERROR - CARD_COMPATIBILITY_ERROR description: | The condition that caused the chip or POS reader to fail. When this happens, the POS device offers a fallback option and provides the fallback condition. * `TERMINAL_CONNECTION_ERROR` - Failure due to connection issues.The ICC and terminal could not exchange EMV data with each other to complete a flow. * `CARD_COMPATIBILITY_ERROR` - Failure due to compatibiliyt issues.The ICC and terminal do not share a common AID that would have allowed a transaction to happen. example: TERMINAL_CONNECTION_ERROR payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' number_reference_identifier: type: string description: The PAN reference identifier for the payment account of the cardholder. Available for Visa and Discover transactions. minLength: 1 maxLength: 50 track_emulated: type: string description: The data from the magnetic stripe. This may include track 1 and/or track 2. Emulated Track Data can be generated by entering the card details manually using the emulated key board. decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' consent: type: object title: consent properties: id: type: string description: A unique identifier that is used to identify and reference an instance of consent. It is generated by Global Payments to identify the consent details used with this transaction example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA cvv: type: string description: The numeric value printed on the physical card. minLength: 1 maxLength: 50 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_token: type: object title: payment_method.digital_wallet.payment_token_req properties: data: type: string description: Digital Wallet provider defined data minLength: 1 maxLength: 50 dpa_reference: type: string description: Data Processing Agreement (DPA) Identifier provided during onboarding. Registered identifier for the DPA accessing the service. minLength: 1 maxLength: 50 example: e4ff70d9-a345-f0cc-9e06-196ac1bb6801 data_type_indicator: type: string enum: - FULL - PAYMENT - NON_PAYMENT - NONE description: | Identifies the type of encrypted payload to be returned. Possible values are: * FULL - Includes everything: all PCI & PII data (card/token, billing, shipping, consumer); supported by Mastercard, Visa, Amex * PAYMENT - Same as FULL; supported by Mastercard, Visa, Amex * NON_PAYMENT - Includes only PII data (billing, shipping, consumer); supported by Mastercard, Visa * NONE - Returns empty payload; supported by Mastercard, Visa minLength: 1 maxLength: 50 example: FULL payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED decrypt: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the decrypt of digital wallet to be used with this transaction. minLength: 1 maxLength: 50 example: DEC_6a061b51-6e7a-4200-9d8c-01be5e26a5bb brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_payer_status: type: string enum: - REGISTERED description: 'Indicates if the user is registered. For use with Discover, CUP, JCB and Diners only. Mandatory to be sent if the user is registered with the merchant' apm: type: object properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET countries: type: array description: The countries that you want to allow payments from in ISO-3166-1(alpha-2 code) format. items: type: string brand: type: string enum: - ALIPAY - ALIPAYHK - WECHAT description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 payment_code_initiator: type: string enum: - PAYER - MERCHANT description: | Indicates who initiated the payment method code to execute the transaction. * `PAYER` - The consumer who is paying the merchant. * `MERCHANT` - The business who is providing goods or services to the payer. minLength: 1 maxLength: 50 example: PAYER payment_code: type: string description: The payment code generated by the initiator to execute the transaction. minLength: 1 maxLength: 50 seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_holder_type: type: string enum: - PERSONAL - BUSINESS - PAYROLL description: Indicates the category of the bank account example: PERSONAL check_reference: type: string description: The number or reference for the check. sec_code: type: string enum: - CCD - POP - PPD - TEL - WEB description: | Indicates how the transaction was authorized by the merchant. * CCD - Cash Concentration or Disbursement - Can be either a credit or debit application where funds are wither distributed or consolidated between corporate entities. * POP - Point of Sale Entry - Point of sale debit applications non-shared (POS) environment. These transactions are most often initiated by the consumer via a plastic access card. This is only support for normal ACH transactions * PPD - Prearranged Payment and Deposits - used to credit or debit a consumer account. Popularity used for payroll direct deposits and pre-authorized bill payments. * TEL - Telephone-Initiated Entry - Used for the origination of a single entry debit transaction to a consumer's account pursuant to a verbal authorization obtained from the consumer via the telephone. * WEB - Internet (Web)-Initiated Entry - Used for the origination of debit entries (either Single or Recurring Entry) to a consumer's account pursuant to a to an authorization that is obtained from the Receiver via the Internet. example: CCD account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. name: type: string description: The name of the bank. address: type: object properties: line_1: type: string description: First line of the address. example: 123 Merchant Street line_2: type: string description: Second line of the address. example: Suite 2 line_3: type: string description: Third line of the address example: foyer city: type: string description: The city associated with the address. example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: This is the country the bank is located in The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA redirect_http_method: type: string enum: - POST - GET description: The HTTP method to use when redirecting to the redirect_url minLength: 1 maxLength: 50 example: POST redirect_data: type: string description: The data to include in the redirection to the redirect_url minLength: 1 maxLength: 50 qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 qr_code_image_url: type: string description: The URL to the QR Code image that can be rendered to the user. qr_code_time_expired_at: type: string description: The time the QR Code expires and cannot be used. format: date-time minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. minLength: 1 maxLength: 50 device: type: object properties: type: type: string enum: - TERMINAL - MOBILE_PHONE - POS - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN description: | Indicates the type of physical device used to process the transaction. * `TERMINAL` - A device used to prompt the payer to enter their payment method credentials to process a transaction. * `MOBILE_PHONE` - A mobile phone was used as the processing device. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. minLength: 1 maxLength: 50 example: TERMINAL time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 sequence_number: type: string description: The sequence number from the device used to align with the transaction processing platform. minLength: 1 maxLength: 50 serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 gratuity_prompt_mode: type: string enum: - PROMPT - NOT_REQUIRED description: Describes whether a device prompts a payer for a gratuity when the payer is entering their payment method details to the device. minLength: 1 maxLength: 50 example: PROMPT print_receipt_mode: type: string enum: - NONE - PAYER - MERCHANT - BOTH description: Describes the receipts a device prints when processing a transaction. minLength: 1 maxLength: 50 example: BOTH entry_modes: type: array description: Indicates the allowed entry modes for a specific transaction. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE example: - CHIP - SWIPE terminal_id: type: string description: 'A reference that uniquely identifies the merchant point of integration, like a device or website.' minLength: 1 maxLength: 50 application_version: type: string description: Indicates the version of the application being used on the device minLength: 1 maxLength: 50 payer_verifications: type: array description: Indicates the method used to verify the payer. items: type: string enum: - NOT_VERIFIED - PINPAD - ELECTRONIC_SIGNATURE_ANALYSIS - MANUAL_SIGNATURE_ANALYSIS - MANUAL_OTHER - UNKNOWN - SYSTEMATIC_OTHER example: - PINPAD os: type: string enum: - ANDROID - IOS description: | Indicates the operating system on the device * `ANDROID` * `IOS` minLength: 1 maxLength: 50 example: ANDROID reference: type: string description: The integrator submitted reference or identifier for the device. minLength: 1 maxLength: 50 capabilities: type: object properties: entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER example: - CHIP payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL example: - PARTIAL attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count: type: number description: The number of lines that can be used to display information on the device. max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT ip_address: type: string description: The IP address of the device used for this transaction. minLength: 1 maxLength: 50 lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' establishment_name: type: string description: The name of the lodging establishment. minLength: 1 maxLength: 50 time_checked_in: type: string description: The time of the day of the check in. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' time_checked_out: type: string description: The time of the day of the check out. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION installment: type: object properties: id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w reference: type: string description: A unique identifier used to identify the installment plan. example: 7533d4f7-6a10-5557-2e92-132d06157502 program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' terms: type: object properties: version: type: string description: This indicated the version of the Terms and Conditions selected under the installment term example: '2' language: type: string description: | The language for the terms and conditions text. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: eng risk_assessment: type: array items: type: object properties: mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE rules: type: array items: type: object properties: reference: type: string description: This is a system generated fraud rule reference (GUID) that is unique for the fraud rule. minLength: 1 maxLength: 50 example: 5c52428c-1f73-4fdf-ae53-ff62857f89d8 mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE airline: type: object properties: booking_reference: type: string description: A reference for the airline booking. minLength: 1 maxLength: 50 legs: type: array items: type: object properties: flight_number: type: string description: The flight number associated with the leg. minLength: 1 maxLength: 50 number: type: string description: The leg number of the airline booking. minLength: 1 maxLength: 50 time_of_depature: type: string description: The date and time of leg departure format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' time_of_arrival: type: string description: The date and time of leg arrival format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' healthcare: type: object properties: account_type: type: string enum: - FSA - HSA description: Identifies the type of health care account being used. minLength: 1 maxLength: 50 prescription_amount: type: string description: The amount of the health care transaction attributed to prescription expenses. Available for MasterCard and Visa transactions. minLength: 1 maxLength: 50 vision_amount: type: string description: The amount of the health care transaction attributed to vision or optical expenses. Available for Visa transactions. minLength: 1 maxLength: 50 dental_amount: type: string description: The amount of the health care transaction attributed to dental expenses. Available for Visa transactions. minLength: 1 maxLength: 50 clinic_amount: type: string description: The amount of the health care transaction attributed to clinical expenses. Available for Visa transactions. minLength: 1 maxLength: 50 iias_qualified: type: string enum: - 'YES' - 'NO' - EXEMPTED description: Indicates if the purchased items were verified against IIAS (Inventory Information Approval System) as qualified for healthcare. minLength: 1 maxLength: 50 prescription_number: type: string description: The unique number or customer ID assigned by the healthcare provider. minLength: 1 maxLength: 50 payment_facilitator: type: object properties: reference: type: string description: | This field identifies the specific third-party merchant (i.e., the sub-merchant) that is submitting the transaction. A facilitator/payment facilitator acts as an aggregator on behalf of multiple third-party merchants. Merchants that process transactions under another merchant’s (facilitator’s) account are considered third-party merchants. Length limits Visa / Mastercard / Discover: maximum 11 characters American Express: maximum 20 characters minLength: 1 maxLength: 50 name: type: string description: The business name of the third-party merchant (sub-merchant) submitting the transaction. A facilitator acts as an aggregator for multiple third-party merchants; merchants processing under a facilitator’s account are considered third-party merchants. minLength: 1 maxLength: 50 sub_merchant_reference: type: string description: | The identifier of the third-party merchant (sub-merchant) submitting the transaction. Note:Field is not supported by Discover card brand. minLength: 1 maxLength: 50 sub_merchant_name: type: string description: The name of the third-party merchant (sub-merchant) submitting the transaction. minLength: 1 maxLength: 50 sub_merchant_country: type: string description: The ISO country code for the third-party merchant’s address. minLength: 1 maxLength: 50 example: US sub_merchant_state: type: string description: The state or province code for the third-party merchant’s address. minLength: 1 maxLength: 50 example: 'AB, BC, MB' sub_merchant_city: type: string description: The city for the third-party merchant’s address. minLength: 1 maxLength: 50 sub_merchant_postal_code: type: string description: The postal/ZIP code for the third-party merchant’s address. minLength: 1 maxLength: 50 sub_merchant_business_phone: type: string description: The third-party merchant’s phone number. minLength: 1 maxLength: 50 iso_reference: type: string description: The unique identifier of the Independent Sales Organization (ISO) associated with the merchant. minLength: 1 maxLength: 50 merchant_email: type: string description: The third-party merchant’s email address. minLength: 1 maxLength: 50 required: - account_name - channel - country - amount - currency - reference - payment_method examples: CNP Sale - ECOM - Auto Capture: value: 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' CNP Sale - MOTO - Auth/Capture Later: value: account_name: Transaction_Processing type: SALE channel: CNP capture_mode: LATER amount: '1999' currency: CHF reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: BG payment_method: name: James Mason entry_mode: MOTO card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' cvv: '852' cvv_indicator: PRESENT avs_address: Flat 123 avs_postal_code: '50001' CNP Standalone Refund: value: account_name: Transaction_Processing type: REFUND channel: CNP amount: '1999' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: US payment_method: name: James Mason entry_mode: ECOM card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' Card Present Sale - Chip: value: account_name: Transaction_Processing type: SALE channel: CP capture_mode: AUTO amount: '1999' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: US payment_method: name: James Mason entry_mode: CHIP card: track: '%B4012002000060016^VI TEST CREDIT^301210118039000000000396?;4012002000060016=30121011803939600000?' tag: 9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001 funding: DEBIT Card Present Sale - Swipe: value: account_name: Transaction_Processing type: SALE channel: CP amount: '1999' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: US payment_method: name: James Mason entry_mode: SWIPE card: track: '%B4012002000060016^VI TEST CREDIT^301210118039000000000396?;4012002000060016=30121011803939600000?' Card Present Refund - Chip: value: account_name: Transaction_Processing type: REFUND channel: CP capture_mode: AUTO amount: '1999' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: US payment_method: name: James Mason entry_mode: CHIP card: track: '%B4012002000060016^VI TEST CREDIT^301210118039000000000396?;4012002000060016=30121011803939600000?' tag: 9F4005F000F0A0019F02060000000025009F03060000000000009F2608D90A06501B48564E82027C005F3401019F360200029F0702FF009F0802008C9F0902008C9F34030403029F2701809F0D05F0400088009F0E0508000000009F0F05F0400098005F280208409F390105FFC605DC4000A800FFC7050010000000FFC805DC4004F8009F3303E0B8C89F1A0208409F350122950500000080005F2A0208409A031409109B02E8009F21030811539C01009F37045EED3A8E4F07A00000000310109F0607A00000000310108407A00000000310109F100706010A03A400029F410400000001 Sale - Credential On File - Payer/Customer Initiated (CIT): value: account_name: Transaction_Processing type: SALE channel: CNP amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE payment_method: id: PMT_2ebad56c-e204-42bc-b65c-0f6dbc17000d entry_mode: ECOM initiator: PAYER stored_credential: model: UNSCHEDULED sequence: SUBSEQUENT Sale - Credential On File - Merchant Initiated (MIT): value: account_name: Transaction_Processing type: SALE channel: CNP capture_mode: AUTO amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE payment_method: id: PMT_2ebad56c-e204-42bc-b65c-0f6dbc17000d entry_mode: ECOM initiator: MERCHANT stored_credential: model: SUBSCRIPTION sequence: SUBSEQUENT APM - Sale: value: account_name: Transaction_Processing type: SALE channel: CNP amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: US payment_method: name: James Mason entry_mode: ECOM apm: provider: TESTPAY notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' PayPal - Sale: value: account_name: Transaction_Processing type: SALE channel: CNP amount: '2999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: GB payment_method: name: James Mason entry_mode: ECOM apm: provider: PAYPAL notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' cancel_url: 'https://www.example.com/cancel_url' ApplePay - Sale - Tokenized Value: value: account_name: Transaction_Processing type: SALE channel: CNP capture_mode: AUTO amount: '1999' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: US payment_method: name: James Mason entry_mode: ECOM digital_wallet: provider: APPLEPAY payment_token: version: EC_v1 data: Ft+dvMNzlcy6WNB+zerKtkh/RWW4RWW4yXIRgmM3WC/FYEC6Z+OJEzir2sDyzDkjIUJ0TFCQd/QAAAAAAAA== header: ephemeralPublicKey: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWdNhNAHy9kO2Kol33kIh7k6wh6E/lxriM46MR1FUrn7SHugprkaeFmWKZPgGpWgZ+telY/G1+YSoaCbR5YSoaCbR57bdGA== transactionId: fd88874954acdb299c285f95a3202ad1f330d3fd4ebc22a864398684198644c3 publicKeyHash: h7WnNVz2gmpTSkHqETOWsskFPLSj31e3sPTS2cBxgrk= ApplePay - Sale - Detokenized Value: value: account_name: Transaction_Processing type: SALE channel: CNP capture_mode: AUTO amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE payment_method: name: James Mason entry_mode: ECOM digital_wallet: token: '5167300431085507' token_format: CARD_NUMBER expiry_month: '12' expiry_year: '20' cryptogram: '234234234' provider: APPLEPAY eci: '5' Bank Transfer (ACH) - Sale: value: account_name: Transaction_Processing channel: CNP type: SALE amount: '12345' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584j4dybf country: US payment_method: name: Jane Doe entry_mode: ECOM narrative: My payment bank_transfer: account_number: '123456789' account_holder_type: PERSONAL account_type: SAVING sec_code: WEB bank: code: '83908420' international_code: '83908420' name: First Union Bank Transfer (ACH) - Refund: value: account_name: Transaction_Processing channel: CNP type: REFUND amount: '4500' currency: USD reference: 93459c78-f3f9-427c-84df-d934mfdasd country: US payment_method: name: Jane Doe entry_mode: ECOM narrative: My payment bank_transfer: account_number: '123456789' account_holder_type: PERSONAL account_type: SAVING sec_code: WEB bank: code: '83908420' international_code: '83908420' name: First Union 'Interac - Card Present Sale ': value: account_name: Transaction_Processing type: SALE channel: CP amount: '2100' currency: CAD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: CA payment_method: name: James Mason entry_mode: CONTACTLESS_CHIP card: track: ;4506445006931933=30122200162907400000? tag: 82021C008407A0000002771010950580000080009A031907319B0268009C01005F280201245F2A0201245F3401019F02060000000010009F03060000000000009F0607A00000027710109F080200019F090200019F100706010A03A4A8009F1A0201249F21031558109F2608395F21408D87BAB09F2701809F3303E0F8C89F34030100029F3501229F360200609F37048C8C7AC59F3901059F410400000025 funding: DEBIT device: time: '2025-09-09T05:58:40' sequence_number: '000010010500' serial_number: '345345' Interac - Card Present Refund: value: account_name: Transaction_Processing type: REFUND channel: CP amount: '2100' currency: CAD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: CA payment_method: name: James Mason entry_mode: CONTACTLESS_CHIP card: track: ;4506445006931933=30122200162907400000? tag: 82021C008407A0000002771010950580000080009A031907319B0268009C01005F280201245F2A0201245F3401019F02060000000010009F03060000000000009F0607A00000027710109F080200019F090200019F100706010A03A4A8009F1A0201249F21031558109F2608395F21408D87BAB09F2701809F3303E0F8C89F34030100029F3501229F360200609F37048C8C7AC59F3901059F410400000025 funding: DEBIT device: time: '2025-09-09T05:58:40' sequence_number: '000010010500' serial_number: '345345' Open Banking - Sale: value: account_name: Transaction_Processing channel: CNP amount: '1157' type: SALE currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE payment_method: name: James Mason entry_mode: ECOM apm: provider: OPEN_BANKING countries: - GB - IE bank_transfer: iban: GB33BUKB20201555555555 bank: name: John Doe's Shop remittance_reference: type: TEXT value: Bouncy Shoes notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' Payer - Sale: value: account_name: Transaction_Processing type: SALE channel: CNP country: US amount: '11099' currency: USD reference: 93459c78-f3f9-427c-84df-ca0584bb552da payer: id: PYR_84fd9c9c07c442339cee215d974819b5 payment_method: entry_mode: ECOM 'Alipay - Sale - ECOM ': value: account_name: Transaction_Processing channel: CNP amount: '3999' currency: HKD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: HK merchant_category: OTHER payment_method: name: James Mason entry_mode: ECOM apm: category: E_WALLET provider: ALIPAY notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' Alipay - Card Present Sale - Payer Initiates: value: account_name: Transaction_Processing type: SALE channel: CP amount: '3999' currency: HKD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: HK merchant_category: HOTEL payment_method: name: James Mason entry_mode: MANUAL apm: category: E_WALLET provider: ALIPAY payment_code_initiator: PAYER payment_code: '280312168787331840' lodging: establishment_name: Pride date_checked_in: '2024-08-22' time_checked_in: '15:04:05+07:00' date_checked_out: '2024-08-23' time_checked_out: '15:04:05+07:00' notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' Alipay - Card Present Sale - Merchant Initiates: value: account_name: Transaction_Processing type: SALE channel: CP amount: '3999' currency: HKD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: HK merchant_category: OTHER payment_method: name: James Mason entry_mode: MANUAL apm: category: E_WALLET provider: ALIPAY payment_code_initiator: MERCHANT device: os: ANDROID application_version: '123' reference: android-13.1 ip_address: 123.1.1.8000 terminal_id: '16818700' notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' Wechat Pay sale - ECOM: value: account_name: Transaction_Processing channel: CNP amount: '3999' currency: HKD reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: HK merchant_category: OTHER payment_method: name: James Mason entry_mode: ECOM apm: category: E_WALLET provider: WECHAT notifications: return_url: 'https://www.example.com/return_url' status_url: 'https://www.example.com/status_url' 'BNPL - Sale ': value: account_name: Transaction_Processing channel: CNP type: SALE amount: '55000' capture_mode: LATER currency: USD reference: TRANS-123456789 country: US payment_method: name: James Mason entry_mode: ECOM bnpl: provider: KLARNA order: time_created_reference: '2021-04-11T10:19:32.552327Z' reference: abcsd net_amount: '200' Currency: USD shipping_method: DELIVERY items: - reference: 92ebf294-f3ef-4aba-af30-6ebaf747de8f label: iPhone 13 description: iPhone 13 quantity: '1' unit_amount: '32500' tax_percentage: '0' tax_amount: '55000' total_amount: '55000' discount_amount: '0' net_unit_amount: '55000' gift_card_currency: USD type: daf url: 'https://www.example.com/iphone.html' image_url: 'https://www.example.com/iphone.png' shipping_address: first_name: James last_name: Mason line_1: 10 Glenlake Pkwy NE line_2: apt 230 city: Atlanta postal_code: '30328' state: GA country: US address_type: HOME shipping_phone: country_code: '41' subscriber_number: '57774873' payer: reference: d78f06cf-7ad5-4a60-8507-ab8d5fc40787 email: james.mason@example.com date_of_birth: '1993-08-24' billing_address: line_1: 10 Glenlake Pkwy NE line_2: '' city: Atlanta postal_code: '30328' state: GA country: US contact_phone: country_code: '1' subscriber_number: '123456789' documents: - type: PASSPORT reference: '123456789' issuer: US notifications: return_url: 'https://www.example.com/returnUrl' cancel_url: 'https://www.example.com/cancelUrl' status_url: 'https://www.example.com/statusUrl' 'CNP Sale- Network Token ': value: 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 card: network_token: '4895370019060711' network_token_expiry_month: '12' network_token_expiry_year: '30' BLIK: value: account_name: APM_Transaction_Processing channel: CNP capture_mode: AUTO type: SALE amount: '1000' currency: PLN country: PL reference: Test BLIK 412191210000 payment_method: entry_mode: ECOM apm: provider: BLIK notifications: return_url: 'https://webhook.site/b628afed-2245-49f2-8a87-39286b26e0ef' status_url: 'https://webhook.site/b628afed-2245-49f2-8a87-39286b26e0ef' cancel_url: 'https://webhook.site/b628afed-2245-49f2-8a87-39286b26e0ef' PayU: value: account_name: APM_Transaction_Processing channel: CNP capture_mode: AUTO type: SALE amount: '1000' currency: PLN country: PL reference: PayU Test payment_method: name: Jane Doe entry_mode: ECOM apm: provider: BANK_PAYMENT bank_transfer: bank: name: mbank notifications: return_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' status_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' cancel_url: 'https://webhook.site/d76a62ef-4bd1-4a96-b8e2-ef0ea00fd2d4' Network Token - Merchant Initiated(MIT): value: account_name: Transaction_Processing type: SALE channel: CNP amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE initiator: MERCHANT stored_credential: model: RECURRING reason: INCREMENTAL sequence: SUBSEQUENT payment_method: name: James Mason entry_mode: ECOM authentication: id: AUT_d455464a-115c-46b7-9622-6829e0326e23 card: network_token_expiry_month: '12' network_token_expiry_year: '30' network_token: '4895370019013736' avs_address: Flat 123 avs_postal_code: '50001' Network Token - Customer Initiated (CIT): value: account_name: Transaction_Processing type: SALE channel: CNP amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE initiator: PAYER stored_credential: model: RECURRING reason: INCREMENTAL sequence: SUBSEQUENT payment_method: name: James Mason entry_mode: ECOM authentication: id: AUT_d455464a-115c-46b7-9622-6829e0326e23 card: network_token_expiry_month: '12' network_token_expiry_year: '30' cryptogram: AwAAAAABpS+FG8EAAABMgz0AAAA= eci: '07' network_token: '4895370019013736' avs_address: Flat 123 avs_postal_code: '50001' Network Token - Customer Initiated (CIT) with stored Card: value: account_name: Transaction_Processing type: SALE channel: CNP amount: '1999' currency: EUR reference: 93459c78-f3f9-427c-84df-ca0584bb55bf country: DE initiator: PAYER stored_credential: model: RECURRING reason: INCREMENTAL sequence: SUBSEQUENT payment_method: id: PMT_563277b7-277a-4795-955a-20a4af885026 usage_mode: USE_NETWORK_TOKEN name: James Mason entry_mode: ECOM 'Installment - Sale ': value: account_name: transaction_processing channel: CNP capture_mode: AUTO type: SALE amount: '1000' currency: MXN country: MX reference: TRANS-202302271030111001 payment_method: name: Jane Doe entry_mode: ECOM card: number: '4512971111111113' expiry_month: '12' expiry_year: '30' cvv: '123' installment: id: INS_iiOG5yfxJQnGtopjFiOy5nVAc4vYS1 reference: 7533d4f7-6a10-5557-2e92-132d06157502 Installment - Sale - Specify Terms: value: account_name: transaction_processing channel: CNP capture_mode: AUTO type: SALE amount: '1000' currency: MXN country: MX reference: TRANS-202302271030111001 payment_method: name: Jane Doe entry_mode: ECOM card: number: '4512971111111113' expiry_month: '12' expiry_year: '30' cvv: '123' installment: reference: 7533d4f7-6a10-5557-2e92-132d06157502 program: VIS terms: version: '02' language: eng KONEK - Sale: value: account_name: transaction_processing type: SALE channel: CNP amount: '75' currency: CAD country: CA capture_mode: AUTO reference: trans-415458525563 payment_method: entry_mode: ECOM digital_wallet: provider: KONEK consent: id: CON_0ceedfde-05c4-4ee0-8656-b1ad51ec11eb KONEK - Recurring: value: account_name: transaction_processing type: SALE channel: CNP amount: '75' currency: CAD country: CA capture_mode: AUTO reference: trans-1245745852 initiator: MERCHANT stored_credential: model: RECURRING sequence: FIRST payment_method: name: James Mason entry_mode: ECOM digital_wallet: provider: KONEK brand_reference: string consent: id: CON_0ceedfde-05c4-4ee0-8656-b1ad51ec11eb EBT - Food Stamp Sale: value: account_name: Transaction_Processing type: SALE channel: CP amount: '2278' currency: USD country: US capture_mode: AUTO reference: TRANS-20180114123459878 merchant_benefits_reference: '1234567' payment_method: first_name: Jane last_name: Doe entry_mode: MANUAL card: funding: FOOD_STAMP pin_block: 799988FC9FA44987 pin_key_serial_number: 4A00310525600269 number: '401777999999011' expiry_month: '12' expiry_year: '26' CNP Sale with Encryption - ECOM: value: type: SALE channel: CNP country: CA amount: '1000' currency: CAD reference: myuniquereference account_name: transaction-processing capture_mode: LATER site_reference: '123_456' payment_method: first_name: John last_name: Doe entry_mode: ECOM card: number: GhytbvxNsh+thrgsBhgfTYU2ccD+Wsh/UihtfRT1oPC/BHTRbj6Da7/RBkiuyGFFHgOp1/mw1A== cvv: '123' funding: CREDIT expiry_month: '12' expiry_year: '26' avs_address: string avs_postal_code: string decryption_required: 'YES' encryption: version: '05' method: KSN info: ZWFlNTM4MmYUIBVFDkkjs2UwNjJiYmUzXzE= authentication: three_ds: value: XdgrTyhUtrasbD/hqB eci: '02' server_trans_ref: mOT4xySGW22OBHNeOJK1 ds_trans_ref: 74f64ec6-772e-4fe5-862c-3c1086629019 message_version: 2.2.0 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP capture_mode: type: string enum: - AUTO - LATER - MULTIPLE - LATER_FINAL description: | Indicates 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. minLength: 1 maxLength: 50 default: AUTO example: AUTO authorization_mode: type: string enum: - PARTIAL - DEFERRED description: | 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 minLength: 1 maxLength: 50 example: PARTIAL amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 merchant_benefits_reference: type: string description: 'This 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.' example: '98098' payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 authentication: type: object description: Information outlining the degree of authentication executed as part of a transaction. properties: three_ds: type: object description: Information outlining the degree of 3D Secure authentication executed. properties: cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 apm: type: object description: Data associated with the response of an APM transaction. properties: provider: type: object properties: name: type: string description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 brand_product_name: type: string description: This field indicates the payment method brand product name being used to execute this transaction minLength: 1 maxLength: 50 result: type: string description: The result given by the APM Provider minLength: 1 maxLength: 50 messsage: type: string description: The Message returned by the APM Provider minLength: 1 maxLength: 50 status: type: string minLength: 1 maxLength: 50 action: type: string description: This is the provider's indicator for the action being taken minLength: 1 maxLength: 50 action_reference: type: string minLength: 1 maxLength: 50 time_created_reference: type: string description: This field indicates the transaction time given by the apm provider minLength: 1 maxLength: 50 redirect_url: type: string minLength: 1 maxLength: 50 payer_reference: type: string minLength: 1 maxLength: 50 payer_name: type: string minLength: 1 maxLength: 50 payer_account_reference: type: string minLength: 1 maxLength: 50 sponsor_reference: type: string minLength: 1 maxLength: 50 acquirer_reference: type: string minLength: 1 maxLength: 50 merchant_identifier: type: string description: Merchant Number returned by the apm provider for this transaction minLength: 1 maxLength: 50 brand: type: string description: The brand of the APM Provider minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. session_token: type: string description: A string generated by the payment method to represent the session created on the payment method platform to facilitate the creation of a transaction. minLength: 1 maxLength: 50 fund_status: type: string enum: - NOT_EXPECTED - RECEIVED - WAITING - MISSING description: Indicates the degree the merchant is funded for the transaction. minLength: 1 maxLength: 50 example: RECEIVED wait_notification: type: string enum: - '0' - '1' description: Indicates to instruct the payer to wait for an update at the time the transaction is being executed or that an update will be given later. minLength: 1 maxLength: 50 example: '1' optional_redirect: type: string enum: - '0' - '1' description: 'Indicates that a redirect to the payment method is not required. Some payment methods (for example, SEPA Direct Debit) provide the option to redirect the customer to a page to display additional information about the payment.' minLength: 1 maxLength: 50 example: '1' provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The time the payment method provider created the transaction at on their system. format: date-time minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 bank: type: object properties: name: type: string description: The name associated with the bank account. identifier_code: type: string description: The international identifier code for the bank. iban: type: string description: The international identifier of the bank account. code: type: string description: The local identifier of the bank. account_number: type: string description: The local identifier of the bank account. mandate: type: object properties: code: type: string description: The reference to identify the mandate. next_action: type: string enum: - REDIRECT - REDIRECT_IN_FRAME - PRESENT_QR_CODE - INVOKE_WALLET description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 example: REDIRECT next_action_message: type: string description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_time_reference: type: string description: The time returned by the card brand indicating when the transaction was processed on the brand's system. format: date-time minLength: 1 maxLength: 50 cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended action to be taken by the merchant based on the AVS response. minLength: 1 maxLength: 50 example: ACCEPT provider: type: object description: The result codes directly from the card issuer. properties: result: type: string description: Result code from the card provider (issuer) . minLength: 1 maxLength: 50 message: type: string description: Message from the card provider (issuer). minLength: 1 maxLength: 50 cvv_result: type: string description: CVV result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_result: type: string description: AVS result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_address_result: type: string description: AVS Address result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_postal_code_result: type: string description: AVS Postal result code from the card provider (issuer) . minLength: 1 maxLength: 50 masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 bank_transfer: type: object properties: masked_account_number_last4: type: string description: The last 4 characters of the local reference for a bank account number. account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA user_reference: type: string description: The 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. minLength: 1 maxLength: 50 currency_conversion: type: object properties: payer_amount: type: string description: The amount that will affect the payer's account. minLength: 1 maxLength: 50 payer_currency: type: string enum: - 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 description: The currency of the amount that will affect the payer's account in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD conversion_rate: type: string description: The exchange rate used to convert one currency to another. minLength: 1 maxLength: 50 margin_rate_percentage: type: string description: The foreign exchange markup in relation to a base rate. minLength: 1 maxLength: 50 commission_percentage: type: string description: The percentage commission taken for providing the currency conversion. minLength: 1 maxLength: 50 exchange_rate_source: type: string description: The source of the base exchange rate was obtained to execute the currency conversion. minLength: 1 maxLength: 50 exchange_source_time: type: string description: The time the base exchange rate was obtained from the source. minLength: 1 maxLength: 50 order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 installment: type: object properties: id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' risk_assessment: type: array items: type: object properties: mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The overall fraud mode, indicating whether the impact of running the fraud rules for this transaction. * `ACTIVE` - The fraud rules were executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules were executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rules were not executed. minLength: 1 maxLength: 50 example: ACTIVE result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW - HOLD_SUCCESSFUL - RELEASE_SUCCESSFUL description: The overall result of the fraud rules executed for this transaction. minLength: 1 maxLength: 50 example: ACCEPTED rules: type: array items: type: object properties: reference: type: string description: This is a system generated fraud rule reference (GUID) that is unique for the fraud rule. minLength: 1 maxLength: 50 example: 5c52428c-1f73-4fdf-ae53-ff62857f89d8 description: type: string description: 'This describes the fraud rule and indicates what rule was specifically executed so it is understandable,' minLength: 1 maxLength: 50 mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW description: The result of the individual fraud rule. minLength: 1 maxLength: 50 example: ACCEPTED action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app examples: EBT - Food Stamp Sale: value: 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 headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment get: tags: - List Transactions summary: | Get a list of transactions recently processed, using criteria passed in the query string. Page through the result set to access all records. description: | 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. operationId: getSaleAndRefundTransactions parameters: - name: id in: query schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: type in: query schema: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE - name: channel in: query schema: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP - name: amount in: query schema: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' - name: currency in: query schema: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD - name: number_first6 in: query schema: type: string description: The first 6 digits of the card number. minLength: 1 maxLength: 6 example: '424242' - name: number_last4 in: query schema: type: string description: The last 4 digits of the card number. minLength: 1 maxLength: 4 example: '1234' - name: token_first6 in: query schema: type: string description: The first 6 digits of the digital wallet token. minLength: 1 maxLength: 6 example: '424242' - name: token_last4 in: query schema: type: string description: The last 4 digits of the digital wallet token. minLength: 1 maxLength: 4 example: '1234' - name: account_name in: query schema: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing - name: brand in: query schema: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA - name: brand_reference in: query schema: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 - name: authcode in: query schema: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 - name: reference in: query schema: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e - name: status in: query schema: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED - name: country in: query schema: type: string description: '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.' minLength: 2 maxLength: 2 example: US - name: from_time_created in: query schema: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' - name: to_time_created in: query schema: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' - name: batch_id in: query schema: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 - name: order.reference in: query schema: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 - name: entry_mode in: query schema: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM - name: name in: query schema: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE - name: account_id in: query schema: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b - name: site_reference in: query schema: type: string description: A merchant defined reference for the location that created the transaction. minLength: 1 maxLength: 50 - name: system.mid in: query schema: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 - name: payer.reference in: query schema: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 - name: system.hierarchy in: query schema: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 - name: fingerprint in: query schema: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 - name: fingerprint_presence_indicator in: query schema: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS - name: resource in: query description: The resource to filter the search list results by schema: type: string enum: - AUTHENTICATIONS - BATCHES - CURRENCY_CONVERSIONS - DEVICES - FUNDS - INSTALLMENTS - TRANSFERS - TRANSACTIONS - VERIFICATIONS minLength: 1 maxLength: 50 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 - name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 - name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC - name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED responses: '200': description: OK content: application/json: schema: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object description: Indicates what fields and values used to filter the current list of resource objects in the current response. properties: from_time_created: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_created: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transactions: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD user_reference: type: string description: The 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. minLength: 1 maxLength: 50 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 country: type: string description: '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.' minLength: 2 maxLength: 2 example: US parent_resource_id: type: string description: An identifier generated by Global Payments to uniquely identify the parent resource of this resource. This is the resource that was used to create the current instance. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d create_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that created this resource. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA installment: type: object properties: program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} examples: Get List of Transactions: value: total_record_count: 1985438 current_page_size: 2 merchant_id: MER_1e4049f6f33145b2a5891332e9783bd9 merchant_name: UCP_Test_Automation_Merchant account_id: TRA_ed508386da5b4c81b629ed10434d941d account_name: GPECOM_HPP_Processing filter: from_time_created: '2026-03-01T00:00:00.000Z' to_time_created: '2026-03-31T23:59:59.999Z' paging: page_size: 2 page: 1 order: ASC order_by: TIME_CREATED transactions: - id: TRN_M2lwGiHmpKsrWAtF8sHX3ouWlbqU0Y time_created: '2026-03-01T05:12:10.808Z' account_id: TRA_1e0a2fdfd79d4013b87d47c4c43882f6 account_name: Portico_Transaction_Processing status: PREAUTHORIZED type: SALE channel: CNP amount: '2000' partner_amount: '' merchant_amount: '' gratuity_amount: '0' currency: USD reference: TRANS-b6467ddc-0e27-4f64-b0b1-ecfaf51946df description: '' order_reference: '' order: reference: '' time_created_reference: '' batch_id: BAT_1234 country: US site_reference: '' payment_method: result: '00' message: APPROVAL entry_mode: ECOM fingerprint: f47e81cee4da44c99d422592ec1e908af47e81cee4da44c99d422592ec1e908af47e81cee4da44c99d422592ec1e908af47e81cee4da44c99d422592ec1e908a fingerprint_presence_indicator: EXISTS name: Jone Doe card: brand: VISA authcode: VI2000 brand_reference: 006060440009130 masked_number_first6last4: 426397XXXXXX5262 currency_conversion: payer_amount: '' payer_currency: '' margin_rate_percentage: '' exchange_rate: '' commission_percentage: '' exchange_rate_source: '' exchange_source_time: '' installment: id: '' program: '' terms: id: '' time_unit: '' time_unit_number: '' interest_rate: '' first_amount: '' subsequent_amount: '' last_amount: '' total_amount: '' reference: '' mode: '' total_time_unit_count: '' time_unit_amount: '' currency: '' description: '' expiration_date: '' expiration_interest_rate: '' terms_and_conditions_url: '' mode: '' count: '' grace_period_count: '' action_create_id: ACT_M2lwGiHmpKsrWAtF8sHX3ouWlbqU0Y parent_resource_id: TRN_M2lwGiHmpKsrWAtF8sHX3ouWlbqU0Y platforms: - type: PORTICO transaction_id: '200123038489' system: mid: '4888888123457' tid: '6561' name: Portico Testing platform - id: TRN_FJFkBzaV0F2DOq3tBueWE0x4WTaCf1 time_created: '2026-03-01T06:46:32.407Z' account_id: TRA_1e0a2fdfd79d4013b87d47c4c43882f6 account_name: Portico_Transaction_Processing status: PREAUTHORIZED type: SALE channel: CNP amount: '2000' partner_amount: '' merchant_amount: '' gratuity_amount: '0' currency: USD reference: TRANS-631e7cca-b92c-4dd2-b163-b18b457901ee description: '' order_reference: '' order: reference: '' time_created_reference: '' batch_id: '' country: US site_reference: '' payment_method: result: '00' message: APPROVAL entry_mode: ECOM fingerprint: f47e81cee4da44c99d422592ec1e908af47e81cee4da44c99d422592ec1e908af47e81cee4da44c99d422592ec1e908af47e81cee4da44c99d422592ec1e908a fingerprint_presence_indicator: EXISTS name: Jone Doe card: brand: VISA authcode: VI2000 brand_reference: 006060440004792 masked_number_first6last4: 426397XXXXXX5262 currency_conversion: payer_amount: '' payer_currency: '' margin_rate_percentage: '' exchange_rate: '' commission_percentage: '' exchange_rate_source: '' exchange_source_time: '' installment: id: '' program: '' terms: id: '' time_unit: '' time_unit_number: '' interest_rate: '' first_amount: '' subsequent_amount: '' last_amount: '' total_amount: '' reference: '' mode: '' total_time_unit_count: '' time_unit_amount: '' currency: '' description: '' expiration_date: '' expiration_interest_rate: '' terms_and_conditions_url: '' mode: '' count: '' grace_period_count: '' action_create_id: ACT_FJFkBzaV0F2DOq3tBueWE0x4WTaCf1 parent_resource_id: TRN_FJFkBzaV0F2DOq3tBueWE0x4WTaCf1 platforms: - type: PORTICO transaction_id: '200123039454' system: mid: '4888888123457' tid: '6561' name: Portico Testing platform action: id: ACT_2UWJhx5WONTiWrkohwQ9ou9DHh9O2E type: TRANSACTION_LIST time_created: '2026-03-31T10:33:34.749Z' result_code: SUCCESS app_id: jb5HXNAwX9Tyo8ck3JQZtIzZh7q8N4GU app_name: UCP_Test_Automation_Partner_App_1 headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions/': get: tags: - Get a Transaction summary: | Get a single view of a transaction using the transaction id. description: |- 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. operationId: getSingleSaleOrRefundTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD description: type: string description: Merchant defined description for the transaction. minLength: 1 maxLength: 50 example: SKU#BLK-MED-G123-GUC order_reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER country: type: string description: '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.' minLength: 2 maxLength: 2 example: US language: type: string description: Indicates 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) minLength: 1 maxLength: 50 example: fr_CA ip_address: type: string description: Indicates the source IP Address of the system used to process the transaction with Global Payments. minLength: 1 maxLength: 50 site_reference: type: string description: A merchant defined reference for the location that created the transaction. minLength: 1 maxLength: 50 parent_resource_id: type: string description: An identifier generated by Global Payments to uniquely identify the parent resource of this resource. This is the resource that was used to create the current instance. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d create_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that created this resource. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA installment: type: object properties: program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' link: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the link. minLength: 1 maxLength: 50 example: LNK_bnqlo0LgbMt221TczxF70Awdg7c5ez system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//refund': post: tags: - Refund a Sale summary: | Create a Refund transaction from a previous Sale. description: |- Create a Refund transaction from a previous Sale. The payment method associated with the original Sale is used to refund the Payer. If the amount is not specified in the refund request, the full amount of the Sale will be refunded. 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. operationId: createRefundTransactionFromSale parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: description: '' content: application/json: schema: type: object title: refund_request properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 example: '100' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '11099' order: type: object properties: shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb examples: Indicate Amount to Refund: value: amount: '1199' Level 2 Partial Refund: value: amount: '11099' gratuity_amount: '11099' tax_amount: '100' reference: becf9f3e-4d33-459c-8ed2-0c4affc9555e surcharge_amount: '11099' order: shipping_amount: '100' duty_amount: '1000' taxes: - type: VAT amount: '1000' percentage: '1' currency_conversion: id: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED order: type: object properties: taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} examples: Level 2 Partial Refund: value: id: TRN_PARiD8CqLufPVm6xg5B6QEyvJ40qes time_created: '2026-02-13T11:30:51.221Z' time_last_updated: '2026-02-13T11:30:51.221Z' type: REFUND status: CAPTURED amount: '1500' gratuity_amount: '20' tax_amount: '2' surcharge_amount: '0' currency: USD country: US reference: TRANS-20210114123459948 payment_method: result: A0014 message: 'Return requested, Void successful' card: authcode: TAS153 brand_reference: '12234' order: duty_amount: '300' shipping_amount: '250' taxes: - amount: '200' type: VAT percentage: '18' batch_id: BAT_88800013479401 action: id: ACT_PARiD8CqLufPVm6xg5B6QEyvJ40qes type: REFUND time_created: '2026-02-13T11:30:51.221Z' result_code: SUCCESS app_id: VuT4qLPs98hwVMnGAPkWz3KDIuAumlwz app_name: demo_transit_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//reversal': post: tags: - Reverse a Sale or Refund summary: | Cancel a transaction before funds are exchanged. description: | Transactions can be reversed in full or partially reversed. An attempt to restore Payer's spending limit is always made. If no amount is included in the request body, the full value of the transaction will be reversed. In timeout scenarios, where the integrator does not recieve a response at all, the reference field can be used in place of the id in the URL Availability of partial reversals depends on your live configuration. operationId: reverseTransaction parameters: - name: id in: path required: true schema: oneOf: - type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: content: application/json: schema: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing amount: type: string description: 'An optional field that can be sent to indicate the amount to be reversed if you are setup for partial reversals. If no amount is provided, the entire transaction will be reversed.' minLength: 1 maxLength: 50 example: '11099' reversal_reason: type: string enum: - CUSTOMER_CANCELLATION - TERMINAL_ERROR - TIMEOUT - CHIP_CARD_DECLINE - MACFAILURE - RESPONSE_RECEIVED_LATE - SUSPECTED_FRAUD - ARPC_CRYPTOGRAM_FAILURE - IN_STOCK - OUT_OF_STOCK - FALSE_POSITIVE - OTHER - NOT_GIVEN - SYSTEM_ERROR - FRAUD - DUPLICATE - MISTAKE description: Used to record the reason for a reversal. minLength: 1 maxLength: 50 example: CUSTOMER_CANCELLATION currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb payment_method: type: object properties: first_name: type: string description: The first name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE last_name: type: string description: The last name of the owner of the payment method minLength: 1 maxLength: 50 example: DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 device: type: object properties: sequence_number: type: string description: The sequence number from the device used to align with the transaction processing platform. minLength: 1 maxLength: 50 time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 examples: Reversal - Specify Amount: value: amount: '11099' Interac - Reversal: value: amount: '103' reversal_reason: CUSTOMER_CANCELLATION payment_method: first_name: Jane last_name: Doe entry_mode: CONTACTLESS_CHIP card: funding: DEBIT track: ;0012030000000003=28122200897740000001? account_type: CHECKING tag: 820219008407A0000002771010950500800080009A032209089C01005F280201245F2A0201245F3401019F02060000000010009F03060000000000009F080200029F090200019F10161502850400B100000000B280000000000000000000009F1A0201249F2608354C58202583C1B29F2701809F3303E0B0C89F34030403029F3501229F3602000E9F37044B17E5039F410400000003 device: time: '2025-12-03T09:40:04' sequence_number: '000010011151' serial_number: '123456' responses: '200': description: OK content: application/json: schema: type: object title: reversal_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED device: type: object properties: host_response_code: type: string description: The response code from the target system to indicate whether a device action was successful or not. For example synching the device. minLength: 1 maxLength: 50 brand_sequence_number: type: string description: Host advising expected POS sequence number that needs to be supplied minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//capture': post: tags: - Capture a Sale summary: | Capture a Sale transaction that has a status of PREAUTHORIZED to receive funds for that transaction. description: | Capture a Sale transaction that has a status of PREAUTHORIZED to receive funds for that transaction. The transaction can be captured for a different amount than what was authorized but if no amount specified the full amount will be captured. Also it can be captured in multiple segments to facilitate split shipment. (Availability of multiple captures in production depends on your live configuration.) operationId: captureSaleTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: false content: application/json: schema: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' capture_sequence: type: string enum: - FIRST - SUBSEQUENT - LAST description: 'Indicates whether the request is the first,a subsequent or the last capture request when capturing multiple amounts separately.' minLength: 1 maxLength: 50 example: FIRST total_capture_count: type: number description: Indicates the total or expected total of captures that will executed against a transaction that can be captured multiple times. lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION payment_method: type: object properties: card: type: object properties: tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED order: type: object properties: taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//incremental': post: tags: - Increment an Auth summary: | Increment the amount of an existing transaction. description: | Increment the amount for an existing transaction. Use this action to add a charge to an existing transaction before it is batched. This action does not change the status of a transaction and if successful it increases the amount of the existing transaction. (Availability in production depends on your live configuration.)' operationId: incrementExistingTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: false content: application/json: schema: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED order: type: object properties: taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//adjustment': post: tags: - Adjust a CP Sale summary: | Adjust an existing Customer Present (CP) transaction. description: | Adjusts an existing Customer Present (CP) transaction with new information. This action does not change the status of a transaction, only the data it contains. A common example is to add a gratuity amount to the transaction before the transaction is batched. Availability of this feature in production depends on your allowed live configuration. This request does not alter the authorization amount, if the authorization amount needs to be changed please carry out an incremental authorization request instead. Please contact Global Payments before coding this feature to confirm it will be available to you when you go live. operationId: adjustSaleTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: false content: application/json: schema: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' payment_method: type: object properties: card: type: object properties: tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED order: type: object properties: taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//reauthorization': post: tags: - ReAuth a Reversed Sale summary: | This action is used to refresh the authorization associated with a transaction. description: | This action is used to refresh the authorization associated with a transaction, when the transaction was authorized a long time ago. It gets a more recent authcode. It can also be used to reauthorize a transaction that was reversed in error. (Availability in production depends on your live configuration.) operationId: reauthSaleTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: false content: application/json: schema: type: object title: refund_request properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 example: '100' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '11099' order: type: object properties: shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED order: type: object properties: taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//confirmation': post: tags: - Confirm a Transaction summary: | For certain transactions created using non-card based payment methods (for example, PayPal), merchants are required to confirm that the transaction has completed in order for funds to be transferred. description: | For certain transactions created using non-card based payment methods (for example, PayPal), merchants are required to confirm that the transaction has completed in order for funds to be transferred. 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. operationId: confirmTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: false content: application/json: schema: type: object properties: payment_method: type: object properties: apm: type: object description: Data associated with an APM. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object properties: payment_method: type: object properties: apm: type: object description: Data associated with the response of an APM transaction. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//split': post: tags: - Split a Transaction Amount summary: | Transfer part of a transaction amount, executed by a merchant, to the partner account. description: | Transfer part of a transaction amount, executed by a merchant, to the partner account. 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. operationId: splitTransaction parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: false content: application/json: schema: type: object properties: transfers: type: array items: type: object properties: account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b recipient_account_id: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance of the resource. This is intended to be unique but GP API does not polic its uniqueness. minLength: 1 maxLength: 50 example: my_reference amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 minLength: 1 maxLength: 50 example: '10000' description: type: string description: The description of the transfer minLength: 1 maxLength: 50 example: Transfer 1 examples: Initiate A Split: value: transfers: - account_id: TRA_31dbc9d58a26458386d927db02e38094 recipient_account_id: FMA_dd7976feccd94906ac9995628d27a81e reference: merchant identifier transaction_amount_percentage: '3.1' amount: '10' description: split 1 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED country: type: string description: '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.' minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. transfers: type: array items: type: object properties: id: type: string description: GP/APIMCS assigned unique identifier for each instance/record of this resource. minLength: 1 maxLength: 50 example: TRF_HP1XBe4tlWGp4ikejDmYrVFx2SMeS3 time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' status: type: string enum: - SUCCESS - FAILURE description: The overall status of the instance of the resource. minLength: 1 maxLength: 50 example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 minLength: 1 maxLength: 50 example: '10000' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: FMA_86920f927028745yt34d077d88beb29b account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance of the resource. This is intended to be unique but GP API does not polic its uniqueness. minLength: 1 maxLength: 50 example: my_reference description: type: string description: The description of the transfer minLength: 1 maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '00' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /devices: post: tags: - Synchronize a Device summary: | Synchronize a physical device to successfully transaction process. description: | Synchronize a physical device to successfully transaction process.(Availability in production depends on your live configuration.) operationId: synchronizeDevice parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: true content: application/json: schema: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD device: type: object properties: time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the device synchronization. minLength: 1 maxLength: 50 example: DEV_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - TERMINAL - MOBILE_PHONE - POS - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN description: | Indicates the type of physical device used to process the transaction. * `TERMINAL` - A device used to prompt the payer to enter their payment method credentials to process a transaction. * `MOBILE_PHONE` - A mobile phone was used as the processing device. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. minLength: 1 maxLength: 50 example: TERMINAL status: type: string enum: - AVAILABLE - NOT_AVAILABLE description: Indicates where the currency conversion is in its lifecycle * `AVAILABLE` - A currency conversion is available. The next step is to offer the conversion details to the end user. * `NOT_AVAILABLE` - A currency conversion is not available. example: AVAILABLE merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US device: type: object properties: result: type: string description: The result code when executing an action on the device. For example synching the device. minLength: 1 maxLength: 50 message: type: string description: The result message when executing an action on the device. For example synching the device. minLength: 1 maxLength: 50 balance_key: type: string description: Key generated and provided to the PIN pad. This key is used to decrypt the balance information. minLength: 1 maxLength: 50 mac_key: type: string description: 'Key generated and provided to the PIN pad. Key is used to generate the MAC value. When returned in a transaction, the value is the working key to be used in the next transaction.' minLength: 1 maxLength: 50 mac: type: string description: A message authentication code that is used to confirm the security and integrity of the messaging to Global Payments. minLength: 1 maxLength: 50 pin_key: type: string description: 'Key used to encrypt the PIN which is maintained in the device''''s PIN Pad. When returned in a transaction, the value is the working key to be used in the next transaction.' minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//challenge': post: tags: - Challenge a Disputed Transaction summary: | Upload documentation to challenge a disputed transaction. (Availability in production depends on your live configuration.) description: | Upload documentation to challenge a disputed transaction. (Availability in production depends on your live configuration.) operationId: ChallengeDispute parameters: - name: id in: path required: true schema: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: content: application/json: schema: type: object description: This method allows documents to be uploaded to challenge a disputed transaction. properties: documents: type: object properties: b64_content: type: string description: The documents content to be uploaded in base64 format. file_format: type: string enum: - TIF - TIFF - PDF - BMP - JPEG - GIF - PNG - DOC - DOCX description: This is the format of the file being uploaded. minLength: 1 maxLength: 50 example: PDF examples: Challenge A Disputed Transaction: value: documents: b64_content: SGV5LCBIb3cgYXJlIHlvdT8= file_format: TIF responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d dispute_status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW status: type: string description: Indicates where the document is in its lifecycle. example: UPLOADED document_name: type: string description: A meaningful label for the document set by Global Payments. example: UNDERWRITING_718564831_8vOut0YO32 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//hold': post: tags: - Hold a Transaction summary: | This request will change the transaction status to PENDING_REVIEW (HELD). description: | This request will change the transaction status to PENDING_REVIEW (HELD). If the transaction was successful and due to be included in the next settlement file, this will prevent its inclusion until such a time that the transaction is released. If you're using Delayed Capture (the original capture_mode is set to LATER), the transaction must be released and then captured before it will be batched. This functionality is only available for Card Not Present (CNP) transactions in the UK, US, CA and EU. operationId: post-transactions-id-hold parameters: - name: id in: path required: true schema: type: string - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: description: '' content: application/json: schema: type: object properties: reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN - FALSE_POSITIVE - IN_STOCK - OTHER - NOT_GIVEN - OUT_OF_STOCK description: | A code indicating the reason for the latest action against the transaction. This can relate to reasons for fraud related actions such as holding or releasing a transaction. It can also relate to the reason a transaction is disputed. example: FRAUD responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e risk_assessment: type: array items: type: object properties: result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW - HOLD_SUCCESSFUL - RELEASE_SUCCESSFUL description: The overall result of the fraud rules executed for this transaction. minLength: 1 maxLength: 50 example: ACCEPTED message: type: string description: This is a descriptiion of the action that has been executed. minLength: 1 maxLength: 50 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: null servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transactions//release': post: tags: - Release a Transaction summary: | This request will return a transaction to it's previous state before it was set to to PENDING_REVIEW (HELD). description: |- If a transaction is set to PENDING_REVIEW (Held), the release request will return the transaction to its original status. For example, if a transaction was set to automatically capture (capture_mode=AUTO), then the release request will return it to a status of CAPTURED. If you're using differect capture_modes, MULTIPLE or LATER, the transaction will simply return to the PREAUTHRORIZED status. Transactions that are held must be released before they are captured. This functionality is only available for Card Not Present (CNP) transactions in the UK, US, CA and EU. operationId: post-transactions-id-release parameters: - name: id in: path required: true schema: type: string - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: content: application/json: schema: type: object properties: reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN - FALSE_POSITIVE - IN_STOCK - OTHER - NOT_GIVEN - OUT_OF_STOCK description: | A code indicating the reason for the latest action against the transaction. This can relate to reasons for fraud related actions such as holding or releasing a transaction. It can also relate to the reason a transaction is disputed. example: FRAUD responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e risk_assessment: type: array items: type: object properties: result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW - HOLD_SUCCESSFUL - RELEASE_SUCCESSFUL description: The overall result of the fraud rules executed for this transaction. minLength: 1 maxLength: 50 example: ACCEPTED message: type: string description: This is a descriptiion of the action that has been executed. minLength: 1 maxLength: 50 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: null servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Create a Sale or Refund description: | 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 or flagged as requiring a separate capture action later. (Availability of standalone refunds, where there is not a link directly to a previous Sale transaction, depends on your live configuration.) - name: List Transactions description: | Get a list of transactions recently processed, using criteria passed in the query string. Page through the result set to access all records. - name: Get a Transaction description: | Get a single view of a transaction using the transaction id. - name: Refund a Sale description: | Create a Refund transaction from a previous Sale. The payment method associated with the original Sale is used to refund the Payer. If the amount is not specified in the refund request, the full amount of the Sale will be refunded. - name: Reverse a Sale or Refund description: | Cancel a transaction before it has been sent for funding. Transactions can be reversed in full or partially reversed. An attempt to restore Payer's spending limit is always made. If no amount is included in the request body, the full value of the transaction will be reversed. In timeout scenarios, the reference field can be used in place of the id in the URL to execute a reversal also. (Availability of partial reversals depends on your live configuration.) - name: Capture a Sale description: | Capture a Sale transaction that has a status of PREAUTHORIZED to receive funds for that transaction. If the amount is not specified in the capture request, the full amount of the Sale at that timw will be captured. Also it can be captured in multiple segments to facilitate split shipment. (Availability of multiple captures in production depends on your live configuration.) - name: Increment an Auth description: | Increment the amount for an existing transaction. Use this action to add a charge to an existing transaction before it is batched. This action does not change the status of a transaction, if successful it increases the amount of the existing transaction. (Availability in production depends on your live configuration.)' - name: Adjust a CP Sale description: | Adjusts an existing Customer Present (CP) transaction with new information. This action does not change the status of a transaction, only the data it contains. A common example is to add add a gratuity amount to the transaction before the transaction is batched. - name: ReAuth a Reversed Sale description: | This action be to used to refresh the authorization associated with a transaction to get a more recent authcode or reauthorize a transaction reversed in error. (Availability in production depends on your live configuration.) - name: Confirm a Transaction description: | For certain transactions created using non-card based payment methods (for example, PayPal), merchants are required to confirm that the transaction has completed in order for funds to be transferred. - name: Split a Transaction Amount description: | Transfer part of a transaction amount, executed by a merchant, to the partner account - name: List Settled Transactions description: | Get a list of settled or funded transactions Page through the result set to access all records. - name: Synchronize a Device description: | Synchronize a physical device to successfully transaction process. - name: Challenge a Disputed Transaction description: | Upload a document to support a transaction. This may used to respond to a chargeback or retrieval request. - name: Hold a Transaction description: | This request will change the transaction status to PENDING_REVIEW (HELD). - name: Release a Transaction description: | This request will change the transaction status to PENDING_REVIEW (HELD). components: parameters: page: name: page in: query description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' schema: type: number default: 1 example: 1 page_size: name: page_size in: query description: 'The total number of records to return in a single page for a list. page:' schema: type: number default: 5 example: 5 order: name: order in: query description: 'The direction of the ordering of the entire list, ASC or DESC' schema: type: string enum: - ASC - DESC default: DESC example: ASC order_by: name: order_by in: query description: 'The field to order the list by. ' schema: type: string default: TIME_CREATED example: TIME_CREATED Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: create_request: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US capture_mode: type: string enum: - AUTO - LATER - MULTIPLE - LATER_FINAL description: | Indicates 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. minLength: 1 maxLength: 50 default: AUTO example: AUTO total_capture_count: type: number description: Indicates the total or expected total of captures that will executed against a transaction that can be captured multiple times. authorization_mode: type: string enum: - PARTIAL - DEFERRED description: | 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 minLength: 1 maxLength: 50 example: PARTIAL deferred_time_created: type: string description: This field should be sent on all Deferred Authorizations and reflect the time the transaction was created in the POS application. format: date-time example: '2026-05-03T21:23:39.718Z' amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' cashback_amount: type: string description: The amount of the transaction that relates to cashback. minLength: 1 maxLength: 50 example: '11099' surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '11099' surcharge_type: type: string enum: - DEBIT - CREDIT description: This indicates whether the surcharge is a DEBIT or CREDIT to the merchant minLength: 1 maxLength: 50 example: DEBIT convenience_amount: type: string description: The amount that reflects the charge the merchant applied to the transaction for availing of a more convenient purchase. minLength: 1 maxLength: 50 example: '11099' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e description: type: string description: Merchant defined description for the transaction. minLength: 1 maxLength: 50 example: SKU#BLK-MED-G123-GUC language: type: string description: Indicates 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) minLength: 1 maxLength: 50 example: fr_CA check_for_duplicate: type: string enum: - 'YES' - 'NO' description: This flag is set by the merchant to indicate if duplicate checking on this transaction can be skipped minLength: 1 maxLength: 50 default: 'NO' example: 'NO' ip_address: type: string description: Indicates the source IP Address of the system used to process the transaction with Global Payments. minLength: 1 maxLength: 50 site_reference: type: string description: A merchant defined reference for the location that created the transaction. minLength: 1 maxLength: 50 user_reference: type: string description: The 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. minLength: 1 maxLength: 50 payer_reference: type: string description: 'The 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.' minLength: 1 maxLength: 50 merchant_category: type: string enum: - HOTEL - AIRLINE - RETAIL - TOP_UP - PLAYER - CD_KEY - DEBT_REPAYMENT - HEALTHCARE - ACCOUNT_FUNDING_TRANSACTIONS - BILL_PAY - OTHER - GAMING description: Indicates what industry the merchant belongs to. minLength: 1 maxLength: 50 default: OTHER example: OTHER merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 merchant_benefits_reference: type: string description: 'This 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.' example: '98098' order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 description: type: string description: The merchant's description of the order the transaction is associated with.. minLength: 1 maxLength: 50 amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 amount_label: type: string description: A label to associate with the amount. This is typically a currency code or symbol. minLength: 1 maxLength: 50 currency: type: string description: The currency of the amount of the order. minLength: 1 maxLength: 50 item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 item_quantity: type: number description: The total number of items being purchased across all items. insurance_offered: type: string enum: - 'YES' - 'NO' description: Indicates where insurance was offered with the order. minLength: 1 maxLength: 50 example: 'NO' insurance_amount: type: string description: The total amount of the insurance being with the order. minLength: 1 maxLength: 50 handling_amount: type: string description: The total amount incurred for handling the order. minLength: 1 maxLength: 50 tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 tax_amount_label: type: string description: A label to associate with the tax amount. This is typically a currency code or symbol. minLength: 1 maxLength: 50 shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' shipping_discount: type: string description: The total shipping discount amount incurred for the order. minLength: 1 maxLength: 50 items: type: array items: type: object properties: total_amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 label: type: string description: A label associated with the items being purchased. minLength: 1 maxLength: 50 category: type: string description: Indicates the category if item being purchased minLength: 1 maxLength: 50 amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 unit_amount: type: string description: The price of a single specific item being purchased. minLength: 1 maxLength: 50 unit_currency: type: string description: The currency of the price of a single specific item being purchased. minLength: 1 maxLength: 50 tax_amount: type: string description: The tax amount associated with the items being purchased. minLength: 1 maxLength: 50 shipping_amount: type: string description: The shipping amount associated with the items being purchased. minLength: 1 maxLength: 50 shipping_discount: type: string description: The shipping discount amount with the items being purchased minLength: 1 maxLength: 50 url: type: string description: The url of the item being purchased. tax_id_reference: type: string description: The tax identification number of the merchant that reported the alternate tax amount. minLength: 1 maxLength: 50 funding: type: string enum: - CREDIT description: This field indicates the line item amount is a credit (negative amount) This is a Level 3 Transaction specific indicator minLength: 1 maxLength: 50 shipping_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country: type: string description: This is the country of the shipping addressThe country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US supplementary_data: type: array items: type: object properties: type: type: string enum: - PRM - VISA_DIRECT_AFT description: The type of supplementary data to be submitted minLength: 1 maxLength: 50 example: PRM fields: type: array description: Array of additional data to support the type of supplementary data provided items: type: string example: - 'merchantName:Adidas.com;mcc:1234;failedCardAttempts:2;productInformation:02;cart:name1' - item_name1 - quantity1 - amount1 - desc1 - item_name2 - quantity2 - amount2 - desc2… service_address: type: object properties: city: type: string description: 'The city where the cardholder received the services, only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: atlanta state: type: string description: 'The state or region where the cardholder received the services, only applicable if it is different from the merchants business location. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: GA country: type: string description: 'The country where the cardholder recieved the services. For example, if the transaction occured in Canada it must be set to CA.The country in ISO-3166-1(alpha-2 code) format. Only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: US postal_code: type: string description: 'The postal code where the cardholder received the services, only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: '12345' alternate_charge: type: object properties: type: type: string enum: - GOODS_AND_SERVICES_TAX - ROOM_TAX - AIRPORT_TAX - FOOD - BEVERAGE - FOOD_OR_BEVERAGE - BAR - LODGING - RESTAURANT_OR_ROOM_SERVICE - CATERING_CHARGES - BAR_OR_MINI_BAR - PHONE - INTERNET_SERVICE - MOVIES_OR_PAY_PER_VIEW - LAUNDRY_OR_DRY_CLEANING - BARBER_OR_BEAUTY_SALON - HEALTH_AND_FITNESS - GIFT_SHOP - PRO_SHOP - PARKING - PET_FEES - TOURS - EQUIPMENT_RENTAL - BUSINESS_CENTER - CONVENTION_FEES - MEETING_OR_CONFERENCE_CHARGES - NO_SHOW_CHARGE - EXPRESS_SERVICE_CHARGE - CHARGES_ADDED_AFTER_CHECK_OUT_OR_DEPARTURE - MISC_CHARGES_OR_FEES - MISCELLANEOUS_TAX - REWARD_PROGRAM_TRANSACTION - SURCHARGE - FREIGHT_OR_SHIPPING_OR_HANDLING - SALES_TAX - VALUE_ADDED_TAX - TIP_GRATUITY - AUTO_RENTAL_ADJUSTMENT description: 'The breakdown of charges specific to a particular market, region, or transaction type.' minLength: 1 maxLength: 50 amount: type: string description: The value of any additional amount applied for a specific amount type. Applied for AMEX only. minLength: 1 maxLength: 50 funding: type: string enum: - CREDIT - DEBIT description: | "> Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. minLength: 1 maxLength: 50 discounts: type: object properties: total_amount: type: string description: The total transaction discount amount. minLength: 1 maxLength: 50 name: type: string description: The name of the discount applied to the transaction.This field is used for reporting. minLength: 1 maxLength: 50 amount: type: string description: The dollar amount of discount applied to a transaction. Corresponds with total_amount. minLength: 1 maxLength: 50 percentage: type: string description: The discount percentage applied to a transaction. Corresponds with transDiscountName. This does not impact transaction functionality. It is used for reporting purposes. minLength: 1 maxLength: 50 priority_order: type: string description: Indicates the priority order in which discounts are applied at both the order and product levels. minLength: 1 maxLength: 50 usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates if the discount can be stacked with other discounts. minLength: 1 maxLength: 50 currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER stored_credential: type: object properties: contract_reference: type: string description: This is a Merchant defined reference used to identify the recurring transaction. This is required in Mexico and represents the agreement id between the merchant and the cardholder for a specific subscription or recurring charge. model: type: string enum: - UNSCHEDULED - RECURRING - SUBSCRIPTION - INSTALLMENT - PARTIAL_SHIPMENT - THIRD_PARTY - ISSUER_INSTALMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions. * `UNSCHEDULED` - the transaction is ad hoc or unscheduled. For example a payer visiting a merchant to make purchase using the payment method stored with the merchant. * `RECURRING` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. * `SUBSCRIPTION` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. The amount taken is based on the usage by the payer of the good or service. for example a monthly mobile phone bill. * `INSTALLMENT` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions and where the amount is known and agreed in advanced. For example the payment in full of a good in fixed installments over a defined period of time. * `PARTIAL_SHIPMENT` - the transaction is initiated by the merchant to capture payment for a portion of the order that is shipped or fulfilled. Multiple transactions may occur against the same original authorization as goods or services are delivered in parts. * `THIRD_PARTY_INSTALLMENT` - The transaction is initiated by the merchant as part of an installment payment plan administered by a third party provider. * `ISSUER_INSTALLMENT` - The transaction is initiated by the merchant for a payment that has been converted into an installment plan by the card issuer. The merchant processes transactions according to installment terms defined by the issuer. minLength: 1 maxLength: 50 example: RECURRING reason: type: string enum: - INCREMENTAL - RESUBMISSION - REAUTHORIZATION - DELAYED - NO_SHOW description: The reason stored credentials are being used to to create a transaction. minLength: 1 maxLength: 50 example: INCREMENTAL sequence: type: string enum: - FIRST - SUBSEQUENT - LAST description: 'Indicates the order of this transaction in the sequence of a planned, repeating transaction processing model.' minLength: 1 maxLength: 50 example: SUBSEQUENT notifications: type: object properties: return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain status events that occur on the platform. challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. decoupled_challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication when the authentication is decoupled and separate to the purchase. payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ON_SUCCESS - ALWAYS description: Indicates whether to store the payer as part of a transaction. example: ON_SUCCESS email: type: string description: The email address of the payer. minLength: 1 maxLength: 50 language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name: type: string description: The first name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE last_name: type: string description: The last name of the owner of the payment method minLength: 1 maxLength: 50 example: DOE name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS payer_relationship_mode: type: string enum: - USE_PAYER_REFERENCE description: Used to Specify whether to store the Tokenized card against the payer reference provided by the integrator minLength: 1 maxLength: 50 example: USE_PAYER_REFERENCE usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - When creating the payment method token, this indicates it is temporary and will be removed once a transaction is executed or after a short period of time * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: SINGLE program_type: type: string enum: - WALLET_TRANSFER - ACCOUNT_TO_ACCOUNT - DIRECT_TRANSFER - CONSUMER_BILL_PAYMENT description: This Indicates the Program type for the Bill payment example: WALLET_TRANSFER encryption: type: object properties: method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII authentication: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE card: type: object properties: number: type: string description: The card number used to authorize the transaction. Also known as PAN (Primary Account Number). minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 track_number: type: string description: '"The number that identifies the track data type. This field is required if the track data is encrypted."' minLength: 1 maxLength: 1 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 chip_condition: type: string enum: - PREV_SUCCESS - PREV_FAILED - NON_CHIP_TRANSACTION - UNKNOWN description: | Indicates if a fallback mechanism was used to obtain the card information when EMV/chip did not work as expected. * `PREV_SUCCESS` - indicates the previous transaction with this card was a success. * `PREV_FAILED` - indicates the previous transaction with this card failed. * `NON_CHIP_TRANSACTION` - indicates this was not a chip transaction. * `UNKNOWN` - indicates the reason is unknown. minLength: 1 maxLength: 50 example: PREV_SUCCESS pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 pin_key_serial_number: type: string description: The key serial number associated with the pin provided. minLength: 1 maxLength: 50 account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 voucher_number: type: string description: The voucher number associated with the Electronic Voucher card example: '123456789012345' voucher_code: type: string description: The voucher code associated with the Electronic Voucher card example: '1234' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 network_token: type: string description: The network token provided by the brands as a more secure alternative to the card number. example: '4895370019060711' network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' swipe_reason: type: string enum: - TERMINAL_CONNECTION_ERROR - CARD_COMPATIBILITY_ERROR description: | The condition that caused the chip or POS reader to fail. When this happens, the POS device offers a fallback option and provides the fallback condition. * `TERMINAL_CONNECTION_ERROR` - Failure due to connection issues.The ICC and terminal could not exchange EMV data with each other to complete a flow. * `CARD_COMPATIBILITY_ERROR` - Failure due to compatibiliyt issues.The ICC and terminal do not share a common AID that would have allowed a transaction to happen. example: TERMINAL_CONNECTION_ERROR payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' number_reference_identifier: type: string description: The PAN reference identifier for the payment account of the cardholder. Available for Visa and Discover transactions. minLength: 1 maxLength: 50 track_emulated: type: string description: The data from the magnetic stripe. This may include track 1 and/or track 2. Emulated Track Data can be generated by entering the card details manually using the emulated key board. decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' consent: type: object title: consent properties: id: type: string description: A unique identifier that is used to identify and reference an instance of consent. It is generated by Global Payments to identify the consent details used with this transaction example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA cvv: type: string description: The numeric value printed on the physical card. minLength: 1 maxLength: 50 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_token: type: object title: payment_method.digital_wallet.payment_token_req properties: data: type: string description: Digital Wallet provider defined data minLength: 1 maxLength: 50 dpa_reference: type: string description: Data Processing Agreement (DPA) Identifier provided during onboarding. Registered identifier for the DPA accessing the service. minLength: 1 maxLength: 50 example: e4ff70d9-a345-f0cc-9e06-196ac1bb6801 data_type_indicator: type: string enum: - FULL - PAYMENT - NON_PAYMENT - NONE description: | Identifies the type of encrypted payload to be returned. Possible values are: * FULL - Includes everything: all PCI & PII data (card/token, billing, shipping, consumer); supported by Mastercard, Visa, Amex * PAYMENT - Same as FULL; supported by Mastercard, Visa, Amex * NON_PAYMENT - Includes only PII data (billing, shipping, consumer); supported by Mastercard, Visa * NONE - Returns empty payload; supported by Mastercard, Visa minLength: 1 maxLength: 50 example: FULL payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED decrypt: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the decrypt of digital wallet to be used with this transaction. minLength: 1 maxLength: 50 example: DEC_6a061b51-6e7a-4200-9d8c-01be5e26a5bb brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_payer_status: type: string enum: - REGISTERED description: 'Indicates if the user is registered. For use with Discover, CUP, JCB and Diners only. Mandatory to be sent if the user is registered with the merchant' apm: type: object properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET countries: type: array description: The countries that you want to allow payments from in ISO-3166-1(alpha-2 code) format. items: type: string brand: type: string enum: - ALIPAY - ALIPAYHK - WECHAT description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 payment_code_initiator: type: string enum: - PAYER - MERCHANT description: | Indicates who initiated the payment method code to execute the transaction. * `PAYER` - The consumer who is paying the merchant. * `MERCHANT` - The business who is providing goods or services to the payer. minLength: 1 maxLength: 50 example: PAYER payment_code: type: string description: The payment code generated by the initiator to execute the transaction. minLength: 1 maxLength: 50 seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_holder_type: type: string enum: - PERSONAL - BUSINESS - PAYROLL description: Indicates the category of the bank account example: PERSONAL check_reference: type: string description: The number or reference for the check. sec_code: type: string enum: - CCD - POP - PPD - TEL - WEB description: | Indicates how the transaction was authorized by the merchant. * CCD - Cash Concentration or Disbursement - Can be either a credit or debit application where funds are wither distributed or consolidated between corporate entities. * POP - Point of Sale Entry - Point of sale debit applications non-shared (POS) environment. These transactions are most often initiated by the consumer via a plastic access card. This is only support for normal ACH transactions * PPD - Prearranged Payment and Deposits - used to credit or debit a consumer account. Popularity used for payroll direct deposits and pre-authorized bill payments. * TEL - Telephone-Initiated Entry - Used for the origination of a single entry debit transaction to a consumer's account pursuant to a verbal authorization obtained from the consumer via the telephone. * WEB - Internet (Web)-Initiated Entry - Used for the origination of debit entries (either Single or Recurring Entry) to a consumer's account pursuant to a to an authorization that is obtained from the Receiver via the Internet. example: CCD account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. name: type: string description: The name of the bank. address: type: object properties: line_1: type: string description: First line of the address. example: 123 Merchant Street line_2: type: string description: Second line of the address. example: Suite 2 line_3: type: string description: Third line of the address example: foyer city: type: string description: The city associated with the address. example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: This is the country the bank is located in The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA redirect_http_method: type: string enum: - POST - GET description: The HTTP method to use when redirecting to the redirect_url minLength: 1 maxLength: 50 example: POST redirect_data: type: string description: The data to include in the redirection to the redirect_url minLength: 1 maxLength: 50 qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 qr_code_image_url: type: string description: The URL to the QR Code image that can be rendered to the user. qr_code_time_expired_at: type: string description: The time the QR Code expires and cannot be used. format: date-time minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. minLength: 1 maxLength: 50 device: type: object properties: type: type: string enum: - TERMINAL - MOBILE_PHONE - POS - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN description: | Indicates the type of physical device used to process the transaction. * `TERMINAL` - A device used to prompt the payer to enter their payment method credentials to process a transaction. * `MOBILE_PHONE` - A mobile phone was used as the processing device. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. minLength: 1 maxLength: 50 example: TERMINAL time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 sequence_number: type: string description: The sequence number from the device used to align with the transaction processing platform. minLength: 1 maxLength: 50 serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 gratuity_prompt_mode: type: string enum: - PROMPT - NOT_REQUIRED description: Describes whether a device prompts a payer for a gratuity when the payer is entering their payment method details to the device. minLength: 1 maxLength: 50 example: PROMPT print_receipt_mode: type: string enum: - NONE - PAYER - MERCHANT - BOTH description: Describes the receipts a device prints when processing a transaction. minLength: 1 maxLength: 50 example: BOTH entry_modes: type: array description: Indicates the allowed entry modes for a specific transaction. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE example: - CHIP - SWIPE terminal_id: type: string description: 'A reference that uniquely identifies the merchant point of integration, like a device or website.' minLength: 1 maxLength: 50 application_version: type: string description: Indicates the version of the application being used on the device minLength: 1 maxLength: 50 payer_verifications: type: array description: Indicates the method used to verify the payer. items: type: string enum: - NOT_VERIFIED - PINPAD - ELECTRONIC_SIGNATURE_ANALYSIS - MANUAL_SIGNATURE_ANALYSIS - MANUAL_OTHER - UNKNOWN - SYSTEMATIC_OTHER example: - PINPAD os: type: string enum: - ANDROID - IOS description: | Indicates the operating system on the device * `ANDROID` * `IOS` minLength: 1 maxLength: 50 example: ANDROID reference: type: string description: The integrator submitted reference or identifier for the device. minLength: 1 maxLength: 50 capabilities: type: object properties: entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER example: - CHIP payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL example: - PARTIAL attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count: type: number description: The number of lines that can be used to display information on the device. max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT ip_address: type: string description: The IP address of the device used for this transaction. minLength: 1 maxLength: 50 lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' establishment_name: type: string description: The name of the lodging establishment. minLength: 1 maxLength: 50 time_checked_in: type: string description: The time of the day of the check in. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' time_checked_out: type: string description: The time of the day of the check out. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION installment: type: object properties: id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w reference: type: string description: A unique identifier used to identify the installment plan. example: 7533d4f7-6a10-5557-2e92-132d06157502 program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' terms: type: object properties: version: type: string description: This indicated the version of the Terms and Conditions selected under the installment term example: '2' language: type: string description: | The language for the terms and conditions text. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: eng risk_assessment: type: array items: type: object properties: mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE rules: type: array items: type: object properties: reference: type: string description: This is a system generated fraud rule reference (GUID) that is unique for the fraud rule. minLength: 1 maxLength: 50 example: 5c52428c-1f73-4fdf-ae53-ff62857f89d8 mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE airline: type: object properties: booking_reference: type: string description: A reference for the airline booking. minLength: 1 maxLength: 50 legs: type: array items: type: object properties: flight_number: type: string description: The flight number associated with the leg. minLength: 1 maxLength: 50 number: type: string description: The leg number of the airline booking. minLength: 1 maxLength: 50 time_of_depature: type: string description: The date and time of leg departure format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' time_of_arrival: type: string description: The date and time of leg arrival format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' healthcare: type: object properties: account_type: type: string enum: - FSA - HSA description: Identifies the type of health care account being used. minLength: 1 maxLength: 50 prescription_amount: type: string description: The amount of the health care transaction attributed to prescription expenses. Available for MasterCard and Visa transactions. minLength: 1 maxLength: 50 vision_amount: type: string description: The amount of the health care transaction attributed to vision or optical expenses. Available for Visa transactions. minLength: 1 maxLength: 50 dental_amount: type: string description: The amount of the health care transaction attributed to dental expenses. Available for Visa transactions. minLength: 1 maxLength: 50 clinic_amount: type: string description: The amount of the health care transaction attributed to clinical expenses. Available for Visa transactions. minLength: 1 maxLength: 50 iias_qualified: type: string enum: - 'YES' - 'NO' - EXEMPTED description: Indicates if the purchased items were verified against IIAS (Inventory Information Approval System) as qualified for healthcare. minLength: 1 maxLength: 50 prescription_number: type: string description: The unique number or customer ID assigned by the healthcare provider. minLength: 1 maxLength: 50 payment_facilitator: type: object properties: reference: type: string description: | This field identifies the specific third-party merchant (i.e., the sub-merchant) that is submitting the transaction. A facilitator/payment facilitator acts as an aggregator on behalf of multiple third-party merchants. Merchants that process transactions under another merchant’s (facilitator’s) account are considered third-party merchants. Length limits Visa / Mastercard / Discover: maximum 11 characters American Express: maximum 20 characters minLength: 1 maxLength: 50 name: type: string description: The business name of the third-party merchant (sub-merchant) submitting the transaction. A facilitator acts as an aggregator for multiple third-party merchants; merchants processing under a facilitator’s account are considered third-party merchants. minLength: 1 maxLength: 50 sub_merchant_reference: type: string description: | The identifier of the third-party merchant (sub-merchant) submitting the transaction. Note:Field is not supported by Discover card brand. minLength: 1 maxLength: 50 sub_merchant_name: type: string description: The name of the third-party merchant (sub-merchant) submitting the transaction. minLength: 1 maxLength: 50 sub_merchant_country: type: string description: The ISO country code for the third-party merchant’s address. minLength: 1 maxLength: 50 example: US sub_merchant_state: type: string description: The state or province code for the third-party merchant’s address. minLength: 1 maxLength: 50 example: 'AB, BC, MB' sub_merchant_city: type: string description: The city for the third-party merchant’s address. minLength: 1 maxLength: 50 sub_merchant_postal_code: type: string description: The postal/ZIP code for the third-party merchant’s address. minLength: 1 maxLength: 50 sub_merchant_business_phone: type: string description: The third-party merchant’s phone number. minLength: 1 maxLength: 50 iso_reference: type: string description: The unique identifier of the Independent Sales Organization (ISO) associated with the merchant. minLength: 1 maxLength: 50 merchant_email: type: string description: The third-party merchant’s email address. minLength: 1 maxLength: 50 required: - account_name - channel - country - amount - currency - reference - payment_method account_name_TRANSACTIONS.account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing type_TRANSACTIONS.type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE channel_TRANSACTIONS.channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country_TRANSACTIONS.country: type: string description: '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.' minLength: 2 maxLength: 2 example: US capture_mode_TRANSACTIONS.capture_mode: type: string enum: - AUTO - LATER - MULTIPLE - LATER_FINAL description: | Indicates 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. minLength: 1 maxLength: 50 default: AUTO example: AUTO total_capture_count_TRANSACTIONS.total_capture_count: type: number description: Indicates the total or expected total of captures that will executed against a transaction that can be captured multiple times. authorization_mode_TRANSACTIONS.authorization_mode: type: string enum: - PARTIAL - DEFERRED description: | 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 minLength: 1 maxLength: 50 example: PARTIAL deferred_time_created_TRANSACTIONS.deferred_time_created: type: string description: This field should be sent on all Deferred Authorizations and reflect the time the transaction was created in the POS application. format: date-time example: '2026-05-03T21:23:39.718Z' amount_TRANSACTIONS.amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency_TRANSACTIONS.currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD gratuity_amount_TRANSACTIONS.gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' cashback_amount_TRANSACTIONS.cashback_amount: type: string description: The amount of the transaction that relates to cashback. minLength: 1 maxLength: 50 example: '11099' surcharge_amount_TRANSACTIONS.surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '11099' surcharge_type_TRANSACTIONS.surcharge_type: type: string enum: - DEBIT - CREDIT description: This indicates whether the surcharge is a DEBIT or CREDIT to the merchant minLength: 1 maxLength: 50 example: DEBIT convenience_amount_TRANSACTIONS.convenience_amount: type: string description: The amount that reflects the charge the merchant applied to the transaction for availing of a more convenient purchase. minLength: 1 maxLength: 50 example: '11099' reference_TRANSACTIONS.reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e description_TRANSACTIONS.description: type: string description: Merchant defined description for the transaction. minLength: 1 maxLength: 50 example: SKU#BLK-MED-G123-GUC language_TRANSACTIONS.language: type: string description: Indicates 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) minLength: 1 maxLength: 50 example: fr_CA check_for_duplicate_TRANSACTIONS.check_for_duplicate: type: string enum: - 'YES' - 'NO' description: This flag is set by the merchant to indicate if duplicate checking on this transaction can be skipped minLength: 1 maxLength: 50 default: 'NO' example: 'NO' ip_address_TRANSACTIONS.ip_address: type: string description: Indicates the source IP Address of the system used to process the transaction with Global Payments. minLength: 1 maxLength: 50 site_reference_TRANSACTIONS.site_reference: type: string description: A merchant defined reference for the location that created the transaction. minLength: 1 maxLength: 50 user_reference_TRANSACTIONS.user_reference: type: string description: The 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. minLength: 1 maxLength: 50 payer_reference_TRANSACTIONS.payer_reference: type: string description: 'The 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.' minLength: 1 maxLength: 50 merchant_category_TRANSACTIONS.merchant_category: type: string enum: - HOTEL - AIRLINE - RETAIL - TOP_UP - PLAYER - CD_KEY - DEBT_REPAYMENT - HEALTHCARE - ACCOUNT_FUNDING_TRANSACTIONS - BILL_PAY - OTHER - GAMING description: Indicates what industry the merchant belongs to. minLength: 1 maxLength: 50 default: OTHER example: OTHER merchant_category_code_TRANSACTIONS.merchant_category_code: type: string description: A four-digit number used to classify the merchant into an industry or market segment. minLength: 1 maxLength: 50 merchant_benefits_reference_TRANSACTIONS.merchant_benefits_reference: type: string description: 'This 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.' example: '98098' reference_TRANSACTIONS.order.reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 description_TRANSACTIONS.order.description: type: string description: The merchant's description of the order the transaction is associated with.. minLength: 1 maxLength: 50 amount_TRANSACTIONS.order.amount: type: string description: The total amount of the order across all items being purchased and all charges. minLength: 1 maxLength: 50 amount_label_TRANSACTIONS.order.amount_label: type: string description: A label to associate with the amount. This is typically a currency code or symbol. minLength: 1 maxLength: 50 currency_TRANSACTIONS.order.currency: type: string description: The currency of the amount of the order. minLength: 1 maxLength: 50 item_amount_TRANSACTIONS.order.item_amount: type: string description: The total amount of the order across all items being purchased exclusive of charges separate to the items being bought. minLength: 1 maxLength: 50 item_quantity_TRANSACTIONS.order.item_quantity: type: number description: The total number of items being purchased across all items. insurance_offered_TRANSACTIONS.order.insurance_offered: type: string enum: - 'YES' - 'NO' description: Indicates where insurance was offered with the order. minLength: 1 maxLength: 50 example: 'NO' insurance_amount_TRANSACTIONS.order.insurance_amount: type: string description: The total amount of the insurance being with the order. minLength: 1 maxLength: 50 handling_amount_TRANSACTIONS.order.handling_amount: type: string description: The total amount incurred for handling the order. minLength: 1 maxLength: 50 tax_amount_TRANSACTIONS.order.tax_amount: type: string description: The total tax amount associated with the order. minLength: 1 maxLength: 50 tax_amount_label_TRANSACTIONS.order.tax_amount_label: type: string description: A label to associate with the tax amount. This is typically a currency code or symbol. minLength: 1 maxLength: 50 shipping_amount_TRANSACTIONS.order.shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' shipping_discount_TRANSACTIONS.order.shipping_discount: type: string description: The total shipping discount amount incurred for the order. minLength: 1 maxLength: 50 total_amount_TRANSACTIONS.order.items.total_amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 reference_TRANSACTIONS.order.items.reference: type: string description: A reference for the group of items being purchased with the order. minLength: 1 maxLength: 50 label_TRANSACTIONS.order.items.label: type: string description: A label associated with the items being purchased. minLength: 1 maxLength: 50 category_TRANSACTIONS.order.items.category: type: string description: Indicates the category if item being purchased minLength: 1 maxLength: 50 description_TRANSACTIONS.order.items.description: type: string description: A description of the group of items being purchased with the order. minLength: 1 maxLength: 50 quantity_TRANSACTIONS.order.items.quantity: type: string description: The quantity of a specific item being purchased minLength: 1 maxLength: 50 unit_amount_TRANSACTIONS.order.items.unit_amount: type: string description: The price of a single specific item being purchased. minLength: 1 maxLength: 50 unit_currency_TRANSACTIONS.order.items.unit_currency: type: string description: The currency of the price of a single specific item being purchased. minLength: 1 maxLength: 50 tax_amount_TRANSACTIONS.order.items.tax_amount: type: string description: The tax amount associated with the items being purchased. minLength: 1 maxLength: 50 shipping_amount_TRANSACTIONS.order.items.shipping_amount: type: string description: The shipping amount associated with the items being purchased. minLength: 1 maxLength: 50 shipping_discount_TRANSACTIONS.order.items.shipping_discount: type: string description: The shipping discount amount with the items being purchased minLength: 1 maxLength: 50 url_TRANSACTIONS.order.items.url: type: string description: The url of the item being purchased. tax_id_reference_TRANSACTIONS.order.items.tax_id_reference: type: string description: The tax identification number of the merchant that reported the alternate tax amount. minLength: 1 maxLength: 50 funding_TRANSACTIONS.order.items.funding: type: string enum: - CREDIT description: This field indicates the line item amount is a credit (negative amount) This is a Level 3 Transaction specific indicator minLength: 1 maxLength: 50 line_1_TRANSACTIONS.order.shipping_address.line_1: type: string description: First line of the address. minLength: 1 maxLength: 50 example: 123 Merchant Street line_2_TRANSACTIONS.order.shipping_address.line_2: type: string description: Second line of the address. minLength: 1 maxLength: 50 example: Suite 2 line_3_TRANSACTIONS.order.shipping_address.line_3: type: string description: Third line of the address minLength: 1 maxLength: 50 example: foyer city_TRANSACTIONS.order.shipping_address.city: type: string description: The city associated with the address. minLength: 1 maxLength: 50 example: Beverly Hills state_TRANSACTIONS.order.shipping_address.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: CA postal_code_TRANSACTIONS.order.shipping_address.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 50 example: '90210' country_TRANSACTIONS.order.shipping_address.country: type: string description: This is the country of the shipping addressThe country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US type_TRANSACTIONS.order.supplementary_data.type: type: string enum: - PRM - VISA_DIRECT_AFT description: The type of supplementary data to be submitted minLength: 1 maxLength: 50 example: PRM fields_TRANSACTIONS.order.supplementary_data.fields: type: array description: Array of additional data to support the type of supplementary data provided items: type: string example: - 'merchantName:Adidas.com;mcc:1234;failedCardAttempts:2;productInformation:02;cart:name1' - item_name1 - quantity1 - amount1 - desc1 - item_name2 - quantity2 - amount2 - desc2… city_TRANSACTIONS.order.service_address.city: type: string description: 'The city where the cardholder received the services, only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: atlanta state_TRANSACTIONS.order.service_address.state: type: string description: 'The state or region where the cardholder received the services, only applicable if it is different from the merchants business location. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 50 example: GA country_TRANSACTIONS.order.service_address.country: type: string description: 'The country where the cardholder recieved the services. For example, if the transaction occured in Canada it must be set to CA.The country in ISO-3166-1(alpha-2 code) format. Only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: US postal_code_TRANSACTIONS.order.service_address.postal_code: type: string description: 'The postal code where the cardholder received the services, only applicable if it is different from the merchants business location.' minLength: 1 maxLength: 50 example: '12345' type_TRANSACTIONS.order.alternate_charge.type: type: string enum: - GOODS_AND_SERVICES_TAX - ROOM_TAX - AIRPORT_TAX - FOOD - BEVERAGE - FOOD_OR_BEVERAGE - BAR - LODGING - RESTAURANT_OR_ROOM_SERVICE - CATERING_CHARGES - BAR_OR_MINI_BAR - PHONE - INTERNET_SERVICE - MOVIES_OR_PAY_PER_VIEW - LAUNDRY_OR_DRY_CLEANING - BARBER_OR_BEAUTY_SALON - HEALTH_AND_FITNESS - GIFT_SHOP - PRO_SHOP - PARKING - PET_FEES - TOURS - EQUIPMENT_RENTAL - BUSINESS_CENTER - CONVENTION_FEES - MEETING_OR_CONFERENCE_CHARGES - NO_SHOW_CHARGE - EXPRESS_SERVICE_CHARGE - CHARGES_ADDED_AFTER_CHECK_OUT_OR_DEPARTURE - MISC_CHARGES_OR_FEES - MISCELLANEOUS_TAX - REWARD_PROGRAM_TRANSACTION - SURCHARGE - FREIGHT_OR_SHIPPING_OR_HANDLING - SALES_TAX - VALUE_ADDED_TAX - TIP_GRATUITY - AUTO_RENTAL_ADJUSTMENT description: 'The breakdown of charges specific to a particular market, region, or transaction type.' minLength: 1 maxLength: 50 amount_TRANSACTIONS.order.alternate_charge.amount: type: string description: The value of any additional amount applied for a specific amount type. Applied for AMEX only. minLength: 1 maxLength: 50 funding_TRANSACTIONS.order.alternate_charge.funding: type: string enum: - CREDIT - DEBIT description: | "> Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. minLength: 1 maxLength: 50 total_amount_TRANSACTIONS.order.discounts.total_amount: type: string description: The total transaction discount amount. minLength: 1 maxLength: 50 name_TRANSACTIONS.order.discounts.name: type: string description: The name of the discount applied to the transaction.This field is used for reporting. minLength: 1 maxLength: 50 amount_TRANSACTIONS.order.discounts.amount: type: string description: The dollar amount of discount applied to a transaction. Corresponds with total_amount. minLength: 1 maxLength: 50 percentage_TRANSACTIONS.order.discounts.percentage: type: string description: The discount percentage applied to a transaction. Corresponds with transDiscountName. This does not impact transaction functionality. It is used for reporting purposes. minLength: 1 maxLength: 50 priority_order_TRANSACTIONS.order.discounts.priority_order: type: string description: Indicates the priority order in which discounts are applied at both the order and product levels. minLength: 1 maxLength: 50 usage_mode_TRANSACTIONS.order.discounts.usage_mode: type: string enum: - SINGLE - MULTIPLE description: Indicates if the discount can be stacked with other discounts. minLength: 1 maxLength: 50 id_TRANSACTIONS.currency_conversion.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb initiator_TRANSACTIONS.initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER contract_reference_TRANSACTIONS.stored_credential.contract_reference: type: string description: This is a Merchant defined reference used to identify the recurring transaction. This is required in Mexico and represents the agreement id between the merchant and the cardholder for a specific subscription or recurring charge. model_TRANSACTIONS.stored_credential.model: type: string enum: - UNSCHEDULED - RECURRING - SUBSCRIPTION - INSTALLMENT - PARTIAL_SHIPMENT - THIRD_PARTY - ISSUER_INSTALMENT description: | Indicates the transaction processing model being executed when using stored credentials for merchant initiated transactions. * `UNSCHEDULED` - the transaction is ad hoc or unscheduled. For example a payer visiting a merchant to make purchase using the payment method stored with the merchant. * `RECURRING` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. * `SUBSCRIPTION` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions. The amount taken is based on the usage by the payer of the good or service. for example a monthly mobile phone bill. * `INSTALLMENT` - The transaction is a repeat transaction initiated by the merchant and taken using the payment method stored with the merchant, as part of an agreed schedule of transactions and where the amount is known and agreed in advanced. For example the payment in full of a good in fixed installments over a defined period of time. * `PARTIAL_SHIPMENT` - the transaction is initiated by the merchant to capture payment for a portion of the order that is shipped or fulfilled. Multiple transactions may occur against the same original authorization as goods or services are delivered in parts. * `THIRD_PARTY_INSTALLMENT` - The transaction is initiated by the merchant as part of an installment payment plan administered by a third party provider. * `ISSUER_INSTALLMENT` - The transaction is initiated by the merchant for a payment that has been converted into an installment plan by the card issuer. The merchant processes transactions according to installment terms defined by the issuer. minLength: 1 maxLength: 50 example: RECURRING reason_TRANSACTIONS.stored_credential.reason: type: string enum: - INCREMENTAL - RESUBMISSION - REAUTHORIZATION - DELAYED - NO_SHOW description: The reason stored credentials are being used to to create a transaction. minLength: 1 maxLength: 50 example: INCREMENTAL sequence_TRANSACTIONS.stored_credential.sequence: type: string enum: - FIRST - SUBSEQUENT - LAST description: 'Indicates the order of this transaction in the sequence of a planned, repeating transaction processing model.' minLength: 1 maxLength: 50 example: SUBSEQUENT return_url_TRANSACTIONS.notifications.return_url: type: string description: 'The merchant URL to return the payer to, once the payer has completed payment using the payment method. This returns control of the payer''s payment experience to the merchant.' status_url_TRANSACTIONS.notifications.status_url: type: string description: Indicates to Global Payments where the merchant wants to receive notifications of certain status events that occur on the platform. challenge_return_url_TRANSACTIONS.notifications.challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication challenge process. three_ds_method_return_url_TRANSACTIONS.notifications.three_ds_method_return_url: type: string description: The merchant URL that will receive the notification when the 3DS ACS successfully gathers device information. decoupled_challenge_return_url_TRANSACTIONS.notifications.decoupled_challenge_return_url: type: string description: The merchant URL that will receive the notification when the customer has completed the authentication when the authentication is decoupled and separate to the purchase. id_TRANSACTIONS.payer.id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name_TRANSACTIONS.payer.first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name_TRANSACTIONS.payer.last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference_TRANSACTIONS.payer.reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 storage_mode_TRANSACTIONS.payer.storage_mode: type: string enum: - ON_SUCCESS - ALWAYS description: Indicates whether to store the payer as part of a transaction. example: ON_SUCCESS email_TRANSACTIONS.payer.email: type: string description: The email address of the payer. minLength: 1 maxLength: 50 language_TRANSACTIONS.payer.language: type: string description: The preferred language of the payer. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: en payment_method_request: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name: type: string description: The first name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE last_name: type: string description: The last name of the owner of the payment method minLength: 1 maxLength: 50 example: DOE name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS payer_relationship_mode: type: string enum: - USE_PAYER_REFERENCE description: Used to Specify whether to store the Tokenized card against the payer reference provided by the integrator minLength: 1 maxLength: 50 example: USE_PAYER_REFERENCE usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - When creating the payment method token, this indicates it is temporary and will be removed once a transaction is executed or after a short period of time * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: SINGLE program_type: type: string enum: - WALLET_TRANSFER - ACCOUNT_TO_ACCOUNT - DIRECT_TRANSFER - CONSUMER_BILL_PAYMENT description: This Indicates the Program type for the Bill payment example: WALLET_TRANSFER encryption: type: object properties: method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII authentication: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE card: type: object properties: number: type: string description: The card number used to authorize the transaction. Also known as PAN (Primary Account Number). minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 track_number: type: string description: '"The number that identifies the track data type. This field is required if the track data is encrypted."' minLength: 1 maxLength: 1 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 chip_condition: type: string enum: - PREV_SUCCESS - PREV_FAILED - NON_CHIP_TRANSACTION - UNKNOWN description: | Indicates if a fallback mechanism was used to obtain the card information when EMV/chip did not work as expected. * `PREV_SUCCESS` - indicates the previous transaction with this card was a success. * `PREV_FAILED` - indicates the previous transaction with this card failed. * `NON_CHIP_TRANSACTION` - indicates this was not a chip transaction. * `UNKNOWN` - indicates the reason is unknown. minLength: 1 maxLength: 50 example: PREV_SUCCESS pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 pin_key_serial_number: type: string description: The key serial number associated with the pin provided. minLength: 1 maxLength: 50 account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 voucher_number: type: string description: The voucher number associated with the Electronic Voucher card example: '123456789012345' voucher_code: type: string description: The voucher code associated with the Electronic Voucher card example: '1234' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 network_token: type: string description: The network token provided by the brands as a more secure alternative to the card number. example: '4895370019060711' network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' swipe_reason: type: string enum: - TERMINAL_CONNECTION_ERROR - CARD_COMPATIBILITY_ERROR description: | The condition that caused the chip or POS reader to fail. When this happens, the POS device offers a fallback option and provides the fallback condition. * `TERMINAL_CONNECTION_ERROR` - Failure due to connection issues.The ICC and terminal could not exchange EMV data with each other to complete a flow. * `CARD_COMPATIBILITY_ERROR` - Failure due to compatibiliyt issues.The ICC and terminal do not share a common AID that would have allowed a transaction to happen. example: TERMINAL_CONNECTION_ERROR payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' number_reference_identifier: type: string description: The PAN reference identifier for the payment account of the cardholder. Available for Visa and Discover transactions. minLength: 1 maxLength: 50 track_emulated: type: string description: The data from the magnetic stripe. This may include track 1 and/or track 2. Emulated Track Data can be generated by entering the card details manually using the emulated key board. decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' consent: type: object title: consent properties: id: type: string description: A unique identifier that is used to identify and reference an instance of consent. It is generated by Global Payments to identify the consent details used with this transaction example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA cvv: type: string description: The numeric value printed on the physical card. minLength: 1 maxLength: 50 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_token: type: object title: payment_method.digital_wallet.payment_token_req properties: data: type: string description: Digital Wallet provider defined data minLength: 1 maxLength: 50 dpa_reference: type: string description: Data Processing Agreement (DPA) Identifier provided during onboarding. Registered identifier for the DPA accessing the service. minLength: 1 maxLength: 50 example: e4ff70d9-a345-f0cc-9e06-196ac1bb6801 data_type_indicator: type: string enum: - FULL - PAYMENT - NON_PAYMENT - NONE description: | Identifies the type of encrypted payload to be returned. Possible values are: * FULL - Includes everything: all PCI & PII data (card/token, billing, shipping, consumer); supported by Mastercard, Visa, Amex * PAYMENT - Same as FULL; supported by Mastercard, Visa, Amex * NON_PAYMENT - Includes only PII data (billing, shipping, consumer); supported by Mastercard, Visa * NONE - Returns empty payload; supported by Mastercard, Visa minLength: 1 maxLength: 50 example: FULL payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED decrypt: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the decrypt of digital wallet to be used with this transaction. minLength: 1 maxLength: 50 example: DEC_6a061b51-6e7a-4200-9d8c-01be5e26a5bb brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_payer_status: type: string enum: - REGISTERED description: 'Indicates if the user is registered. For use with Discover, CUP, JCB and Diners only. Mandatory to be sent if the user is registered with the merchant' apm: type: object properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET countries: type: array description: The countries that you want to allow payments from in ISO-3166-1(alpha-2 code) format. items: type: string brand: type: string enum: - ALIPAY - ALIPAYHK - WECHAT description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 payment_code_initiator: type: string enum: - PAYER - MERCHANT description: | Indicates who initiated the payment method code to execute the transaction. * `PAYER` - The consumer who is paying the merchant. * `MERCHANT` - The business who is providing goods or services to the payer. minLength: 1 maxLength: 50 example: PAYER payment_code: type: string description: The payment code generated by the initiator to execute the transaction. minLength: 1 maxLength: 50 seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_holder_type: type: string enum: - PERSONAL - BUSINESS - PAYROLL description: Indicates the category of the bank account example: PERSONAL check_reference: type: string description: The number or reference for the check. sec_code: type: string enum: - CCD - POP - PPD - TEL - WEB description: | Indicates how the transaction was authorized by the merchant. * CCD - Cash Concentration or Disbursement - Can be either a credit or debit application where funds are wither distributed or consolidated between corporate entities. * POP - Point of Sale Entry - Point of sale debit applications non-shared (POS) environment. These transactions are most often initiated by the consumer via a plastic access card. This is only support for normal ACH transactions * PPD - Prearranged Payment and Deposits - used to credit or debit a consumer account. Popularity used for payroll direct deposits and pre-authorized bill payments. * TEL - Telephone-Initiated Entry - Used for the origination of a single entry debit transaction to a consumer's account pursuant to a verbal authorization obtained from the consumer via the telephone. * WEB - Internet (Web)-Initiated Entry - Used for the origination of debit entries (either Single or Recurring Entry) to a consumer's account pursuant to a to an authorization that is obtained from the Receiver via the Internet. example: CCD account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. name: type: string description: The name of the bank. address: type: object properties: line_1: type: string description: First line of the address. example: 123 Merchant Street line_2: type: string description: Second line of the address. example: Suite 2 line_3: type: string description: Third line of the address example: foyer city: type: string description: The city associated with the address. example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: This is the country the bank is located in The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA redirect_http_method: type: string enum: - POST - GET description: The HTTP method to use when redirecting to the redirect_url minLength: 1 maxLength: 50 example: POST redirect_data: type: string description: The data to include in the redirection to the redirect_url minLength: 1 maxLength: 50 qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 qr_code_image_url: type: string description: The URL to the QR Code image that can be rendered to the user. qr_code_time_expired_at: type: string description: The time the QR Code expires and cannot be used. format: date-time minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. minLength: 1 maxLength: 50 id_TRANSACTIONS.payment_method.id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name_TRANSACTIONS.payment_method.first_name: type: string description: The first name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE last_name_TRANSACTIONS.payment_method.last_name: type: string description: The last name of the owner of the payment method minLength: 1 maxLength: 50 example: DOE name_TRANSACTIONS.payment_method.name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE entry_mode_TRANSACTIONS.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative_TRANSACTIONS.payment_method.narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 storage_mode_TRANSACTIONS.payment_method.storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS fingerprint_mode_TRANSACTIONS.payment_method.fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. * `ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. * `ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 example: ALWAYS payer_relationship_mode_TRANSACTIONS.payment_method.payer_relationship_mode: type: string enum: - USE_PAYER_REFERENCE description: Used to Specify whether to store the Tokenized card against the payer reference provided by the integrator minLength: 1 maxLength: 50 example: USE_PAYER_REFERENCE usage_mode_TRANSACTIONS.payment_method.usage_mode: type: string enum: - SINGLE - MULTIPLE - USE_CARD_NUMBER - USE_NETWORK_TOKEN description: | Indicates the behaviour of the payment method token. * `SINGLE` - When creating the payment method token, this indicates it is temporary and will be removed once a transaction is executed or after a short period of time * `MULTIPLE` - When creating the payment method token, this indicates it is permanent and can be used to create many transactions. * `USE_CARD_NUMBER` - When using the payment method token to transaction process, this indicates to use the card number also known as the PAN or FPAN. * `USE_NETWORK_TOKEN` - When using the payment method token to transaction process, this indicates to use the network token instead of the card number. minLength: 1 maxLength: 50 example: SINGLE program_type_TRANSACTIONS.payment_method.program_type: type: string enum: - WALLET_TRANSFER - ACCOUNT_TO_ACCOUNT - DIRECT_TRANSFER - CONSUMER_BILL_PAYMENT description: This Indicates the Program type for the Bill payment example: WALLET_TRANSFER method_TRANSACTIONS.payment_method.encryption.method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version_TRANSACTIONS.payment_method.encryption.version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info_TRANSACTIONS.payment_method.encryption.info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type_TRANSACTIONS.payment_method.encryption.type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII id_TRANSACTIONS.payment_method.authentication.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb message_version_TRANSACTIONS.payment_method.authentication.three_ds.message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci_TRANSACTIONS.payment_method.authentication.three_ds.eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value_TRANSACTIONS.payment_method.authentication.three_ds.value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 server_trans_ref_TRANSACTIONS.payment_method.authentication.three_ds.server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref_TRANSACTIONS.payment_method.authentication.three_ds.ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status_TRANSACTIONS.payment_method.authentication.three_ds.exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE card_request: type: object properties: number: type: string description: The card number used to authorize the transaction. Also known as PAN (Primary Account Number). minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 track_number: type: string description: '"The number that identifies the track data type. This field is required if the track data is encrypted."' minLength: 1 maxLength: 1 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 chip_condition: type: string enum: - PREV_SUCCESS - PREV_FAILED - NON_CHIP_TRANSACTION - UNKNOWN description: | Indicates if a fallback mechanism was used to obtain the card information when EMV/chip did not work as expected. * `PREV_SUCCESS` - indicates the previous transaction with this card was a success. * `PREV_FAILED` - indicates the previous transaction with this card failed. * `NON_CHIP_TRANSACTION` - indicates this was not a chip transaction. * `UNKNOWN` - indicates the reason is unknown. minLength: 1 maxLength: 50 example: PREV_SUCCESS pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 pin_key_serial_number: type: string description: The key serial number associated with the pin provided. minLength: 1 maxLength: 50 account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 voucher_number: type: string description: The voucher number associated with the Electronic Voucher card example: '123456789012345' voucher_code: type: string description: The voucher code associated with the Electronic Voucher card example: '1234' brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 network_token: type: string description: The network token provided by the brands as a more secure alternative to the card number. example: '4895370019060711' network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' swipe_reason: type: string enum: - TERMINAL_CONNECTION_ERROR - CARD_COMPATIBILITY_ERROR description: | The condition that caused the chip or POS reader to fail. When this happens, the POS device offers a fallback option and provides the fallback condition. * `TERMINAL_CONNECTION_ERROR` - Failure due to connection issues.The ICC and terminal could not exchange EMV data with each other to complete a flow. * `CARD_COMPATIBILITY_ERROR` - Failure due to compatibiliyt issues.The ICC and terminal do not share a common AID that would have allowed a transaction to happen. example: TERMINAL_CONNECTION_ERROR payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' number_reference_identifier: type: string description: The PAN reference identifier for the payment account of the cardholder. Available for Visa and Discover transactions. minLength: 1 maxLength: 50 track_emulated: type: string description: The data from the magnetic stripe. This may include track 1 and/or track 2. Emulated Track Data can be generated by entering the card details manually using the emulated key board. decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' number_TRANSACTIONS.payment_method.card.number: type: string description: The card number used to authorize the transaction. Also known as PAN (Primary Account Number). minLength: 12 maxLength: 19 example: '4263970000005262' expiry_month_TRANSACTIONS.payment_method.card.expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year_TRANSACTIONS.payment_method.card.expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' track_TRANSACTIONS.payment_method.card.track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 track_number_TRANSACTIONS.payment_method.card.track_number: type: string description: '"The number that identifies the track data type. This field is required if the track data is encrypted."' minLength: 1 maxLength: 1 tag_TRANSACTIONS.payment_method.card.tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 chip_condition_TRANSACTIONS.payment_method.card.chip_condition: type: string enum: - PREV_SUCCESS - PREV_FAILED - NON_CHIP_TRANSACTION - UNKNOWN description: | Indicates if a fallback mechanism was used to obtain the card information when EMV/chip did not work as expected. * `PREV_SUCCESS` - indicates the previous transaction with this card was a success. * `PREV_FAILED` - indicates the previous transaction with this card failed. * `NON_CHIP_TRANSACTION` - indicates this was not a chip transaction. * `UNKNOWN` - indicates the reason is unknown. minLength: 1 maxLength: 50 example: PREV_SUCCESS pin_block_TRANSACTIONS.payment_method.card.pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 pin_key_serial_number_TRANSACTIONS.payment_method.card.pin_key_serial_number: type: string description: The key serial number associated with the pin provided. minLength: 1 maxLength: 50 account_type_TRANSACTIONS.payment_method.card.account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 cvv_TRANSACTIONS.payment_method.card.cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator_TRANSACTIONS.payment_method.card.cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address_TRANSACTIONS.payment_method.card.avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code_TRANSACTIONS.payment_method.card.avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 funding_TRANSACTIONS.payment_method.card.funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT authcode_TRANSACTIONS.payment_method.card.authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 voucher_number_TRANSACTIONS.payment_method.card.voucher_number: type: string description: The voucher number associated with the Electronic Voucher card example: '123456789012345' voucher_code_TRANSACTIONS.payment_method.card.voucher_code: type: string description: The voucher code associated with the Electronic Voucher card example: '1234' brand_reference_TRANSACTIONS.payment_method.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 network_token_TRANSACTIONS.payment_method.card.network_token: type: string description: The network token provided by the brands as a more secure alternative to the card number. example: '4895370019060711' network_token_expiry_month_TRANSACTIONS.payment_method.card.network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year_TRANSACTIONS.payment_method.card.network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' swipe_reason_TRANSACTIONS.payment_method.card.swipe_reason: type: string enum: - TERMINAL_CONNECTION_ERROR - CARD_COMPATIBILITY_ERROR description: | The condition that caused the chip or POS reader to fail. When this happens, the POS device offers a fallback option and provides the fallback condition. * `TERMINAL_CONNECTION_ERROR` - Failure due to connection issues.The ICC and terminal could not exchange EMV data with each other to complete a flow. * `CARD_COMPATIBILITY_ERROR` - Failure due to compatibiliyt issues.The ICC and terminal do not share a common AID that would have allowed a transaction to happen. example: TERMINAL_CONNECTION_ERROR payment_account_reference_mode_TRANSACTIONS.payment_method.card.payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED cryptogram_TRANSACTIONS.payment_method.card.cryptogram: type: string description: This is the cryptogram that is needed to process a CIT Network Tokenization request example: AwAAAAABI3p6kP8AAABMgkwAAAA= eci_TRANSACTIONS.payment_method.card.eci: type: string description: This is the cryptogram eci that is needed to process a CIT Network Tokenization request with 3DSecure example: '07' number_reference_identifier_TRANSACTIONS.payment_method.card.number_reference_identifier: type: string description: The PAN reference identifier for the payment account of the cardholder. Available for Visa and Discover transactions. minLength: 1 maxLength: 50 track_emulated_TRANSACTIONS.payment_method.card.track_emulated: type: string description: The data from the magnetic stripe. This may include track 1 and/or track 2. Emulated Track Data can be generated by entering the card details manually using the emulated key board. decryption_required_TRANSACTIONS.payment_method.card.decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' consent: type: object title: consent properties: id: type: string description: A unique identifier that is used to identify and reference an instance of consent. It is generated by Global Payments to identify the consent details used with this transaction example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d id_TRANSACTIONS.payment_method.consent.id: type: string description: A unique identifier that is used to identify and reference an instance of consent. It is generated by Global Payments to identify the consent details used with this transaction example: CON_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d digital_wallet_request: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA cvv: type: string description: The numeric value printed on the physical card. minLength: 1 maxLength: 50 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_token: type: object title: payment_method.digital_wallet.payment_token_req properties: data: type: string description: Digital Wallet provider defined data minLength: 1 maxLength: 50 dpa_reference: type: string description: Data Processing Agreement (DPA) Identifier provided during onboarding. Registered identifier for the DPA accessing the service. minLength: 1 maxLength: 50 example: e4ff70d9-a345-f0cc-9e06-196ac1bb6801 data_type_indicator: type: string enum: - FULL - PAYMENT - NON_PAYMENT - NONE description: | Identifies the type of encrypted payload to be returned. Possible values are: * FULL - Includes everything: all PCI & PII data (card/token, billing, shipping, consumer); supported by Mastercard, Visa, Amex * PAYMENT - Same as FULL; supported by Mastercard, Visa, Amex * NON_PAYMENT - Includes only PII data (billing, shipping, consumer); supported by Mastercard, Visa * NONE - Returns empty payload; supported by Mastercard, Visa minLength: 1 maxLength: 50 example: FULL payment_account_reference_mode: type: string enum: - REQUESTED - NOT_REQUESTED description: 'Indicates whether Payment Account Reference (PAR) should be returned with the authorization, when available' minLength: 1 maxLength: 50 example: REQUESTED decrypt: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the decrypt of digital wallet to be used with this transaction. minLength: 1 maxLength: 50 example: DEC_6a061b51-6e7a-4200-9d8c-01be5e26a5bb brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_payer_status: type: string enum: - REGISTERED description: 'Indicates if the user is registered. For use with Discover, CUP, JCB and Diners only. Mandatory to be sent if the user is registered with the merchant' token_TRANSACTIONS.payment_method.digital_wallet.token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format_TRANSACTIONS.payment_method.digital_wallet.token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram_TRANSACTIONS.payment_method.digital_wallet.cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider_TRANSACTIONS.payment_method.digital_wallet.provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY eci_TRANSACTIONS.payment_method.digital_wallet.eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 brand_TRANSACTIONS.payment_method.digital_wallet.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA cvv_TRANSACTIONS.payment_method.digital_wallet.cvv: type: string description: The numeric value printed on the physical card. minLength: 1 maxLength: 50 example: '852' payment_method.digital_wallet.payment_token_req: type: object title: payment_method.digital_wallet.payment_token_req properties: data: type: string description: Digital Wallet provider defined data minLength: 1 maxLength: 50 dpa_reference: type: string description: Data Processing Agreement (DPA) Identifier provided during onboarding. Registered identifier for the DPA accessing the service. minLength: 1 maxLength: 50 example: e4ff70d9-a345-f0cc-9e06-196ac1bb6801 data_type_indicator: type: string enum: - FULL - PAYMENT - NON_PAYMENT - NONE description: | Identifies the type of encrypted payload to be returned. Possible values are: * FULL - Includes everything: all PCI & PII data (card/token, billing, shipping, consumer); supported by Mastercard, Visa, Amex * PAYMENT - Same as FULL; supported by Mastercard, Visa, Amex * NON_PAYMENT - Includes only PII data (billing, shipping, consumer); supported by Mastercard, Visa * NONE - Returns empty payload; supported by Mastercard, Visa minLength: 1 maxLength: 50 example: FULL data_TRANSACTIONS.payment_method.digital_wallet.payment_token.data: type: string description: Digital Wallet provider defined data minLength: 1 maxLength: 50 dpa_reference_TRANSACTIONS.payment_method.digital_wallet.payment_token.dpa_reference: type: string description: Data Processing Agreement (DPA) Identifier provided during onboarding. Registered identifier for the DPA accessing the service. minLength: 1 maxLength: 50 example: e4ff70d9-a345-f0cc-9e06-196ac1bb6801 data_type_indicator_TRANSACTIONS.payment_method.digital_wallet.payment_token.data_type_indicator: type: string enum: - FULL - PAYMENT - NON_PAYMENT - NONE description: | Identifies the type of encrypted payload to be returned. Possible values are: * FULL - Includes everything: all PCI & PII data (card/token, billing, shipping, consumer); supported by Mastercard, Visa, Amex * PAYMENT - Same as FULL; supported by Mastercard, Visa, Amex * NON_PAYMENT - Includes only PII data (billing, shipping, consumer); supported by Mastercard, Visa * NONE - Returns empty payload; supported by Mastercard, Visa minLength: 1 maxLength: 50 example: FULL id_TRANSACTIONS.payment_method.digital_wallet.decrypt.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the decrypt of digital wallet to be used with this transaction. minLength: 1 maxLength: 50 example: DEC_6a061b51-6e7a-4200-9d8c-01be5e26a5bb brand_payer_status_TRANSACTIONS.payment_method.digital_wallet.brand_payer_status: type: string enum: - REGISTERED description: 'Indicates if the user is registered. For use with Discover, CUP, JCB and Diners only. Mandatory to be sent if the user is registered with the merchant' apm_request: type: object properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET countries: type: array description: The countries that you want to allow payments from in ISO-3166-1(alpha-2 code) format. items: type: string brand: type: string enum: - ALIPAY - ALIPAYHK - WECHAT description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 payment_code_initiator: type: string enum: - PAYER - MERCHANT description: | Indicates who initiated the payment method code to execute the transaction. * `PAYER` - The consumer who is paying the merchant. * `MERCHANT` - The business who is providing goods or services to the payer. minLength: 1 maxLength: 50 example: PAYER payment_code: type: string description: The payment code generated by the initiator to execute the transaction. minLength: 1 maxLength: 50 seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. provider_TRANSACTIONS.payment_method.apm.provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL category_TRANSACTIONS.payment_method.apm.category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET countries_TRANSACTIONS.payment_method.apm.countries: type: array description: The countries that you want to allow payments from in ISO-3166-1(alpha-2 code) format. items: type: string brand_TRANSACTIONS.payment_method.apm.brand: type: string enum: - ALIPAY - ALIPAYHK - WECHAT description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 payment_code_initiator_TRANSACTIONS.payment_method.apm.payment_code_initiator: type: string enum: - PAYER - MERCHANT description: | Indicates who initiated the payment method code to execute the transaction. * `PAYER` - The consumer who is paying the merchant. * `MERCHANT` - The business who is providing goods or services to the payer. minLength: 1 maxLength: 50 example: PAYER payment_code_TRANSACTIONS.payment_method.apm.payment_code: type: string description: The payment code generated by the initiator to execute the transaction. minLength: 1 maxLength: 50 seconds_to_expire_TRANSACTIONS.payment_method.apm.seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. bank_transfer_request: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_holder_type: type: string enum: - PERSONAL - BUSINESS - PAYROLL description: Indicates the category of the bank account example: PERSONAL check_reference: type: string description: The number or reference for the check. sec_code: type: string enum: - CCD - POP - PPD - TEL - WEB description: | Indicates how the transaction was authorized by the merchant. * CCD - Cash Concentration or Disbursement - Can be either a credit or debit application where funds are wither distributed or consolidated between corporate entities. * POP - Point of Sale Entry - Point of sale debit applications non-shared (POS) environment. These transactions are most often initiated by the consumer via a plastic access card. This is only support for normal ACH transactions * PPD - Prearranged Payment and Deposits - used to credit or debit a consumer account. Popularity used for payroll direct deposits and pre-authorized bill payments. * TEL - Telephone-Initiated Entry - Used for the origination of a single entry debit transaction to a consumer's account pursuant to a verbal authorization obtained from the consumer via the telephone. * WEB - Internet (Web)-Initiated Entry - Used for the origination of debit entries (either Single or Recurring Entry) to a consumer's account pursuant to a to an authorization that is obtained from the Receiver via the Internet. example: CCD account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. name: type: string description: The name of the bank. address: type: object properties: line_1: type: string description: First line of the address. example: 123 Merchant Street line_2: type: string description: Second line of the address. example: Suite 2 line_3: type: string description: Third line of the address example: foyer city: type: string description: The city associated with the address. example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA postal_code: type: string description: The postal code of the address. example: '90210' country: type: string description: This is the country the bank is located in The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US account_number_TRANSACTIONS.payment_method.bank_transfer.account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_holder_type_TRANSACTIONS.payment_method.bank_transfer.account_holder_type: type: string enum: - PERSONAL - BUSINESS - PAYROLL description: Indicates the category of the bank account example: PERSONAL check_reference_TRANSACTIONS.payment_method.bank_transfer.check_reference: type: string description: The number or reference for the check. sec_code_TRANSACTIONS.payment_method.bank_transfer.sec_code: type: string enum: - CCD - POP - PPD - TEL - WEB description: | Indicates how the transaction was authorized by the merchant. * CCD - Cash Concentration or Disbursement - Can be either a credit or debit application where funds are wither distributed or consolidated between corporate entities. * POP - Point of Sale Entry - Point of sale debit applications non-shared (POS) environment. These transactions are most often initiated by the consumer via a plastic access card. This is only support for normal ACH transactions * PPD - Prearranged Payment and Deposits - used to credit or debit a consumer account. Popularity used for payroll direct deposits and pre-authorized bill payments. * TEL - Telephone-Initiated Entry - Used for the origination of a single entry debit transaction to a consumer's account pursuant to a verbal authorization obtained from the consumer via the telephone. * WEB - Internet (Web)-Initiated Entry - Used for the origination of debit entries (either Single or Recurring Entry) to a consumer's account pursuant to a to an authorization that is obtained from the Receiver via the Internet. example: CCD account_type_TRANSACTIONS.payment_method.bank_transfer.account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING code_TRANSACTIONS.payment_method.bank_transfer.bank.code: type: string description: The local identifier code for the bank. name_TRANSACTIONS.payment_method.bank_transfer.bank.name: type: string description: The name of the bank. line_1_TRANSACTIONS.payment_method.bank_transfer.bank.address.line_1: type: string description: First line of the address. example: 123 Merchant Street line_2_TRANSACTIONS.payment_method.bank_transfer.bank.address.line_2: type: string description: Second line of the address. example: Suite 2 line_3_TRANSACTIONS.payment_method.bank_transfer.bank.address.line_3: type: string description: Third line of the address example: foyer city_TRANSACTIONS.payment_method.bank_transfer.bank.address.city: type: string description: The city associated with the address. example: Beverly Hills state_TRANSACTIONS.payment_method.bank_transfer.bank.address.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' example: CA postal_code_TRANSACTIONS.payment_method.bank_transfer.bank.address.postal_code: type: string description: The postal code of the address. example: '90210' country_TRANSACTIONS.payment_method.bank_transfer.bank.address.country: type: string description: This is the country the bank is located in The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US provider_TRANSACTIONS.payment_method.bnpl.provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA redirect_http_method_TRANSACTIONS.payment_method.redirect_http_method: type: string enum: - POST - GET description: The HTTP method to use when redirecting to the redirect_url minLength: 1 maxLength: 50 example: POST redirect_data_TRANSACTIONS.payment_method.redirect_data: type: string description: The data to include in the redirection to the redirect_url minLength: 1 maxLength: 50 qr_code_TRANSACTIONS.payment_method.qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 qr_code_image_url_TRANSACTIONS.payment_method.qr_code_image_url: type: string description: The URL to the QR Code image that can be rendered to the user. qr_code_time_expired_at_TRANSACTIONS.payment_method.qr_code_time_expired_at: type: string description: The time the QR Code expires and cannot be used. format: date-time minLength: 1 maxLength: 50 redirect_url_TRANSACTIONS.payment_method.redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. minLength: 1 maxLength: 50 type_TRANSACTIONS.device.type: type: string enum: - TERMINAL - MOBILE_PHONE - POS - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN description: | Indicates the type of physical device used to process the transaction. * `TERMINAL` - A device used to prompt the payer to enter their payment method credentials to process a transaction. * `MOBILE_PHONE` - A mobile phone was used as the processing device. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. minLength: 1 maxLength: 50 example: TERMINAL time_TRANSACTIONS.device.time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 sequence_number_TRANSACTIONS.device.sequence_number: type: string description: The sequence number from the device used to align with the transaction processing platform. minLength: 1 maxLength: 50 serial_number_TRANSACTIONS.device.serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 gratuity_prompt_mode_TRANSACTIONS.device.gratuity_prompt_mode: type: string enum: - PROMPT - NOT_REQUIRED description: Describes whether a device prompts a payer for a gratuity when the payer is entering their payment method details to the device. minLength: 1 maxLength: 50 example: PROMPT print_receipt_mode_TRANSACTIONS.device.print_receipt_mode: type: string enum: - NONE - PAYER - MERCHANT - BOTH description: Describes the receipts a device prints when processing a transaction. minLength: 1 maxLength: 50 example: BOTH entry_modes_TRANSACTIONS.device.entry_modes: type: array description: Indicates the allowed entry modes for a specific transaction. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE example: - CHIP - SWIPE terminal_id_TRANSACTIONS.device.terminal_id: type: string description: 'A reference that uniquely identifies the merchant point of integration, like a device or website.' minLength: 1 maxLength: 50 application_version_TRANSACTIONS.device.application_version: type: string description: Indicates the version of the application being used on the device minLength: 1 maxLength: 50 payer_verifications_TRANSACTIONS.device.payer_verifications: type: array description: Indicates the method used to verify the payer. items: type: string enum: - NOT_VERIFIED - PINPAD - ELECTRONIC_SIGNATURE_ANALYSIS - MANUAL_SIGNATURE_ANALYSIS - MANUAL_OTHER - UNKNOWN - SYSTEMATIC_OTHER example: - PINPAD os_TRANSACTIONS.device.os: type: string enum: - ANDROID - IOS description: | Indicates the operating system on the device * `ANDROID` * `IOS` minLength: 1 maxLength: 50 example: ANDROID reference_TRANSACTIONS.device.reference: type: string description: The integrator submitted reference or identifier for the device. minLength: 1 maxLength: 50 device.capabilities: type: object properties: entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER example: - CHIP payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL example: - PARTIAL attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count: type: number description: The number of lines that can be used to display information on the device. max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT entry_modes_TRANSACTIONS.device.capabilities.entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER example: - CHIP payer_verifications_TRANSACTIONS.device.capabilities.payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile_TRANSACTIONS.device.capabilities.mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response_TRANSACTIONS.device.capabilities.enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes_TRANSACTIONS.device.capabilities.authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL example: - PARTIAL attendance_modes_TRANSACTIONS.device.capabilities.attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud_TRANSACTIONS.device.capabilities.fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count_TRANSACTIONS.device.capabilities.display_line_count: type: number description: The number of lines that can be used to display information on the device. max_pin_count_TRANSACTIONS.device.capabilities.max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED location_TRANSACTIONS.device.capabilities.location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS card_update_TRANSACTIONS.device.capabilities.card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' output_TRANSACTIONS.device.capabilities.output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT ip_address_TRANSACTIONS.device.ip_address: type: string description: The IP address of the device used for this transaction. minLength: 1 maxLength: 50 booking_reference_TRANSACTIONS.lodging.booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days_TRANSACTIONS.lodging.duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount_TRANSACTIONS.lodging.room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in_TRANSACTIONS.lodging.date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out_TRANSACTIONS.lodging.date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount_TRANSACTIONS.lodging.daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' establishment_name_TRANSACTIONS.lodging.establishment_name: type: string description: The name of the lodging establishment. minLength: 1 maxLength: 50 time_checked_in_TRANSACTIONS.lodging.time_checked_in: type: string description: The time of the day of the check in. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' time_checked_out_TRANSACTIONS.lodging.time_checked_out: type: string description: The time of the day of the check out. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' types_TRANSACTIONS.lodging.charge_items.types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount_TRANSACTIONS.lodging.charge_items.amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes_TRANSACTIONS.lodging.charge_items.payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION id_TRANSACTIONS.installment.id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w reference_TRANSACTIONS.installment.reference: type: string description: A unique identifier used to identify the installment plan. example: 7533d4f7-6a10-5557-2e92-132d06157502 program_TRANSACTIONS.installment.program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode_TRANSACTIONS.installment.mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count_TRANSACTIONS.installment.count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count_TRANSACTIONS.installment.grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' version_TRANSACTIONS.installment.terms.version: type: string description: This indicated the version of the Terms and Conditions selected under the installment term example: '2' language_TRANSACTIONS.installment.terms.lanuage: type: string description: | The language for the terms and conditions text. In the format ISO-639-1 (alpha-2) or ISO-639-1 (alpha-2)_ISO-3166(alpha-2) example: eng mode_TRANSACTIONS.risk_assessment.rules.mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE reference_TRANSACTIONS.risk_assessment.rules.reference: type: string description: This is a system generated fraud rule reference (GUID) that is unique for the fraud rule. minLength: 1 maxLength: 50 example: 5c52428c-1f73-4fdf-ae53-ff62857f89d8 booking_reference_TRANSACTIONS.airline.booking_reference: type: string description: A reference for the airline booking. minLength: 1 maxLength: 50 flight_number_TRANSACTIONS.airline.legs.flight_number: type: string description: The flight number associated with the leg. minLength: 1 maxLength: 50 number_TRANSACTIONS.airline.legs.number: type: string description: The leg number of the airline booking. minLength: 1 maxLength: 50 time_of_departure_TRANSACTIONS.airline.legs.time_of_departure: type: string description: The date and time of leg departure format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' time_of_arrival_TRANSACTIONS.airline.legs.time_of_arrival: type: string description: The date and time of leg arrival format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' account_type_TRANSACTIONS.healthcare.account_type: type: string enum: - FSA - HSA description: Identifies the type of health care account being used. minLength: 1 maxLength: 50 prescription_amount_TRANSACTIONS.healthcare.prescription_amount: type: string description: The amount of the health care transaction attributed to prescription expenses. Available for MasterCard and Visa transactions. minLength: 1 maxLength: 50 vision_amount_TRANSACTIONS.healthcare.vision_amount: type: string description: The amount of the health care transaction attributed to vision or optical expenses. Available for Visa transactions. minLength: 1 maxLength: 50 dental_amount_TRANSACTIONS.healthcare.dental_amount: type: string description: The amount of the health care transaction attributed to dental expenses. Available for Visa transactions. minLength: 1 maxLength: 50 clinic_amount_TRANSACTIONS.healthcare.clinic_amount: type: string description: The amount of the health care transaction attributed to clinical expenses. Available for Visa transactions. minLength: 1 maxLength: 50 iias_qualified_TRANSACTIONS.healthcare.iias_qualified: type: string enum: - 'YES' - 'NO' - EXEMPTED description: Indicates if the purchased items were verified against IIAS (Inventory Information Approval System) as qualified for healthcare. minLength: 1 maxLength: 50 prescription_number_TRANSACTIONS.healthcare.prescription_number: type: string description: The unique number or customer ID assigned by the healthcare provider. minLength: 1 maxLength: 50 reference_TRANSACTIONS.payment_facilitator.reference: type: string description: | This field identifies the specific third-party merchant (i.e., the sub-merchant) that is submitting the transaction. A facilitator/payment facilitator acts as an aggregator on behalf of multiple third-party merchants. Merchants that process transactions under another merchant’s (facilitator’s) account are considered third-party merchants. Length limits Visa / Mastercard / Discover: maximum 11 characters American Express: maximum 20 characters minLength: 1 maxLength: 50 name_TRANSACTIONS.payment_facilitator.name: type: string description: The business name of the third-party merchant (sub-merchant) submitting the transaction. A facilitator acts as an aggregator for multiple third-party merchants; merchants processing under a facilitator’s account are considered third-party merchants. minLength: 1 maxLength: 50 sub_merchant_reference_TRANSACTIONS.payment_facilitator.sub_merchant_reference: type: string description: | The identifier of the third-party merchant (sub-merchant) submitting the transaction. Note:Field is not supported by Discover card brand. minLength: 1 maxLength: 50 sub_merchant_name_TRANSACTIONS.payment_facilitator.sub_merchant_name: type: string description: The name of the third-party merchant (sub-merchant) submitting the transaction. minLength: 1 maxLength: 50 sub_merchant_country_TRANSACTIONS.payment_facilitator.sub_merchant_country: type: string description: The ISO country code for the third-party merchant’s address. minLength: 1 maxLength: 50 example: US sub_merchant_state_TRANSACTIONS.payment_facilitator.sub_merchant_state: type: string description: The state or province code for the third-party merchant’s address. minLength: 1 maxLength: 50 example: 'AB, BC, MB' sub_merchant_city_TRANSACTIONS.payment_facilitator.sub_merchant_city: type: string description: The city for the third-party merchant’s address. minLength: 1 maxLength: 50 sub_merchant_postal_code_TRANSACTIONS.payment_facilitator.sub_merchant_postal_code: type: string description: The postal/ZIP code for the third-party merchant’s address. minLength: 1 maxLength: 50 sub_merchant_business_phone_TRANSACTIONS.payment_facilitator.sub_merchant_business_phone: type: string description: The third-party merchant’s phone number. minLength: 1 maxLength: 50 iso_reference_TRANSACTIONS.payment_facilitator.iso_reference: type: string description: The unique identifier of the Independent Sales Organization (ISO) associated with the merchant. minLength: 1 maxLength: 50 merchant_email_TRANSACTIONS.payment_facilitator.merchant_email: type: string description: The third-party merchant’s email address. minLength: 1 maxLength: 50 create_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP capture_mode: type: string enum: - AUTO - LATER - MULTIPLE - LATER_FINAL description: | Indicates 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. minLength: 1 maxLength: 50 default: AUTO example: AUTO authorization_mode: type: string enum: - PARTIAL - DEFERRED description: | 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 minLength: 1 maxLength: 50 example: PARTIAL amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 merchant_benefits_reference: type: string description: 'This 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.' example: '98098' payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James reference: type: string description: An integrator's reference to the payer. minLength: 1 maxLength: 50 payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 authentication: type: object description: Information outlining the degree of authentication executed as part of a transaction. properties: three_ds: type: object description: Information outlining the degree of 3D Secure authentication executed. properties: cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 apm: type: object description: Data associated with the response of an APM transaction. properties: provider: type: object properties: name: type: string description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 brand_product_name: type: string description: This field indicates the payment method brand product name being used to execute this transaction minLength: 1 maxLength: 50 result: type: string description: The result given by the APM Provider minLength: 1 maxLength: 50 messsage: type: string description: The Message returned by the APM Provider minLength: 1 maxLength: 50 status: type: string minLength: 1 maxLength: 50 action: type: string description: This is the provider's indicator for the action being taken minLength: 1 maxLength: 50 action_reference: type: string minLength: 1 maxLength: 50 time_created_reference: type: string description: This field indicates the transaction time given by the apm provider minLength: 1 maxLength: 50 redirect_url: type: string minLength: 1 maxLength: 50 payer_reference: type: string minLength: 1 maxLength: 50 payer_name: type: string minLength: 1 maxLength: 50 payer_account_reference: type: string minLength: 1 maxLength: 50 sponsor_reference: type: string minLength: 1 maxLength: 50 acquirer_reference: type: string minLength: 1 maxLength: 50 merchant_identifier: type: string description: Merchant Number returned by the apm provider for this transaction minLength: 1 maxLength: 50 brand: type: string description: The brand of the APM Provider minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. session_token: type: string description: A string generated by the payment method to represent the session created on the payment method platform to facilitate the creation of a transaction. minLength: 1 maxLength: 50 fund_status: type: string enum: - NOT_EXPECTED - RECEIVED - WAITING - MISSING description: Indicates the degree the merchant is funded for the transaction. minLength: 1 maxLength: 50 example: RECEIVED wait_notification: type: string enum: - '0' - '1' description: Indicates to instruct the payer to wait for an update at the time the transaction is being executed or that an update will be given later. minLength: 1 maxLength: 50 example: '1' optional_redirect: type: string enum: - '0' - '1' description: 'Indicates that a redirect to the payment method is not required. Some payment methods (for example, SEPA Direct Debit) provide the option to redirect the customer to a page to display additional information about the payment.' minLength: 1 maxLength: 50 example: '1' provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The time the payment method provider created the transaction at on their system. format: date-time minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 bank: type: object properties: name: type: string description: The name associated with the bank account. identifier_code: type: string description: The international identifier code for the bank. iban: type: string description: The international identifier of the bank account. code: type: string description: The local identifier of the bank. account_number: type: string description: The local identifier of the bank account. mandate: type: object properties: code: type: string description: The reference to identify the mandate. next_action: type: string enum: - REDIRECT - REDIRECT_IN_FRAME - PRESENT_QR_CODE - INVOKE_WALLET description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 example: REDIRECT next_action_message: type: string description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_time_reference: type: string description: The time returned by the card brand indicating when the transaction was processed on the brand's system. format: date-time minLength: 1 maxLength: 50 cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended action to be taken by the merchant based on the AVS response. minLength: 1 maxLength: 50 example: ACCEPT provider: type: object description: The result codes directly from the card issuer. properties: result: type: string description: Result code from the card provider (issuer) . minLength: 1 maxLength: 50 message: type: string description: Message from the card provider (issuer). minLength: 1 maxLength: 50 cvv_result: type: string description: CVV result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_result: type: string description: AVS result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_address_result: type: string description: AVS Address result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_postal_code_result: type: string description: AVS Postal result code from the card provider (issuer) . minLength: 1 maxLength: 50 masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 bank_transfer: type: object properties: masked_account_number_last4: type: string description: The last 4 characters of the local reference for a bank account number. account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA user_reference: type: string description: The 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. minLength: 1 maxLength: 50 currency_conversion: type: object properties: payer_amount: type: string description: The amount that will affect the payer's account. minLength: 1 maxLength: 50 payer_currency: type: string enum: - 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 description: The currency of the amount that will affect the payer's account in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD conversion_rate: type: string description: The exchange rate used to convert one currency to another. minLength: 1 maxLength: 50 margin_rate_percentage: type: string description: The foreign exchange markup in relation to a base rate. minLength: 1 maxLength: 50 commission_percentage: type: string description: The percentage commission taken for providing the currency conversion. minLength: 1 maxLength: 50 exchange_rate_source: type: string description: The source of the base exchange rate was obtained to execute the currency conversion. minLength: 1 maxLength: 50 exchange_source_time: type: string description: The time the base exchange rate was obtained from the source. minLength: 1 maxLength: 50 order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 installment: type: object properties: id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific installment request. Begins with the three letters, INS.' minLength: 1 maxLength: 50 example: INS_hAxxDJ3C4pWKh039jkGNqQ8xF1Oa4w program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' risk_assessment: type: array items: type: object properties: mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The overall fraud mode, indicating whether the impact of running the fraud rules for this transaction. * `ACTIVE` - The fraud rules were executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules were executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rules were not executed. minLength: 1 maxLength: 50 example: ACTIVE result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW - HOLD_SUCCESSFUL - RELEASE_SUCCESSFUL description: The overall result of the fraud rules executed for this transaction. minLength: 1 maxLength: 50 example: ACCEPTED rules: type: array items: type: object properties: reference: type: string description: This is a system generated fraud rule reference (GUID) that is unique for the fraud rule. minLength: 1 maxLength: 50 example: 5c52428c-1f73-4fdf-ae53-ff62857f89d8 description: type: string description: 'This describes the fraud rule and indicates what rule was specifically executed so it is understandable,' minLength: 1 maxLength: 50 mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The individual fraud rule mode, indicating whether the impact of running a fraud rule. * `ACTIVE` - The fraud rule was executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules was executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rule was not executed. minLength: 1 maxLength: 50 example: ACTIVE result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW description: The result of the individual fraud rule. minLength: 1 maxLength: 50 example: ACCEPTED action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app id_TRANSACTIONS.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created_TRANSACTIONS.time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status_TRANSACTIONS.status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED merchant_id_TRANSACTIONS.merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name_TRANSACTIONS.merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id_TRANSACTIONS.account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b batch_id_TRANSACTIONS.batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 payment_method_response: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM narrative: type: string description: Contains the value a merchant wishes to appear on the payer's payment method statement for this transaction. minLength: 1 maxLength: 50 qr_code: type: string description: The QR Code string to use for this transaction. minLength: 1 maxLength: 50 authentication: type: object description: Information outlining the degree of authentication executed as part of a transaction. properties: three_ds: type: object description: Information outlining the degree of 3D Secure authentication executed. properties: cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 apm: type: object description: Data associated with the response of an APM transaction. properties: provider: type: object properties: name: type: string description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 brand_product_name: type: string description: This field indicates the payment method brand product name being used to execute this transaction minLength: 1 maxLength: 50 result: type: string description: The result given by the APM Provider minLength: 1 maxLength: 50 messsage: type: string description: The Message returned by the APM Provider minLength: 1 maxLength: 50 status: type: string minLength: 1 maxLength: 50 action: type: string description: This is the provider's indicator for the action being taken minLength: 1 maxLength: 50 action_reference: type: string minLength: 1 maxLength: 50 time_created_reference: type: string description: This field indicates the transaction time given by the apm provider minLength: 1 maxLength: 50 redirect_url: type: string minLength: 1 maxLength: 50 payer_reference: type: string minLength: 1 maxLength: 50 payer_name: type: string minLength: 1 maxLength: 50 payer_account_reference: type: string minLength: 1 maxLength: 50 sponsor_reference: type: string minLength: 1 maxLength: 50 acquirer_reference: type: string minLength: 1 maxLength: 50 merchant_identifier: type: string description: Merchant Number returned by the apm provider for this transaction minLength: 1 maxLength: 50 brand: type: string description: The brand of the APM Provider minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. session_token: type: string description: A string generated by the payment method to represent the session created on the payment method platform to facilitate the creation of a transaction. minLength: 1 maxLength: 50 fund_status: type: string enum: - NOT_EXPECTED - RECEIVED - WAITING - MISSING description: Indicates the degree the merchant is funded for the transaction. minLength: 1 maxLength: 50 example: RECEIVED wait_notification: type: string enum: - '0' - '1' description: Indicates to instruct the payer to wait for an update at the time the transaction is being executed or that an update will be given later. minLength: 1 maxLength: 50 example: '1' optional_redirect: type: string enum: - '0' - '1' description: 'Indicates that a redirect to the payment method is not required. Some payment methods (for example, SEPA Direct Debit) provide the option to redirect the customer to a page to display additional information about the payment.' minLength: 1 maxLength: 50 example: '1' provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The time the payment method provider created the transaction at on their system. format: date-time minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 bank: type: object properties: name: type: string description: The name associated with the bank account. identifier_code: type: string description: The international identifier code for the bank. iban: type: string description: The international identifier of the bank account. code: type: string description: The local identifier of the bank. account_number: type: string description: The local identifier of the bank account. mandate: type: object properties: code: type: string description: The reference to identify the mandate. next_action: type: string enum: - REDIRECT - REDIRECT_IN_FRAME - PRESENT_QR_CODE - INVOKE_WALLET description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 example: REDIRECT next_action_message: type: string description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. card: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_time_reference: type: string description: The time returned by the card brand indicating when the transaction was processed on the brand's system. format: date-time minLength: 1 maxLength: 50 cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended action to be taken by the merchant based on the AVS response. minLength: 1 maxLength: 50 example: ACCEPT provider: type: object description: The result codes directly from the card issuer. properties: result: type: string description: Result code from the card provider (issuer) . minLength: 1 maxLength: 50 message: type: string description: Message from the card provider (issuer). minLength: 1 maxLength: 50 cvv_result: type: string description: CVV result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_result: type: string description: AVS result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_address_result: type: string description: AVS Address result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_postal_code_result: type: string description: AVS Postal result code from the card provider (issuer) . minLength: 1 maxLength: 50 masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 bank_transfer: type: object properties: masked_account_number_last4: type: string description: The last 4 characters of the local reference for a bank account number. account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA fingerprint_presence_indicator_TRANSACTIONS.payment_method.fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS fingerprint_TRANSACTIONS.payment_method.fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 result_TRANSACTIONS.payment_method.result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message_TRANSACTIONS.payment_method.message: type: string description: The result message that better explains the result code. authentication_response: type: object description: Information outlining the degree of authentication executed as part of a transaction. properties: three_ds: type: object description: Information outlining the degree of 3D Secure authentication executed. properties: cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 three_ds_response: type: object description: Information outlining the degree of 3D Secure authentication executed. properties: cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 cavv_result_TRANSACTIONS.payment_method.authentication.three_ds.cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 masked_number_last4_TRANSACTIONS.payment_method.digital_wallet.masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4_TRANSACTIONS.payment_method.digital_wallet.masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 payment_account_reference_TRANSACTIONS.payment_method.digital_wallet.payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 apm_response: type: object description: Data associated with the response of an APM transaction. properties: provider: type: object properties: name: type: string description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 brand_product_name: type: string description: This field indicates the payment method brand product name being used to execute this transaction minLength: 1 maxLength: 50 result: type: string description: The result given by the APM Provider minLength: 1 maxLength: 50 messsage: type: string description: The Message returned by the APM Provider minLength: 1 maxLength: 50 status: type: string minLength: 1 maxLength: 50 action: type: string description: This is the provider's indicator for the action being taken minLength: 1 maxLength: 50 action_reference: type: string minLength: 1 maxLength: 50 time_created_reference: type: string description: This field indicates the transaction time given by the apm provider minLength: 1 maxLength: 50 redirect_url: type: string minLength: 1 maxLength: 50 payer_reference: type: string minLength: 1 maxLength: 50 payer_name: type: string minLength: 1 maxLength: 50 payer_account_reference: type: string minLength: 1 maxLength: 50 sponsor_reference: type: string minLength: 1 maxLength: 50 acquirer_reference: type: string minLength: 1 maxLength: 50 merchant_identifier: type: string description: Merchant Number returned by the apm provider for this transaction minLength: 1 maxLength: 50 brand: type: string description: The brand of the APM Provider minLength: 1 maxLength: 50 redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. session_token: type: string description: A string generated by the payment method to represent the session created on the payment method platform to facilitate the creation of a transaction. minLength: 1 maxLength: 50 fund_status: type: string enum: - NOT_EXPECTED - RECEIVED - WAITING - MISSING description: Indicates the degree the merchant is funded for the transaction. minLength: 1 maxLength: 50 example: RECEIVED wait_notification: type: string enum: - '0' - '1' description: Indicates to instruct the payer to wait for an update at the time the transaction is being executed or that an update will be given later. minLength: 1 maxLength: 50 example: '1' optional_redirect: type: string enum: - '0' - '1' description: 'Indicates that a redirect to the payment method is not required. Some payment methods (for example, SEPA Direct Debit) provide the option to redirect the customer to a page to display additional information about the payment.' minLength: 1 maxLength: 50 example: '1' provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The time the payment method provider created the transaction at on their system. format: date-time minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 bank: type: object properties: name: type: string description: The name associated with the bank account. identifier_code: type: string description: The international identifier code for the bank. iban: type: string description: The international identifier of the bank account. code: type: string description: The local identifier of the bank. account_number: type: string description: The local identifier of the bank account. mandate: type: object properties: code: type: string description: The reference to identify the mandate. next_action: type: string enum: - REDIRECT - REDIRECT_IN_FRAME - PRESENT_QR_CODE - INVOKE_WALLET description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 example: REDIRECT next_action_message: type: string description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 category: type: string enum: - E_WALLET - BNPL description: Indicates the category of the alternate payment method . minLength: 1 maxLength: 50 example: E_WALLET seconds_to_expire: type: number description: The time in seconds that the QR Code or redirect url is valid for. name_TRANSACTIONS.payment_method.apm.provider.name: type: string description: A string used to identify the payment method brand being used to execute this transaction. minLength: 1 maxLength: 50 brand_product_name_TRANSACTIONS.payment_method.apm.provider.brand_product_name: type: string description: This field indicates the payment method brand product name being used to execute this transaction minLength: 1 maxLength: 50 result_TRANSACTIONS.payment_method.apm.provider.result: type: string description: The result given by the APM Provider minLength: 1 maxLength: 50 message_TRANSACTIONS.payment_method.apm.provider.message: type: string description: The Message returned by the APM Provider minLength: 1 maxLength: 50 status_TRANSACTIONS.payment_method.apm.provider.status: type: string minLength: 1 maxLength: 50 action_TRANSACTIONS.payment_method.apm.provider.action: type: string description: This is the provider's indicator for the action being taken minLength: 1 maxLength: 50 time_created_reference_TRANSACTIONS.payment_method.apm.provider.time_created_reference: type: string description: This field indicates the transaction time given by the apm provider minLength: 1 maxLength: 50 merchant_identifier_TRANSACTIONS.payment_method.apm.provider.merchant_identifier: type: string description: Merchant Number returned by the apm provider for this transaction minLength: 1 maxLength: 50 brand_TRANSACTIONS.payment_method.apm.provider.brand: type: string description: The brand of the APM Provider minLength: 1 maxLength: 50 redirect_url_TRANSACTIONS.payment_method.apm.redirect_url: type: string description: URL to redirect the payer from the merchant's system to the payment method system. session_token_TRANSACTIONS.payment_method.apm.session_token: type: string description: A string generated by the payment method to represent the session created on the payment method platform to facilitate the creation of a transaction. minLength: 1 maxLength: 50 fund_status_TRANSACTIONS.payment_method.apm.fund_status: type: string enum: - NOT_EXPECTED - RECEIVED - WAITING - MISSING description: Indicates the degree the merchant is funded for the transaction. minLength: 1 maxLength: 50 example: RECEIVED wait_notification_TRANSACTIONS.payment_method.apm.wait_notification: type: string enum: - '0' - '1' description: Indicates to instruct the payer to wait for an update at the time the transaction is being executed or that an update will be given later. minLength: 1 maxLength: 50 example: '1' optional_redirect_TRANSACTIONS.payment_method.apm.optional_redirect: type: string enum: - '0' - '1' description: 'Indicates that a redirect to the payment method is not required. Some payment methods (for example, SEPA Direct Debit) provide the option to redirect the customer to a page to display additional information about the payment.' minLength: 1 maxLength: 50 example: '1' provider_transaction_reference_TRANSACTIONS.payment_method.apm.provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created_TRANSACTIONS.payment_method.apm.provider_time_created: type: string description: The time the payment method provider created the transaction at on their system. format: date-time minLength: 1 maxLength: 50 provider_payer_name_TRANSACTIONS.payment_method.apm.provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 bank_account: type: object properties: name: type: string description: The name associated with the bank account. identifier_code: type: string description: The international identifier code for the bank. iban: type: string description: The international identifier of the bank account. code: type: string description: The local identifier of the bank. account_number: type: string description: The local identifier of the bank account. name_TRANSACTIONS.payment_method.apm.bank.name: type: string description: The name associated with the bank account. identifier_code_TRANSACTIONS.payment_method.apm.bank.identifier_code: type: string description: The international identifier code for the bank. iban_TRANSACTIONS.payment_method.apm.bank.iban: type: string description: The international identifier of the bank account. code_TRANSACTIONS.payment_method.apm.bank.code: type: string description: The local identifier of the bank. account_number_TRANSACTIONS.payment_method.apm.bank.account_number: type: string description: The local identifier of the bank account. mandate: type: object properties: code: type: string description: The reference to identify the mandate. code_TRANSACTIONS.payment_method.apm.mandate.code: type: string description: The reference to identify the mandate. next_action_TRANSACTIONS.payment_method.apm.next_action: type: string enum: - REDIRECT - REDIRECT_IN_FRAME - PRESENT_QR_CODE - INVOKE_WALLET description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 example: REDIRECT next_action_message_TRANSACTIONS.payment_method.apm.next_action_message: type: string description: The recommended next action to be taken by the merchant based on the response given by the payment method provider. minLength: 1 maxLength: 50 card_response: type: object properties: masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 brand_time_reference: type: string description: The time returned by the card brand indicating when the transaction was processed on the brand's system. format: date-time minLength: 1 maxLength: 50 cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended action to be taken by the merchant based on the AVS response. minLength: 1 maxLength: 50 example: ACCEPT provider: type: object description: The result codes directly from the card issuer. properties: result: type: string description: Result code from the card provider (issuer) . minLength: 1 maxLength: 50 message: type: string description: Message from the card provider (issuer). minLength: 1 maxLength: 50 cvv_result: type: string description: CVV result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_result: type: string description: AVS result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_address_result: type: string description: AVS Address result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_postal_code_result: type: string description: AVS Postal result code from the card provider (issuer) . minLength: 1 maxLength: 50 masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 network_token_expiry_month: type: string description: The 2 digit expiry date month of the network token. example: '12' network_token_expiry_year: type: string description: The 2 digit expiry date year of the network token. example: '29' payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 tag_response_TRANSACTIONS.payment_method.card.tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 brand_TRANSACTIONS.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA brand_time_reference_TRANSACTIONS.payment_method.card.brand_time_reference: type: string description: The time returned by the card brand indicating when the transaction was processed on the brand's system. format: date-time minLength: 1 maxLength: 50 cvv_result_TRANSACTIONS.payment_method.card.cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED issuer__TRANSACTIONS.payment_method.card.issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country_TRANSACTIONS.payment_method.card.country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency_TRANSACTIONS.payment_method.card.currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD available_balance_TRANSACTIONS.payment_method.card.available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' avs_address_result_TRANSACTIONS.payment_method.card.avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result_TRANSACTIONS.payment_method.card.avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED avs_action_TRANSACTIONS.payment_method.card.avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended action to be taken by the merchant based on the AVS response. minLength: 1 maxLength: 50 example: ACCEPT card.provider: type: object description: The result codes directly from the card issuer. properties: result: type: string description: Result code from the card provider (issuer) . minLength: 1 maxLength: 50 message: type: string description: Message from the card provider (issuer). minLength: 1 maxLength: 50 cvv_result: type: string description: CVV result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_result: type: string description: AVS result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_address_result: type: string description: AVS Address result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_postal_code_result: type: string description: AVS Postal result code from the card provider (issuer) . minLength: 1 maxLength: 50 result_TRANSACTIONS.payment_method.card.provider.result: type: string description: Result code from the card provider (issuer) . minLength: 1 maxLength: 50 message_TRANSACTIONS.payment_method.card.provider.message: type: string description: Message from the card provider (issuer). minLength: 1 maxLength: 50 cvv_result_TRANSACTIONS.payment_method.card.provider.cvv_result: type: string description: CVV result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_result_TRANSACTIONS.payment_method.card.provider.avs_result: type: string description: AVS result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_address_result_TRANSACTIONS.payment_method.card.provider.avs_address_result: type: string description: AVS Address result code from the card provider (issuer) . minLength: 1 maxLength: 50 avs_postal_code_result_TRANSACTIONS.payment_method.card.provider.avs_postal_code_result: type: string description: AVS Postal result code from the card provider (issuer) . minLength: 1 maxLength: 50 masked_network_token_last4_TRANSACTIONS.payment_method.card.masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 bank_transfer_response: type: object properties: masked_account_number_last4: type: string description: The last 4 characters of the local reference for a bank account number. account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. masked_number_last4_TRANSACTIONS.payment_method.bank_transfer.masked_number_last4: type: string description: The last 4 characters of the local reference for a bank account number. payer_amount_TRANSACTIONS.currency_conversion.payer_amount: type: string description: The amount that will affect the payer's account. minLength: 1 maxLength: 50 payer_currency_TRANSACTIONS.currency_conversion.payer_currency: type: string enum: - 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 description: The currency of the amount that will affect the payer's account in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD conversion_rate_TRANSACTIONS.currency_conversion.conversion_rate: type: string description: The exchange rate used to convert one currency to another. minLength: 1 maxLength: 50 margin_rate_percentage_TRANSACTIONS.currency_conversion.margin_rate_percentage: type: string description: The foreign exchange markup in relation to a base rate. minLength: 1 maxLength: 50 commission_percentage_TRANSACTIONS.currency_conversion.commission_percentage: type: string description: The percentage commission taken for providing the currency conversion. minLength: 1 maxLength: 50 exchange_rate_source_TRANSACTIONS.currency_conversion.exchange_rate_source: type: string description: The source of the base exchange rate was obtained to execute the currency conversion. minLength: 1 maxLength: 50 exchange_source_time_TRANSACTIONS.currency_conversion.exchange_source_time: type: string description: The time the base exchange rate was obtained from the source. minLength: 1 maxLength: 50 mode_TRANSACTIONS.risk_assessment.mode: type: string enum: - ACTIVE - PASSIVE - 'OFF' description: | The overall fraud mode, indicating whether the impact of running the fraud rules for this transaction. * `ACTIVE` - The fraud rules were executed and the result can HOLD or BLOCK a transaction * `PASSIVE` - The fraud rules were executed but the result cannot affect the status of the transaction. * `OFF` - The fraud rules were not executed. minLength: 1 maxLength: 50 example: ACTIVE result_TRANSACTIONS.risk_assessment.result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW - HOLD_SUCCESSFUL - RELEASE_SUCCESSFUL description: The overall result of the fraud rules executed for this transaction. minLength: 1 maxLength: 50 example: ACCEPTED description_TRANSACTIONS.risk_assessment.rules.description: type: string description: 'This describes the fraud rule and indicates what rule was specifically executed so it is understandable,' minLength: 1 maxLength: 50 result_TRANSACTIONS.risk_assessment.rules.result: type: string enum: - ACCEPTED - REJECTED - NOT_EXECUTED - PENDING_REVIEW description: The result of the individual fraud rule. minLength: 1 maxLength: 50 example: ACCEPTED id_TRANSACTIONS.action.id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_TRANSACTIONS.action.type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created_TRANSACTIONS.action.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code_TRANSACTIONS.action.result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id_TRANSACTIONS.action.app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_TRANSACTIONS.action.app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app number_first6_TRANSACTIONS.payment_method.card.number_first6: type: string description: The first 6 digits of the card number. minLength: 1 maxLength: 6 example: '424242' number_last4_TRANSACTIONS.payment_method.card.number_last4: type: string description: The last 4 digits of the card number. minLength: 1 maxLength: 4 example: '1234' token_first6_TRANSACTIONS.payment_method.digital_wallet.token_first6: type: string description: The first 6 digits of the digital wallet token. minLength: 1 maxLength: 6 example: '424242' token_last4_TRANSACTIONS.payment_method.digital_wallet.token_last4: type: string description: The last 4 digits of the digital wallet token. minLength: 1 maxLength: 4 example: '1234' from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' mid_TRANSACTIONS.system.mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 hierarchy_TRANSACTIONS.system.hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 transactions_list_real_time: type: object properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing filter: type: object description: Indicates what fields and values used to filter the current list of resource objects in the current response. properties: from_time_created: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_created: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transactions: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD user_reference: type: string description: The 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. minLength: 1 maxLength: 50 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 country: type: string description: '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.' minLength: 2 maxLength: 2 example: US parent_resource_id: type: string description: An identifier generated by Global Payments to uniquely identify the parent resource of this resource. This is the resource that was used to create the current instance. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d create_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that created this resource. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA installment: type: object properties: program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 filter: type: object description: Indicates what fields and values used to filter the current list of resource objects in the current response. properties: from_time_created: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_created: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time from_time_last_updated: type: string description: | The start time to search for in a range, using time_last_updated value. format: date-time to_time_last_updated: type: string description: | The end time to search for in a range, using time_last_updated value format: date-time paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transactions_list_real_time_item: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD user_reference: type: string description: The 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. minLength: 1 maxLength: 50 reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 country: type: string description: '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.' minLength: 2 maxLength: 2 example: US parent_resource_id: type: string description: An identifier generated by Global Payments to uniquely identify the parent resource of this resource. This is the resource that was used to create the current instance. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d create_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that created this resource. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA installment: type: object properties: program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' parent_resource_id_TRANSACTIONS.parent_resource_id: type: string description: An identifier generated by Global Payments to uniquely identify the parent resource of this resource. This is the resource that was used to create the current instance. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d create_action_id_TRANSACTIONS.create_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that created this resource. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d payment_method_list_real_time_response: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' minLength: 1 maxLength: 50 fingerprint_presence_indicator: type: string enum: - NEW - EXISTS description: | If enabled, this field indicates whether the payment method has been seen before or is new. * `EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. * `NEW` - Indicates that the payment method was not seen on the platform before by this merchant. minLength: 1 maxLength: 50 example: EXISTS authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA card_list_real_time_response: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE status_TRANSACTIONS.payment_method.authentication.three_ds.status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} transactions_single_real_time: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD description: type: string description: Merchant defined description for the transaction. minLength: 1 maxLength: 50 example: SKU#BLK-MED-G123-GUC order_reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER country: type: string description: '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.' minLength: 2 maxLength: 2 example: US language: type: string description: Indicates 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) minLength: 1 maxLength: 50 example: fr_CA ip_address: type: string description: Indicates the source IP Address of the system used to process the transaction with Global Payments. minLength: 1 maxLength: 50 site_reference: type: string description: A merchant defined reference for the location that created the transaction. minLength: 1 maxLength: 50 parent_resource_id: type: string description: An identifier generated by Global Payments to uniquely identify the parent resource of this resource. This is the resource that was used to create the current instance. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d create_action_id: type: string description: An identifier generated by Global Payments to uniquely identify the action that created this resource. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d order: type: object properties: reference: type: string description: The merchant's reference for the order the transaction is associated with.. minLength: 1 maxLength: 50 example: INV#88547 shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: A total amount of a specific group of items being purchased with the order. minLength: 1 maxLength: 50 percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' payer: type: object properties: id: type: string description: Unique identifier for the Payer on the platform. maxLength: 50 example: PYR_oOAH6BClraQWS3Qy07dh7tZAN3X2nW payment_method: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA installment: type: object properties: program: type: string enum: - VIS description: The installment payment plan program. example: VIS mode: type: string enum: - NO_PROMOTION - NO_INTEREST - INTEREST - BNPL description: This is the type of Installment Plan. example: NO_INTEREST count: type: string description: Indicates the total number of payments to be made over the course of the installment payment plan. example: '99' grace_period_count: type: string description: The grace period before the first payment. 00 indicates no grace period. This field is available to Mexico merchants only. example: '30' link: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the link. minLength: 1 maxLength: 50 example: LNK_bnqlo0LgbMt221TczxF70Awdg7c5ez system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app time_last_updated_TRANSACTIONS.time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' duty_amount_TRANSACTIONS.order.duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' type_TRANSACTIONS.order.taxes.type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT percentage_TRANSACTIONS.order.taxes.percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' payment_method_single_real_time_response: type: object properties: name: type: string description: The name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE DOE result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 digital_wallet: type: object properties: token: type: string description: 'This value represents, or is the payment method account, stored with the digital wallet.' minLength: 1 maxLength: 50 token_format: type: string enum: - CARD_NUMBER - CARD_TOKEN description: | Indicates if the actual card number or a token is being used to process the transaction. * `CARD_NUMBER` - The value in the digital wallet token field is a real card number (PAN) * `CARD_TOKEN` - The value in the digital wallet token field is a temporary token in the format of a card number (PAN) but is not a real card number. minLength: 1 maxLength: 50 example: CARD_NUMBER cryptogram: type: string description: The authentication value use to verify the validity of the digit wallet transaction. minLength: 1 maxLength: 50 provider: type: string enum: - APPLEPAY - GOOGLE_PAY - CLICK_TO_PAY - KONEK description: Identifies the digital wallet provider to the payer. minLength: 1 maxLength: 50 example: GOOGLE_PAY masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_token_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 1 maxLength: 50 example: '12' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 1 maxLength: 50 example: '29' eci: type: string description: An indication of the degree of the authentication process when using digital wallets. minLength: 1 maxLength: 5 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. minLength: 1 maxLength: 50 avs_postal_code: type: string description: Postal code of the address associated with the card. minLength: 1 maxLength: 50 payment_account_reference: type: string description: This is the Payment Account Reference (PAR) that is returned by the Issuer when requested and available. minLength: 1 maxLength: 35 authentication: type: object title: authentication properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: status: type: string enum: - AUTHENTICATION_SUCCESSFUL - AUTHENTICATION_FAILED - AUTHENTICATION_COULD_NOT_BE_PERFORMED - AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL - CHALLENGE_REQUIRED - AUTHENTICATION_ISSUER_REJECTED - DECOUPLED_AUTHENTICATION_CONFIRMED - CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY description: | Indicates whether a transaction qualifies as an authenticated transaction or account verification. * `AUTHENTICATION_SUCCESSFUL` * `AUTHENTICATION_FAILED` * `AUTHENTICATION_COULD_NOT_BE_PERFORMED` * `AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL` * `CHALLENGE_REQUIRED` * `AUTHENTICATION_ISSUER_REJECTED` * `DECOUPLED_AUTHENTICATION_CONFIRMED` * `CHALLENGE_PREFERENCE_ACKNOWLEDGED_INFORMATIONAL_ONLY` minLength: 1 maxLength: 50 example: AUTHENTICATION_SUCCESSFUL message_version: type: string description: | Indicates the version of 3D Secure used. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 eci: type: string description: | An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 5 value: type: string description: | The authentication value created as part of the 3D Secure process. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 cavv_result: type: string description: The result of the three_ds value validation by the brands or issuing bank. minLength: 1 maxLength: 50 server_trans_ref: type: string description: | The reference created by the 3DSecure provider to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: | The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. Note - Mandatory if using 3DS and payment_method.authentication.id is not passed. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA card_single_real_time_response: type: object description: Data relating to the card payment method returned in a list response. properties: brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP - EBT description: Indicates the card brand that issued the card. minLength: 1 maxLength: 50 example: VISA authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 masked_number_first6last4: type: string description: Masked card number with the front 6 and last 4 digits visible. minLength: 1 maxLength: 50 example: 426397xxxxxx5262 masked_number_last4: type: string description: Masked card number with last 4 digits visible. minLength: 1 maxLength: 50 example: xxxxxxxxxxxx5262 funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT issuer: type: string description: The name of the issuing bank that issued the card. minLength: 1 maxLength: 50 country: type: string description: This is the country the card is issued in. It represents the country the card's bank is based.The country in ISO-3166-1(alpha-2 code) format. minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency associated with the country of issuing bank. minLength: 1 maxLength: 50 example: USD cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. * `ILLEGIBLE` - indicates the cvv is present but cannot be read. * `NOT_PRESENT` - indicates the cvv is not present on the card. * `PRESENT` - indicates the cvv is present. minLength: 1 maxLength: 50 example: PRESENT cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. minLength: 1 maxLength: 50 example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. minLength: 1 maxLength: 50 example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. minLength: 1 maxLength: 50 example: MATCHED masked_network_token_last4: type: string description: Masked network token but last 4 digits of the network token are visible. minLength: 4 maxLength: 4 id_TRANSACTIONS.link.id: type: string description: A unique identifier generated by Global Payments to identify the link. minLength: 1 maxLength: 50 example: LNK_bnqlo0LgbMt221TczxF70Awdg7c5ez system: type: object description: Acquiring data used to identify a merchant when other systems are used by the merchant to payment process. properties: mid: type: string description: Merchant Identifier from the platform. minLength: 1 maxLength: 50 tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 hierarchy: type: string description: Identifies the location of a merchant within the merchant's corporate structure on the platform. minLength: 1 maxLength: 50 name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 tid_TRANSACTIONS.system.tid: type: string description: Merchant device or point of integration Identifier from the platform. minLength: 1 maxLength: 50 name_TRANSACTIONS.system.name: type: string description: The merchant name that exists on the platform. minLength: 1 maxLength: 50 dba_TRANSACTIONS.system.dba: type: string description: 'The alternate merchant name or doing business as name, that exists on the platform.' minLength: 1 maxLength: 50 change_amount_request: type: object title: refund_request properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 example: '100' reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e surcharge_amount: type: string description: The amount that reflects the additional charge the merchant applied to the transaction for using a specific payment method. minLength: 1 maxLength: 50 example: '11099' order: type: object properties: shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb tax_amount_TRANSACTIONS.tax_amount: type: string description: The total amount of tax charges associated with this transaction. minLength: 1 maxLength: 50 example: '100' amount_TRANSACTIONS.order.taxes.amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' existing_transaction_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED order: type: object properties: taxes: type: array items: type: object properties: type: type: string enum: - VAT - NATIONAL - SERVICE - DUTY - ALTERNATE - STATE - HST - GST - QST - SHIPPING description: | The type of tax being charged. *VAT - Value-added tax *NATIONAL - National tax. *SERVICE - Service tax. *DUTY - Duty tax or sometimes referred to as a tariff. *ALTERNATE - Use this option if none of the other tax types apply. *STATE - State or provinical tax. *HST - Harmonized sales tax. *GST - Goods and services tax. *QST - Quebec Sales tax. *SHIPPING - Shipping tax. minLength: 1 maxLength: 50 example: VAT amount: type: string description: Tax amount. minLength: 1 maxLength: 50 example: '10' percentage: type: string description: Tax percentage rate. minLength: 1 maxLength: 50 example: '1' duty_amount: type: string description: The total import or export duties amount included in the order. minLength: 1 maxLength: 50 example: '1000' shipping_amount: type: string description: The total shipping amount incurred for the order. minLength: 1 maxLength: 50 example: '100' batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} existing_transaction_payment_method_response: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED existing_transaction_card_response: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 result_TRANSACTIONS.payment_method.bnpl.result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED change_amount_request_reversal: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing amount: type: string description: 'An optional field that can be sent to indicate the amount to be reversed if you are setup for partial reversals. If no amount is provided, the entire transaction will be reversed.' minLength: 1 maxLength: 50 example: '11099' reversal_reason: type: string enum: - CUSTOMER_CANCELLATION - TERMINAL_ERROR - TIMEOUT - CHIP_CARD_DECLINE - MACFAILURE - RESPONSE_RECEIVED_LATE - SUSPECTED_FRAUD - ARPC_CRYPTOGRAM_FAILURE - IN_STOCK - OUT_OF_STOCK - FALSE_POSITIVE - OTHER - NOT_GIVEN - SYSTEM_ERROR - FRAUD - DUPLICATE - MISTAKE description: Used to record the reason for a reversal. minLength: 1 maxLength: 50 example: CUSTOMER_CANCELLATION currency_conversion: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the currency conversion details used with this transaction. minLength: 1 maxLength: 50 example: CCS_6a061b51-6e7a-4200-9d8c-01be5e26a5bb payment_method: type: object properties: first_name: type: string description: The first name of the owner of the payment method minLength: 1 maxLength: 50 example: JANE last_name: type: string description: The last name of the owner of the payment method minLength: 1 maxLength: 50 example: DOE entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - PHONE - MAIL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PRESENT - UNKNOWN description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. minLength: 1 maxLength: 50 example: ECOM card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID - ELECTRONIC_VOUCHER description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. * `ELECTRONIC_VOUCHER` - Indicates that card is an electronic voucher which requires a voucher code and number to fulfil the transaction minLength: 1 maxLength: 50 example: CREDIT track: type: string description: Data from magnetic stripe of a card. minLength: 1 maxLength: 200 account_type: type: string description: The card providers description of their card product. minLength: 1 maxLength: 50 tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 device: type: object properties: sequence_number: type: string description: The sequence number from the device used to align with the transaction processing platform. minLength: 1 maxLength: 50 time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 amount_TRANSACTIONS.reversal.amount: type: string description: 'An optional field that can be sent to indicate the amount to be reversed if you are setup for partial reversals. If no amount is provided, the entire transaction will be reversed.' minLength: 1 maxLength: 50 example: '11099' reversal_reason_TRANSACTIONS.reversal_reason: type: string enum: - CUSTOMER_CANCELLATION - TERMINAL_ERROR - TIMEOUT - CHIP_CARD_DECLINE - MACFAILURE - RESPONSE_RECEIVED_LATE - SUSPECTED_FRAUD - ARPC_CRYPTOGRAM_FAILURE - IN_STOCK - OUT_OF_STOCK - FALSE_POSITIVE - OTHER - NOT_GIVEN - SYSTEM_ERROR - FRAUD - DUPLICATE - MISTAKE description: Used to record the reason for a reversal. minLength: 1 maxLength: 50 example: CUSTOMER_CANCELLATION reversal_response: type: object title: reversal_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' time_last_updated: type: string description: Time indicating when the object was last updated in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: '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.' minLength: 2 maxLength: 2 example: US reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. minLength: 1 maxLength: 50 example: BAT_234234234 payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. card: type: object properties: authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. minLength: 1 maxLength: 50 bnpl: type: object properties: provider: type: string enum: - KLARNA - AFFIRM description: A string used to identify the buy now pay later provider being used to execute this transaction. minLength: 1 maxLength: 50 example: KLARNA result: type: string description: Result code from the buy now pay later provider minLength: 1 maxLength: 50 example: 201 CREATED device: type: object properties: host_response_code: type: string description: The response code from the target system to indicate whether a device action was successful or not. For example synching the device. minLength: 1 maxLength: 50 brand_sequence_number: type: string description: Host advising expected POS sequence number that needs to be supplied minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} host_response_code_TRANSACTIONS.device.host_response_code: type: string description: The response code from the target system to indicate whether a device action was successful or not. For example synching the device. minLength: 1 maxLength: 50 brand_sequence_number_TRANSACTIONS.device.brand_sequence_number: type: string description: Host advising expected POS sequence number that needs to be supplied minLength: 1 maxLength: 50 change_amt_tag_lodging_request: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' capture_sequence: type: string enum: - FIRST - SUBSEQUENT - LAST description: 'Indicates whether the request is the first,a subsequent or the last capture request when capturing multiple amounts separately.' minLength: 1 maxLength: 50 example: FIRST total_capture_count: type: number description: Indicates the total or expected total of captures that will executed against a transaction that can be captured multiple times. lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION payment_method: type: object properties: card: type: object properties: tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 capture_sequence_TRANSACTIONS.capture_sequence: type: string enum: - FIRST - SUBSEQUENT - LAST description: 'Indicates whether the request is the first,a subsequent or the last capture request when capturing multiple amounts separately.' minLength: 1 maxLength: 50 example: FIRST lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION lodging.charge_item: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION change_amount_and_lodging_request: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' lodging: type: object properties: booking_reference: type: string description: An alphanumeric reference to identify the booking for a lodging stay. Please note that special characters are not allowed. minLength: 1 maxLength: 25 example: nxqHwJxr724gKgcuiyxv duration_days: type: number description: | The total number of days of the lodging stay. For authorization requests this value indicates the number of days covered by the advance payment. For incremental authorization requests this value indicates the number of additional days added to the auto rental or hotel stay. Please note the following conditions for this field: *This is mandatory for all US Visa CPS Hotel or Auto Rental transactions *This is optional for all US Visa CPS Hotel or Auto Rental incremental authorizations. *If checkin / checkout is the same day send value as 1 minimum: 1 maximum: 99 example: 5 room_tax_amount: type: string description: The total amount of tax charges for the room. minLength: 1 maxLength: 50 date_checked_in: type: string description: The check in date for a lodging stay. minLength: 1 maxLength: 50 example: '2024-08-22' date_checked_out: type: string description: The check out date for a lodging stay. minLength: 1 maxLength: 50 example: '15:04:05+07:00' daily_rate_amount: type: string description: The amount charged for one nights lodging. format: time minLength: 1 maxLength: 50 example: '15:04:05+07:00' charge_items: type: array items: type: object properties: types: type: array description: Describes the types of charges associated with a transaction. items: type: string enum: - RESTAURANT - GIFT_SHOP - MINI_BAR - PHONE - LAUNDRY - NO_SHOW - OTHER example: - RESTAURANT amount: type: string description: The amount of the individual charge item. Note an amount cannot be associated with a NO_SHOW charge type. minLength: 1 maxLength: 50 payment_method_program_codes: type: array description: 'Describes the payment method programs, typically run by card brands such as Visa, Mastercard and American Express.' items: type: string enum: - ASSURED_RESERVATION - CARD_DEPOSIT - PURCHASE - OTHER example: - ASSURED_RESERVATION adjust_amt_tag_request: type: object properties: amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' gratuity_amount: type: string description: The amount of the gratuity for a transaction. minLength: 1 maxLength: 50 example: '11099' payment_method: type: object properties: card: type: object properties: tag: type: string description: The full card tag data for an EMV/chip card transaction. minLength: 1 maxLength: 500 confirm_request: type: object properties: payment_method: type: object properties: apm: type: object description: Data associated with an APM. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 payment_method_secondary_apm: type: object properties: apm: type: object description: Data associated with an APM. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 payment_method_secondary_apm_fields: type: object description: Data associated with an APM. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 provider_payer_reference_TRANSACTIONS.payment_method.apm.provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 confirm_response: type: object properties: payment_method: type: object properties: apm: type: object description: Data associated with the response of an APM transaction. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 apm_response_secondary: type: object properties: apm: type: object description: Data associated with the response of an APM transaction. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 apm_response_secondary_fields: type: object description: Data associated with the response of an APM transaction. properties: provider: type: string enum: - TESTPAY - PAYPAL - SOFORT - IDEAL - GIROPAY - OPEN_BANKING - ALIPAY - WECHAT - BLIK - BANK_PAYMENT - ERATY description: A string used to identify the payment method provider being used to execute this transaction. minLength: 1 maxLength: 50 example: PAYPAL provider_payer_reference: type: string description: The payer reference from the payment method provider. minLength: 1 maxLength: 50 provider_transaction_reference: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_time_created: type: string description: The reference the payment method provider created for the transaction. minLength: 1 maxLength: 50 provider_payer_name: type: string description: A name of the payer from the payment method system. minLength: 1 maxLength: 50 split_amount_request: type: object properties: transfers: type: array items: type: object properties: account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b recipient_account_id: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance of the resource. This is intended to be unique but GP API does not polic its uniqueness. minLength: 1 maxLength: 50 example: my_reference amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 minLength: 1 maxLength: 50 example: '10000' description: type: string description: The description of the transfer minLength: 1 maxLength: 50 example: Transfer 1 recipient_account_id_TRANSACTIONS.transfers.recipient_account_id: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference_TRANSACTIONS.transfers.reference: type: string description: A label on the GP API platform that further identifies the instance of the resource. This is intended to be unique but GP API does not polic its uniqueness. minLength: 1 maxLength: 50 example: my_reference amount_TRANSACTIONS.transfers.amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 minLength: 1 maxLength: 50 example: '10000' description_TRANSACTIONS.transfers.description: type: string description: The description of the transfer minLength: 1 maxLength: 50 example: Transfer 1 split_amount_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' status: type: string enum: - FOR_REVIEW - INITIATED - PENDING - PREAUTHORIZED - CAPTURED - REVERSED - DECLINED - FUNDED - FAILED - REJECTED description: | Indicates where a transaction is in its lifecycle. * `FOR_REVIEW `- A Transaction is being created with key information like amount and goods and services being purchased.It must be reviewed and subsequently actioned before going for authorization. This status is used if the transaction needs to be shown to the payer before proceeding to authorization. * `INITIATED` - A Transaction has been successfully initiated. An update on its status is expected via a separate asynchronous notification to a webhook. * `PENDING` - A Transaction has been sent to the payment method provider and are waiting for a result. * `PREAUTHORIZED` - A Transaction has been approved but a capture request is required to commence the movement of funds. * `CAPTURED` - A Transaction has been successfully authorized and captured. The funding process will commence once the transaction remains in this status. * `REVERSED` - A Transaction that had a status of PENDING, PREAUTHORIZED or CAPTURED has subsequently been reversed which voids/cancels a transaction before it is funded. * `DECLINED` - A Transaction where the payment method provider declined the transfer of funds between the payer and the merchant. * `FUNDED` - A Transaction where the funds have transferred between payer and merchant as expected. * `FAILED` - A Transaction that experienced an error after it was already created. For example a transaction that timed out waiting for a response or a transaction was successfully initiated and sent to a terminal/device that subsequently experienced an issue. * `REJECTED` - A Transaction where the funds were expected to transfer between payer and merchant but the transfer was rejected during the funding process. This rarely happens but when it does it is usually addressed by Global Payments operations. minLength: 1 maxLength: 50 example: CAPTURED country: type: string description: '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.' minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD type: type: string enum: - SALE - REFUND description: | Describes 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. minLength: 1 maxLength: 50 default: SALE example: SALE amount: type: string description: The 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. minLength: 1 maxLength: 50 example: '11099' merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: result: type: string description: The result code associated with the payment method used to process this transaction. It is returned from another system used to process the payment method. minLength: 1 maxLength: 50 message: type: string description: The result message that better explains the result code. transfers: type: array items: type: object properties: id: type: string description: GP/APIMCS assigned unique identifier for each instance/record of this resource. minLength: 1 maxLength: 50 example: TRF_HP1XBe4tlWGp4ikejDmYrVFx2SMeS3 time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' status: type: string enum: - SUCCESS - FAILURE description: The overall status of the instance of the resource. minLength: 1 maxLength: 50 example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 minLength: 1 maxLength: 50 example: '10000' merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: FMA_86920f927028745yt34d077d88beb29b account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance of the resource. This is intended to be unique but GP API does not polic its uniqueness. minLength: 1 maxLength: 50 example: my_reference description: type: string description: The description of the transfer minLength: 1 maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '00' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app id_TRANSACTIONS.transfers.id: type: string description: GP/APIMCS assigned unique identifier for each instance/record of this resource. minLength: 1 maxLength: 50 example: TRF_HP1XBe4tlWGp4ikejDmYrVFx2SMeS3 time_created_TRANSACTIONS.transfers.time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. format: date-time minLength: 1 maxLength: 50 example: '2023-03-10T13:14:48.386Z' status_TRANSACTIONS.transfers.status: type: string enum: - SUCCESS - FAILURE description: The overall status of the instance of the resource. minLength: 1 maxLength: 50 example: SUCCESS merchant_id_TRANSACTIONS.transfers.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name_TRANSACTIONS.transfers.merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id_TRANSACTIONS.transfers.account_id: type: string description: A unique identifier for the merchant account set by Global Payments minLength: 1 maxLength: 50 example: FMA_86920f927028745yt34d077d88beb29b account_name_TRANSACTIONS.transfers.account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id_TRANSACTIONS.transfers.recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name_TRANSACTIONS.transfers.recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name_TRANSACTIONS.transfers.recipient_account_name: type: string description: The account identifier for the account that received a transfer. minLength: 1 maxLength: 50 example: '718556837_989567' result_TRANSACTIONS.transfers.provider.result: type: string description: The gateway provider response code for the requested transfer example: '00' message_TRANSACTIONS.transfers.provider.message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS device_sync_request: type: object properties: account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US currency: type: string enum: - 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 description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD device: type: object properties: time: type: string description: The time from the device in ISO8601 format. minLength: 1 maxLength: 50 serial_number: type: string description: A unique identifier for the physical device. This value persists with the device even if it is repurposed. minLength: 1 maxLength: 50 device_sync_response: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify the device synchronization. minLength: 1 maxLength: 50 example: DEV_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the transaction was created in ISO-8601 format. format: date-time example: '2026-05-03T21:23:39.718Z' type: type: string enum: - TERMINAL - MOBILE_PHONE - POS - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN description: | Indicates the type of physical device used to process the transaction. * `TERMINAL` - A device used to prompt the payer to enter their payment method credentials to process a transaction. * `MOBILE_PHONE` - A mobile phone was used as the processing device. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. minLength: 1 maxLength: 50 example: TERMINAL status: type: string enum: - AVAILABLE - NOT_AVAILABLE description: Indicates where the currency conversion is in its lifecycle * `AVAILABLE` - A currency conversion is available. The next step is to offer the conversion details to the end user. * `NOT_AVAILABLE` - A currency conversion is not available. example: AVAILABLE merchant_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific merchant. Begins with the three letters, MER.' minLength: 1 maxLength: 50 example: MER_A6A1EC44522F96630ABEA17A merchant_name: type: string description: A meaningful label that better identifies the merchant. minLength: 1 maxLength: 50 example: ABC INDUSTRIES account_id: type: string description: 'A unique identifier that is used to identify and reference an instance of this resource. This id is used when actioning or referencing a specific account. Begins with the three letters, TRA.' minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label that better identifies the account. minLength: 1 maxLength: 50 example: transaction_processing channel: type: string enum: - CP - CNP description: | 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 minLength: 1 maxLength: 50 example: CP country: type: string description: '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.' minLength: 2 maxLength: 2 example: US device: type: object properties: result: type: string description: The result code when executing an action on the device. For example synching the device. minLength: 1 maxLength: 50 message: type: string description: The result message when executing an action on the device. For example synching the device. minLength: 1 maxLength: 50 balance_key: type: string description: Key generated and provided to the PIN pad. This key is used to decrypt the balance information. minLength: 1 maxLength: 50 mac_key: type: string description: 'Key generated and provided to the PIN pad. Key is used to generate the MAC value. When returned in a transaction, the value is the working key to be used in the next transaction.' minLength: 1 maxLength: 50 mac: type: string description: A message authentication code that is used to confirm the security and integrity of the messaging to Global Payments. minLength: 1 maxLength: 50 pin_key: type: string description: 'Key used to encrypt the PIN which is maintained in the device''''s PIN Pad. When returned in a transaction, the value is the working key to be used in the next transaction.' minLength: 1 maxLength: 50 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} id_TRANSACTIONS.device.id: type: string description: A unique identifier generated by Global Payments to identify the device synchronization. minLength: 1 maxLength: 50 example: DEV_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d status_TRANSACTIONS.device.status: type: string enum: - AVAILABLE - NOT_AVAILABLE description: Indicates where the currency conversion is in its lifecycle * `AVAILABLE` - A currency conversion is available. The next step is to offer the conversion details to the end user. * `NOT_AVAILABLE` - A currency conversion is not available. example: AVAILABLE result_TRANSACTIONS.device.result: type: string description: The result code when executing an action on the device. For example synching the device. minLength: 1 maxLength: 50 message_TRANSACTIONS.device.message: type: string description: The result message when executing an action on the device. For example synching the device. minLength: 1 maxLength: 50 balance_key_TRANSACTIONS.device.balance_key: type: string description: Key generated and provided to the PIN pad. This key is used to decrypt the balance information. minLength: 1 maxLength: 50 mac_key_TRANSACTIONS.device.mac_key: type: string description: 'Key generated and provided to the PIN pad. Key is used to generate the MAC value. When returned in a transaction, the value is the working key to be used in the next transaction.' minLength: 1 maxLength: 50 mac_TRANSACTIONS.device.mac: type: string description: A message authentication code that is used to confirm the security and integrity of the messaging to Global Payments. minLength: 1 maxLength: 50 pin_key_TRANSACTIONS.device.pin_key: type: string description: 'Key used to encrypt the PIN which is maintained in the device''''s PIN Pad. When returned in a transaction, the value is the working key to be used in the next transaction.' minLength: 1 maxLength: 50 challenge_dispute: type: object description: This method allows documents to be uploaded to challenge a disputed transaction. properties: documents: type: object properties: b64_content: type: string description: The documents content to be uploaded in base64 format. file_format: type: string enum: - TIF - TIFF - PDF - BMP - JPEG - GIF - PNG - DOC - DOCX description: This is the format of the file being uploaded. minLength: 1 maxLength: 50 example: PDF b64_content_TRANSACTIONS.documents.b64_content: type: string description: The documents content to be uploaded in base64 format. file_format_TRANSACTIONS.documents.file_format: type: string enum: - TIF - TIFF - PDF - BMP - JPEG - GIF - PNG - DOC - DOCX description: This is the format of the file being uploaded. minLength: 1 maxLength: 50 example: PDF challenge_dispute_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. minLength: 1 maxLength: 50 example: TRN_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d dispute_status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW status: type: string description: Indicates where the document is in its lifecycle. example: UPLOADED document_name: type: string description: A meaningful label for the document set by Global Payments. example: UNDERWRITING_718564831_8vOut0YO32 action: type: object description: Information about the Action executed. properties: id: type: string description: A unique identifier generated by the platform to identify an action. minLength: 1 maxLength: 50 example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - ADJUST - AUTHORIZE - CAPTURE - CONFIRM - FORCE - INCREMENT - INITIATE - MULTIPLE_CAPTURE - PREAUTHORIZE - PREAUTHORIZE_MULTIPLE_CAPTURE - REAUTHORIZATION - REDIRECT_FROM - REDIRECT_TO - REFUND - RELEASE - REVERSE - SPLIT - STATUS_NOTIFICATION - TRANSACTION_LIST - TRANSACTION_SINGLE - HOLD description: Indicates the specific action taken. minLength: 1 maxLength: 50 example: AUTHORIZE time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time minLength: 1 maxLength: 50 example: '2026-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - PENDING - ERROR description: | The result of the action executed. * `SUCCESS` - indicates the action executed successfully. * `DECLINED` - indicates the result of the action was to DECLINE it. This means to consider that payment is not allowed and goods or services should not be provided. For transaction processing this means the payment method declined the transaction. * `PENDING` - indicates the result is not known but a final result will be subsequently provided. When the result is known the value can be updated to a SUCCESS, DECLINED or ERROR code. * `ERROR` - indicates the action was PENDING but when the final result was known, it had errored. minLength: 1 maxLength: 50 example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. minLength: 1 maxLength: 50 example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. minLength: 1 maxLength: 50 example: my_lovely_app x-examples: {} status_DISPUTES.status: type: string enum: - UNDER_REVIEW - WITH_MERCHANT - CLOSED - FUNDED description: Indicated where the dispute is in the life-cycle. minLength: 1 maxLength: 50 example: UNDER_REVIEW status_DOCUMENTS.status: type: string description: Indicates where the document is in its lifecycle. example: UPLOADED name_DOCUMENTS.name: type: string description: A meaningful label for the document set by Global Payments. example: UNDERWRITING_718564831_8vOut0YO32 reason_code_TRANSACTIONS.reason_code: type: string enum: - FRAUD - NON_DELIVERY - GOODS_BROKEN - FALSE_POSITIVE - IN_STOCK - OTHER - NOT_GIVEN - OUT_OF_STOCK description: | A code indicating the reason for the latest action against the transaction. This can relate to reasons for fraud related actions such as holding or releasing a transaction. It can also relate to the reason a transaction is disputed. example: FRAUD message_TRANSACTIONS.risk_assessment.message: type: string description: This is a descriptiion of the action that has been executed. minLength: 1 maxLength: 50 objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. ``` ## Transfers Source: https://developer.globalpayments.com/api/transfers.md # Transfers ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Transfers description: Transfers represent the movement of funds from one Global Merchant Account to another. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: '/merchants//transfers': post: tags: - Transfer Funds summary: Move funds from one merchant's fund management account to another merchant's fund management account. description: Move funds from one merchant's fund management account to another merchant's fund management account. operationId: post-transfers-pushfund parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: description: '' required: true content: application/json: schema: type: object title: create_request properties: account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE required: - recipient_account_id - reference - amount - description - usable_balance_mode responses: '200': description: OK content: application/json: schema: type: object title: create_response_updated properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type: type: string enum: - TRANSFER - REVERSAL description: GP API specific label that indicates the type resource an instance is. example: TRANSFER status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reecipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '0' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transfers//reversal': post: tags: - Reverse A Transfer summary: Reverse a Transfer description: This will reverse a Transfer. The funds from the transfer will be returned to the initiating merchant. operationId: reverseExistingSplit parameters: - name: id in: path required: true schema: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json requestBody: description: '' required: false content: application/json: schema: type: object properties: amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS type: type: string enum: - TRANSFER - REVERSAL description: GP API specific label that indicates the type resource an instance is. example: TRANSFER country: type: string title: country_TRANSFERS.country description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US currency: type: string title: currency_TRANSFERS.currency description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' provider: type: object properties: result: type: string title: result_TRANSFERS.payment_method.result description: Result code from the payment method provider. example: '0' message: type: string title: message_TRANSFERS.payment_method.message description: Result message from the payment method provider corresponding to the result code. example: Succesful action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment '/transfers/': get: tags: - Get a Transfer summary: Get a Transfer description: Get info about a Transfer event on the Global Payments system using the unique id created by Global Payments for that Transfer. operationId: getTransfer parameters: - name: id in: path required: true schema: type: string - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: transfers_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT title: type_GET_TRANSFERS.type description: |- Indicates the specific action taken. * `DEBIT` - indicates the action perfomred was a transfer to another merchant. * `CREDIT` - indicates the action perfomred was a transfer to this merchant. status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '0' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action_create_id: type: string title: action_create_id_TRANSFERS.action_create_id description: A unique identifier generated by Global Payments to identify the action returned on the transfer creation. . example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d parent_resource: type: string enum: - TRANSACTION - TRANSFER title: parent_resource.TRANSFERS.parent_resource description: |- If the transfer is the result of a split, then the parent resource should be TRANSACTION and a TRN will be provided in the parent_resource_id. If the transfer is a standalone transfer then we will provide TRANSFER in the parent_resource and a TRF will be provide in the parent_resource_id. * `TRANSACTION` - indicates the transfer was a split action performed on a transaction. * `TRANSFER` - indicates that the parent resource was a standalone transfer. parent_resource_id: type: string title: parent_resource_id_TRANSFERS.parent_resource_id description: 'The resource identifier of the parent resource. ' example: TRN_nG0HCR8sMTDnZCcbemvdqdnKnrhODk action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment /transfers: get: tags: - List Transfers summary: List Transfers operationId: listTransfers parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 responses: '200': description: OK content: application/json: schema: type: object title: list_transfers_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transfers: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT title: type_GET_TRANSFERS.type description: |- Indicates the specific action taken. * `DEBIT` - indicates the action perfomred was a transfer to another merchant. * `CREDIT` - indicates the action perfomred was a transfer to this merchant. status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account-_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '0' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action_create_id: type: string title: action_create_id_TRANSFERS.action_create_id description: A unique identifier generated by Global Payments to identify the action returned on the transfer creation. . example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d parent_resource: type: string enum: - TRANSACTION - TRANSFER title: parent_resource.TRANSFERS.parent_resource description: |- If the transfer is the result of a split, then the parent resource should be TRANSACTION and a TRN will be provided in the parent_resource_id. If the transfer is a standalone transfer then we will provide TRANSFER in the parent_resource and a TRF will be provide in the parent_resource_id. * `TRANSACTION` - indicates the transfer was a split action performed on a transaction. * `TRANSFER` - indicates that the parent resource was a standalone transfer. parent_resource_id: type: string title: parent_resource_id_TRANSFERS.parent_resource_id description: 'The resource identifier of the parent resource. ' example: TRN_nG0HCR8sMTDnZCcbemvdqdnKnrhODk action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Transfer Funds description: Move funds from one merchant's account to another. - name: Reverse a Split description: Reverse a split transaction. components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb example: Bearer DCKbRy6gtN6gWJI2ja0B7e3POtbb X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: merchant_id_TRANSFERS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 create_request: type: object title: create_request properties: account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE required: - recipient_account_id - reference - amount - description - usable_balance_mode account_id_TRANSFERS.account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name_TRANSFERS.account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_account_id_TRANSFERS.recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 recipient_account_name_TRANSFERS.recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference_TRANSFERS.reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' amount_TRANSFERS.amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' description_TRANSFERS.description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 usable_balance_mode_TRANSFERS.usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE create_response_updated: type: object title: create_response_updated properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type: type: string enum: - TRANSFER - REVERSAL description: GP API specific label that indicates the type resource an instance is. example: TRANSFER status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reecipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '0' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app id_TRANSFERS.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created_TRANSFERS.time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated_TRANSFERS.time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type_TRANSFERS.type: type: string enum: - TRANSFER - REVERSAL description: GP API specific label that indicates the type resource an instance is. example: TRANSFER status_TRANSFERS.status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS merchant_name_TRANSFERS.merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 recipient_merchant_id_TRANSFERS.recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name_TRANSFERS.recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 result_TRANSFERS.provider.result: type: string description: The gateway provider response code for the requested transfer example: '0' message_TRANSFERS.provider.message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS id_TRANSFERS.action.id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_TRANSFERS.action.type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created_TRANSFERS.action.time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code_TRANSFERS.action.result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id_TRANSFERS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_TRANSFERS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app split_amount_request: type: object properties: amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' split_amount_response: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS type: type: string enum: - TRANSFER - REVERSAL description: GP API specific label that indicates the type resource an instance is. example: TRANSFER country: type: string title: country_TRANSFERS.country description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US currency: type: string title: currency_TRANSFERS.currency description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' provider: type: object properties: result: type: string title: result_TRANSFERS.payment_method.result description: Result code from the payment method provider. example: '0' message: type: string title: message_TRANSFERS.payment_method.message description: Result message from the payment method provider corresponding to the result code. example: Succesful action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app country_TRANSFERS.country: type: string title: country_TRANSFERS.country description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US currency_TRANSFERS.currency: type: string title: currency_TRANSFERS.currency description: The currency of the amount in ISO-4217(alpha-3) minLength: 3 maxLength: 3 example: USD result_TRANSFERS.payment_method.result: type: string title: result_TRANSFERS.payment_method.result description: Result code from the payment method provider. example: '0' message_TRANSFERS.payment_method.message: type: string title: message_TRANSFERS.payment_method.message description: Result message from the payment method provider corresponding to the result code. example: Succesful transfers_response: type: object title: transfers_response properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT title: type_GET_TRANSFERS.type description: |- Indicates the specific action taken. * `DEBIT` - indicates the action perfomred was a transfer to another merchant. * `CREDIT` - indicates the action perfomred was a transfer to this merchant. status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '0' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action_create_id: type: string title: action_create_id_TRANSFERS.action_create_id description: A unique identifier generated by Global Payments to identify the action returned on the transfer creation. . example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d parent_resource: type: string enum: - TRANSACTION - TRANSFER title: parent_resource.TRANSFERS.parent_resource description: |- If the transfer is the result of a split, then the parent resource should be TRANSACTION and a TRN will be provided in the parent_resource_id. If the transfer is a standalone transfer then we will provide TRANSFER in the parent_resource and a TRF will be provide in the parent_resource_id. * `TRANSACTION` - indicates the transfer was a split action performed on a transaction. * `TRANSFER` - indicates that the parent resource was a standalone transfer. parent_resource_id: type: string title: parent_resource_id_TRANSFERS.parent_resource_id description: 'The resource identifier of the parent resource. ' example: TRN_nG0HCR8sMTDnZCcbemvdqdnKnrhODk action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app type_GET_TRANSFERS.type: type: string enum: - DEBIT - CREDIT title: type_GET_TRANSFERS.type description: |- Indicates the specific action taken. * `DEBIT` - indicates the action perfomred was a transfer to another merchant. * `CREDIT` - indicates the action perfomred was a transfer to this merchant. action_create_id_TRANSFERS.action_create_id: type: string title: action_create_id_TRANSFERS.action_create_id description: A unique identifier generated by Global Payments to identify the action returned on the transfer creation. . example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d parent_resource.TRANSFERS.parent_resource: type: string enum: - TRANSACTION - TRANSFER title: parent_resource.TRANSFERS.parent_resource description: |- If the transfer is the result of a split, then the parent resource should be TRANSACTION and a TRN will be provided in the parent_resource_id. If the transfer is a standalone transfer then we will provide TRANSFER in the parent_resource and a TRF will be provide in the parent_resource_id. * `TRANSACTION` - indicates the transfer was a split action performed on a transaction. * `TRANSFER` - indicates that the parent resource was a standalone transfer. parent_resource_id_TRANSFERS.parent_resource_id: type: string title: parent_resource_id_TRANSFERS.parent_resource_id description: 'The resource identifier of the parent resource. ' example: TRN_nG0HCR8sMTDnZCcbemvdqdnKnrhODk list_transfers_response: type: object title: list_transfers_response properties: total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' filter: type: object properties: from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' paging: type: object properties: page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED transfers: type: array items: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the transaction and must be used to action that transaction in future. example: TRF_U3bZFd2jL98L0XacplaUvPSSDhFI2J time_created: type: string description: GP API specific created time indicating when the instance of the resource was created. example: '2023-03-10T13:14:48.386Z' time_last_updated: type: string description: GP API specific last updated time when the instance of the resource was last updated. example: '2023-03-10T13:14:48.386Z' type: type: string enum: - DEBIT - CREDIT title: type_GET_TRANSFERS.type description: |- Indicates the specific action taken. * `DEBIT` - indicates the action perfomred was a transfer to another merchant. * `CREDIT` - indicates the action perfomred was a transfer to this merchant. status: type: string enum: - SUCCESS - FAILED - FUNDED description: | The overall status of the resource. * `SUCCESS` - indicates the instant success of of a standalone transfer. * `FAILED` - indicates the failure of an instant standalone transfer. example: SUCCESS amount: type: string description: The amount that is being transferred. Represented in the lowest denomination of the currency (i.e. $100.00 = 10000 maxLength: 50 example: '10000' usable_balance_mode: type: string enum: - AVAILABLE_BALANCE - AVAILABLE_AND_PENDING_BALANCE description: | The balance from which the transfer should pull. The transfer will always use avaialble funds first, and may, as directed by this field, pull from the pending balance. * `AVAILABLE_BALANCE` - indicates that a transfer will pull only from available funds in the funds management account. * `AVAILABLE_AND_PENDING_BALANCE` - indicates the transfer will pull first from the available balance, and then from the pending balance of the funds management account, if needed. maxLength: 50 default: AVAILABLE_BALANCE example: AVAILABLE_BALANCE merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. example: MER_880c34767b184d5e82b10e767201e648 merchant_name: type: string description: The merchant name of the account that sent the transfer. example: Curtis_Douglas49 account-_id: type: string description: The account identifier for the account that sent a transfer. maxLength: 50 example: FMA_bde109d70fb24d78b25fd364317dd9dc account_name: type: string description: The account name for the account that sent a transfer. maxLength: 50 example: '718556837_989567' recipient_merchant_id: type: string description: The merchant identifier of the account that received the transfer. example: MER_880c34767b184d5e82b10e767201e648 recipient_merchant_name: type: string description: The merchant name of the account that received the transfer. example: Curtis_Douglas49 recipient_account_name: type: string description: The account identifier for the account that recieved a transfer. example: '718556837_989567' recipient_account_id: type: string description: The account identifier for the account that recieved a transfer. maxLength: 50 example: FMA_b29c209e25db47ea8d9ef9f24ef29254 reference: type: string description: A label on the GP API platform that further identifies the instance fo the resource. This is intended to be unique but GP API does not polic its uniqueness. maxLength: 50 example: '1234' description: type: string description: The description of the transfer maxLength: 50 example: Transfer 1 provider: type: object properties: result: type: string description: The gateway provider response code for the requested transfer example: '0' message: type: string description: The gateway provider textual response for the requested transfer example: SUCCESS action_create_id: type: string title: action_create_id_TRANSFERS.action_create_id description: A unique identifier generated by Global Payments to identify the action returned on the transfer creation. . example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d parent_resource: type: string enum: - TRANSACTION - TRANSFER title: parent_resource.TRANSFERS.parent_resource description: |- If the transfer is the result of a split, then the parent resource should be TRANSACTION and a TRN will be provided in the parent_resource_id. If the transfer is a standalone transfer then we will provide TRANSFER in the parent_resource and a TRF will be provide in the parent_resource_id. * `TRANSACTION` - indicates the transfer was a split action performed on a transaction. * `TRANSFER` - indicates that the parent resource was a standalone transfer. parent_resource_id: type: string title: parent_resource_id_TRANSFERS.parent_resource_id description: 'The resource identifier of the parent resource. ' example: TRN_nG0HCR8sMTDnZCcbemvdqdnKnrhODk action: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - TRANSFER - REVERSE - TRANSFER_SINGLE - TRANSFER_LIST description: Indicates the specific action taken. example: TRANSFER_SINGLE time_created: type: string description: Global Payments time indicating when the object was created in ISO-8601 format. example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - DECLINED - FAILED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app total_record_count: type: number description: 'The total number of records across all pages for the search filter. When searching for a collection of resoures, this is returned on the first page only and when the date range is a month or less.' example: 1000 current_page_size: type: number description: The total number of records returned on the current page. If current_page_size is less than the page_size using in the querystring then this is the final page for that search. example: 564 from_time_created: type: string description: | The start time to search for in a range, using the resource time_created value. format: date example: '2022-05-01' to_time_created: type: string description: | The end time to search for in a range, using the resource time_created value. format: date example: '2023-05-01' page_size.paging.page_size: type: number description: 'The total number of records to return in a single page for a list. The maximum this value can be is 1000, meaning that the maximum number of records to return in a single request is 1000.' minimum: 1 maximum: 1000 default: 5 example: 5 page.paging.page: type: number description: 'Indicates the page sequence to return in the response. The number of records presented on each page is determined by page_size field.1 means the first page, 2 the second and so on.' default: 1 example: 1 order.paging.order: type: string enum: - ASC - DESC description: 'The direction of the ordering of the entire list, ASC or DESC' example: ASC order_by.paging.order_by: type: string description: The field to order the list by. default: TIME_CREATED example: TIME_CREATED objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. ``` ## Verifications Source: https://developer.globalpayments.com/api/verifications.md # Verifications ```yaml openapi: 3.0.3 info: version: 2021 03 22 title: Verifications description: Verifications represent the validation of a payment method to ensure it can be used in the creation of a Transaction. contact: name: API Integrations url: 'https://developer.globalpay.com/?gp-api=true' email: api.integrations@globalpay.com x-gp-yaml-file-version: 1 servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment paths: /verifications: post: tags: - Verify summary: Verify description: Verify a payment method to ensure it can be used to create a Transaction at a later time. operationId: createVerification parameters: - name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx - name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 - name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' - name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json - name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json requestBody: required: true content: application/json: schema: type: object properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b channel: type: string enum: - CP - CNP description: | 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 example: CP currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name: type: string description: Specify the first name of the owner of the payment method. maxLength: 50 example: James last_name: type: string description: Specify the surname of the owner of the payment method. maxLength: 50 example: Mason name: type: string description: The name of the payment method maxLength: 100 example: John's payment method entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PHONE - MAIL description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. example: MOTO fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. *`ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. *`ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS encryption: type: object properties: method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII authentication: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: message_version: type: string description: Indicates the version of 3D Secure used. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 value: type: string description: The authentication value created as part of the 3D Secure process. minLength: 1 maxLength: 50 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT number: type: string description: The card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' track: type: string description: Data from magnetic stripe of a card minLength: 1 maxLength: 1000 pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. *`ILLEGIBLE` - indicates the cvv is present but cannot be read. *`NOT_PRESENT` - indicates the cvv is not present on the card. *`PRESENT` - indicates the cvv is present. maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. maxLength: 50 example: Apt 123 avs_postal_code: type: string description: Postal code of the address associated with the card. maxLength: 50 example: TGX562 decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. name: type: string description: The name of the bank. payer: type: object properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James email: type: string description: The email address of the payer. minLength: 1 maxLength: 50 example: abc@globalpayments.com 'landline_phone ': type: string description: The landline phone number. example: 1234567890 mobile_phone: type: string description: The mobile phone number. example: '1234567890' home_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 date_of_birth: type: string description: The date of birth of the payer billing_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US device: type: object properties: type: type: string enum: - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN - OFF_THE_SHELF description: | Indicates the type of physical device used to process the transaction. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. * 'OFF_THE_SHELF' - Off the shelf mobile device minLength: 1 maxLength: 50 example: MOBILE_POS reference: type: string description: The integrator submitted reference or identifier for the device. minLength: 1 maxLength: 50 capabilities: type: object properties: entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER - UNKNOWN example: - CHIP payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL - ALTERNATIVE example: - PARTIAL attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count: type: number description: The number of lines that can be used to display information on the device. minimum: 1 maximum: 50 location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT card_capture: type: string enum: - 'YES' - 'NO' description: Indicates if the device is capable of pulling the card into the device while the transaction is taking place minLength: 1 maxLength: 50 example: 'NO' max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER required: - account_name - channel - currency - reference - country examples: Verify a Card: value: account_name: Transaction_Processing channel: CNP currency: USD reference: MY_TRANS_REF_12345 country: US payment_method: name: James Mason entry_mode: ECOM card: number: '4263970000005262' expiry_month: '05' expiry_year: '30' Perform a Balance Inquiry - Prepaid Card: value: account_name: Transaction_Processing type: SALE channel: CP amount: '156' currency: CAD country: CA capture_mode: AUTO reference: testreference payment_method: name: Jane Doe entry_mode: MANUAL card: funding: PREPAID number: '4003000123456781' expiry_month: '12' expiry_year: '30' Verify a Card with Encrypted card details: value: channel: CNP country: CA currency: CAD reference: myuniquereference account_name: transaction_processing payment_method: first_name: John last_name: Doe entry_mode: ECOM card: number: DGYTNKBU67JHACYA== cvv: '123' expiry_month: '12' expiry_year: '26' cvv_indicator: PRESENT avs_address: string avs_postal_code: string decryption_required: 'YES' encryption: version: '05' method: KSN info: RVNRGvbAEkHI= type: ASCII Perform ACH verification to validate bank account details: value: merchant_id: MER_7a20bd695b6c4ca8b5cedb8300b40e66 account_id: TRA_ae0784fab6f246c0b676f66f7c9c434a channel: CNP currency: USD country: US capture_mode: AUTO reference: TRANS-20180114123459878 lane_id: '2272338' payment_method: first_name: Jane last_name: Doe entry_mode: ECOM narrative: '123' bank_transfer: account_number: '123456678' account_type: SAVING bank: code: 083908420 name: First Union payer: name: ANGELA SMITH reference: '123' date_of_birth: '1967-08-13' landline_phone: '235555' mobile_phone: '222222' home_phone: country_code: '44' subscriber_number: '1234512346' work_phone: country_code: '44' subscriber_number: '1234512346' billing_address: line_1: line_1 line_2: line_2 city: test state: AZ postal_code: '22114' country: USA responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify a verification minLength: 1 maxLength: 50 example: VER_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - VERIFIED - NOT_VERIFIED description: Indicates where a resource object is in its life-cycle. example: VERIFIED channel: type: string enum: - CP - CNP description: | 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 example: CP currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 result: type: string description: Result code from the payment method provider message: type: string description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PHONE - MAIL description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. example: MOTO fingerprint_presence_indicator: type: string enum: - EXISTS - NEW description: | If enabled, this field indicates whether the payment method has been seen before or is new. *`EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. *`NEW `- Indicates that the payment method was not seen on the platform before by this merchant. fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 example: '000000321000010' cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended AVS action to be taken by the agent processing the card transaction. maxLength: 50 example: PROMPT available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. example: BAT_234234234 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - VERIFY description: Indicates the specific action taken. example: VERIFY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - NOT_VERIFIED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app examples: Perform a Balance Inquiry - Prepaid Card: value: id: VER_NBTL2Kihd8Z878oaF764RQECrizXMK time_created: '2026-03-03T20:22:32.503Z' type: VERIFICATION status: VERIFIED channel: CP country: CA merchant_id: MER_c5d37eaf0e3841e083c232b2318af55c merchant_name: Sandbox_Merchant_4 account_id: TRA_27c901760029495f813afbb0dab197ef account_name: transaction_processing reference: '99439631' payment_method: result: '00' message: APPROVAL entry_mode: MANUAL card: funding: PREPAID brand: VISA masked_number_last4: XXXXXXXXXXXX6781 authcode: VI0000 brand_reference: '006062400006552' available_balance: '-123456789011' batch_id: '' action: id: ACT_NBTL2Kihd8Z878oaF764RQECrizXMK type: VERIFY time_created: '2026-03-03T20:22:32.503Z' result_code: SUCCESS app_id: T6og1tbECpHFeO104qUM383oq5bOJ12r app_name: Postman_Collection_Test Perform ACH verification to validate bank account details: value: id: VER_2GjnPZynN2bciMlcApl0GSkme7U5xj time_created: '2026-05-27T10:53:55.134Z' type: VERIFICATION status: VERIFIED channel: CNP country: US merchant_id: MER_7a20bd695b6c4ca8b5cedb8300b40e66 merchant_name: internet2 account_id: TRA_ae0784fab6f246c0b676f66f7c9c434a account_name: Mindbody_Processing reference: TRANS-20180114123459878 payment_method: result: A0000 message: Success bank_transfer: account_number: XXXXX6678 account_type: SAVING bank: name: First Union action: id: ACT_2GjnPZynN2bciMlcApl0GSkme7U5xj type: VERIFY time_created: '2026-05-27T10:53:55.134Z' result_code: SUCCESS app_id: VuT4qLPs98hwVMnGAPkWz3KDIuAumlwz app_name: ecom_transit_app headers: Content-Type: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. Content-Encoding: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Idempotency: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. X-GP-Version: schema: name: Content-type in: header required: true schema: type: string default: application/json example: application/json description: Format of the message body. '400': description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data '401': description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token '403': description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action '404': description: Resource Not Found '500': description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error '501': description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' '502': description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. '504': description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] servers: - url: 'https://apis.sandbox.globalpay.com/ucp' description: Sandbox Environment - url: 'https://apis.globalpay.com/ucp' description: Production Environment tags: - name: Verify description: Verify a payment method to ensure it can be used to create a Transaction at a later time. components: parameters: Authorization: name: Authorization in: header description: Bearer access token value used to authorize and access the API. Must always begin with the string "Bearer". required: true schema: type: string default: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx example: Bearer HoMMVWfRuhrB00wdTifFeMErGGWx X-GP-Idempotency: name: X-GP-Idempotency in: header description: 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. required: false schema: type: string minLength: 1 maxLength: 50 X-GP-Version: name: X-GP-Version in: header description: The version of the API to execute the request. required: true schema: type: string minLength: 1 maxLength: 50 default: '2021-03-22' example: '2021-03-22' Content-type: name: Content-type in: header description: Format of the message body. required: true schema: type: string default: application/json example: application/json Accept: name: Accept in: header description: Indicates the expected format of the message response. required: false schema: type: string default: application/json securitySchemes: bearerAuth: type: http scheme: bearer responses: RequestInvalid_400: description: Bad Request content: application/json: schema: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: description: Not Authenticated content: application/json: schema: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: description: Forbidden content: application/json: schema: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: description: Internal Server Error content: application/json: schema: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: description: Not implemented content: application/json: schema: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: description: Bad Gateway content: application/json: schema: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: description: Timeout content: application/json: schema: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. schemas: create_request: type: object properties: account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b channel: type: string enum: - CP - CNP description: | 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 example: CP currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name: type: string description: Specify the first name of the owner of the payment method. maxLength: 50 example: James last_name: type: string description: Specify the surname of the owner of the payment method. maxLength: 50 example: Mason name: type: string description: The name of the payment method maxLength: 100 example: John's payment method entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PHONE - MAIL description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. example: MOTO fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. *`ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. *`ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS encryption: type: object properties: method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII authentication: type: object properties: id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb three_ds: type: object properties: message_version: type: string description: Indicates the version of 3D Secure used. minLength: 1 maxLength: 50 eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 value: type: string description: The authentication value created as part of the 3D Secure process. minLength: 1 maxLength: 50 server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 50 exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT number: type: string description: The card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' track: type: string description: Data from magnetic stripe of a card minLength: 1 maxLength: 1000 pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. *`ILLEGIBLE` - indicates the cvv is present but cannot be read. *`NOT_PRESENT` - indicates the cvv is not present on the card. *`PRESENT` - indicates the cvv is present. maxLength: 50 example: PRESENT avs_address: type: string description: First line of the address associated with the card. maxLength: 50 example: Apt 123 avs_postal_code: type: string description: Postal code of the address associated with the card. maxLength: 50 example: TGX562 decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: code: type: string description: The local identifier code for the bank. name: type: string description: The name of the bank. payer: type: object properties: first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James email: type: string description: The email address of the payer. minLength: 1 maxLength: 50 example: abc@globalpayments.com 'landline_phone ': type: string description: The landline phone number. example: 1234567890 mobile_phone: type: string description: The mobile phone number. example: '1234567890' home_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 work_phone: type: object properties: country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 date_of_birth: type: string description: The date of birth of the payer billing_address: type: object properties: line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3: type: string description: Third line of the address. maxLength: 255 example: foyer city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' country: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US device: type: object properties: type: type: string enum: - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN - OFF_THE_SHELF description: | Indicates the type of physical device used to process the transaction. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. * 'OFF_THE_SHELF' - Off the shelf mobile device minLength: 1 maxLength: 50 example: MOBILE_POS reference: type: string description: The integrator submitted reference or identifier for the device. minLength: 1 maxLength: 50 capabilities: type: object properties: entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER - UNKNOWN example: - CHIP payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL - ALTERNATIVE example: - PARTIAL attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count: type: number description: The number of lines that can be used to display information on the device. minimum: 1 maximum: 50 location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT card_capture: type: string enum: - 'YES' - 'NO' description: Indicates if the device is capable of pulling the card into the device while the transaction is taking place minLength: 1 maxLength: 50 example: 'NO' max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER required: - account_name - channel - currency - reference - country account_name_VERIFICATIONS.account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing account_id_VERIFICATIONS.account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b channel_VERIFICATIONS.channel: type: string enum: - CP - CNP description: | 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 example: CP currency_VERIFICATIONS.currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD reference_VERIFICATIONS.reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e country_VERIFICATIONS.country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US id_VERIFICATIONS.payment_method.id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 first_name_VERIFICATIONS.payment_method.first_name: type: string description: Specify the first name of the owner of the payment method. maxLength: 50 example: James last_name_VERIFICATIONS.payment_method.last_name: type: string description: Specify the surname of the owner of the payment method. maxLength: 50 example: Mason name_VERIFICATIONS.payment_method.name: type: string description: The name of the payment method maxLength: 100 example: John's payment method entry_mode_VERIFICATIONS.payment_method.entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PHONE - MAIL description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. example: MOTO fingerprint_mode_VERIFICATIONS.payment_method.fingerprint_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to execute the fingerprint signature functionality. *`ALWAYS` - Always check and create the fingerprint value regardless of the result of the card authorization. *`ON_SUCCESS` - Always check and create the fingerprint value when the card authorization is successful. minLength: 1 maxLength: 50 storage_mode_VERIFICATIONS.payment_method.storage_mode: type: string enum: - ALWAYS - ON_SUCCESS description: | Indicates whether to store the card as part of a transaction. * `ALWAYS` - The card information is always stored irrespective of whether the payment method authorization was successful or not. * `ON_SUCCESS` - The card information is only stored if the payment method authorization was successful. minLength: 1 maxLength: 50 example: ALWAYS method_VERIFICATIONS.payment_method.encryption.method: type: string enum: - KTB - KSN - RSA_2048_OAEP_SHA_512 description: | Indicates the encryption method used when sending encrypted card data. *`KTB` - Indicates Key Transmission Block is being used *`KSN` - Indicates Key Serial Number is being used *`RSA_2048_OAEP_SHA_512` - Indicates RSA algorithm is being used with OAEP SHA 512 padding. minLength: 1 maxLength: 50 example: KTB version_VERIFICATIONS.payment_method.encryption.version: type: string description: The version of encryption being used. It is in the form of a two digit value. For example 05 or 06. minLength: 1 maxLength: 50 example: '06' info_VERIFICATIONS.payment_method.encryption.info: type: string description: | The encryption key id info used when sending encrypted data. If encryption.method is *`KTB` then it is the Key Transmission Block key id value, *`KSN` then it is the Key Serial Number key id value, *`RSA` then it is the RSA key id value base64 encoded. minLength: 1 maxLength: 2000 type_VERIFICATIONS.payment_method.encryption.type: type: string enum: - BINARY - ASCII description: | Indicates the encryption encoding format used to encrypt the data. *`BINARY` - Indicates data is binary encoded. *`ASCII` - Indicates data is encoded as ASCII. example: ASCII id_VERIFICATIONS.payment_method.authentication.id: type: string description: A unique identifier that is used to identify and reference an instance of this resource. It is generated by Global Payments to identify the authentication details (3DS data) used with this transaction. minLength: 1 maxLength: 50 example: AUT_6a061b51-6e7a-4200-9d8c-01be5e26a5bb message_version_VERIFICATIONS.payment_method.authentication.three_ds.message_version: type: string description: Indicates the version of 3D Secure used. minLength: 1 maxLength: 50 eci_VERIFICATIONS.payment_method.authentication.three_ds.eci: type: string description: An indication of the degree of the authentication and liability shift obtained for this transaction. It is returned after the 3D Secure process has completed. minLength: 1 maxLength: 5 value_VERIFICATIONS.payment_method.authentication.three_ds.value: type: string description: The authentication value created as part of the 3D Secure process. minLength: 1 maxLength: 50 server_trans_ref_VERIFICATIONS.payment_method.authentication.three_ds.server_trans_ref: type: string description: The reference created by the 3DSecure provider to identify the specific authentication attempt. minLength: 1 maxLength: 50 ds_trans_ref_VERIFICATIONS.payment_method.authentication.three_ds.ds_trans_ref: type: string description: The reference created by the 3DSecure Directory Server to identify the specific authentication attempt. minLength: 1 maxLength: 50 exempt_status_VERIFICATIONS.payment_method.authentication.three_ds.exempt_status: type: string enum: - LOW_VALUE - TRANSACTION_RISK_ANALYSIS - TRUSTED_MERCHANT - SECURE_CORPORATE_PAYMENT - SCA_DELEGATION description: Indicates if any exemptions apply to this transaction. minLength: 1 maxLength: 50 example: LOW_VALUE funding_VERIFICATIONS.payment_method.card.funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT number_VERIFICATIONS.payment_method.card.number: type: string description: The card account number used to authorize the transaction. Also known as PAN. minLength: 1 maxLength: 50 example: '4263970000005262' expiry_month_VERIFICATIONS.payment_method.card.expiry_month: type: string description: The 2 digit expiry date month of the card. minLength: 2 maxLength: 2 example: '05' expiry_year_VERIFICATIONS.payment_method.card.expiry_year: type: string description: The 2 digit expiry date year of the card. minLength: 2 maxLength: 2 example: '25' track_VERIFICATIONS.payment_method.card.track: type: string description: Data from magnetic stripe of a card minLength: 1 maxLength: 1000 pin_block_VERIFICATIONS.payment_method.card.pin_block: type: string description: 'Contains the pin block info, relating to the pin code the Payer entered.' minLength: 1 maxLength: 50 cvv_VERIFICATIONS.payment_method.card.cvv: type: string description: The numeric value printed on the physical card. minLength: 3 maxLength: 4 example: '852' cvv_indicator_VERIFICATIONS.payment_method.card.cvv_indicator: type: string enum: - ILLEGIBLE - NOT_PRESENT - PRESENT description: | Card Verification Value Indicator sent by the Merchant indicating the CVV availability. *`ILLEGIBLE` - indicates the cvv is present but cannot be read. *`NOT_PRESENT` - indicates the cvv is not present on the card. *`PRESENT` - indicates the cvv is present. maxLength: 50 example: PRESENT avs_address_VERIFICATIONS.payment_method.card.avs_address: type: string description: First line of the address associated with the card. maxLength: 50 example: Apt 123 avs_postal_code_VERIFICATIONS.payment_method.card.avs_postal_code: type: string description: Postal code of the address associated with the card. maxLength: 50 example: TGX562 decryption_required_VERIFICATIONS.payment_method.card.decryption_required: type: string enum: - 'YES' - 'NO' description: Indicates whether Global Payments must decrypt the merchant’s encrypted data to process the transaction. example: 'YES' account_number_VERIFICATIONS.payment_method.bank_transfer.account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_type_VERIFICATIONS.payment_method.bank_transfer.account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING code_VERIFICATIONS.payment_method.bank_transfer.bank.code: type: string description: The local identifier code for the bank. name_VERIFICATIONS.payment_method.bank_transfer.bank.name: type: string description: The name of the bank. first_name_VERIFICATIONS.payer.first_name: type: string description: The first name of the Payer minLength: 1 maxLength: 50 example: John last_name_VERIFICATIONS.payer.last_name: type: string description: The last name of the Payer minLength: 1 maxLength: 50 example: James email_VERIFICATIONS.payer.email: type: string description: The email address of the payer. minLength: 1 maxLength: 50 example: abc@globalpayments.com 'landline_phone _VERIFICATIONS.payer.landline_phone ': type: string description: The landline phone number. example: 1234567890 mobile_phone_VERIFICATIONS.payer.mobile_phone: type: string description: The mobile phone number. example: '1234567890' country_code_VERIFICATIONS.payer.home_phone.country_code: type: string description: The country in ISO-3166-1(alpha-2 code) format. minLength: 1 maxLength: 255 example: US subscriber_number_VERIFICATIONS.payer.home_phone.subscriber_number: type: string description: The phone number. minLength: 1 maxLength: 50 date_of_birth_VERIFICATIONS.payer.date_of_birth: type: string description: The date of birth of the payer line_1_VERIFICATIONS.payer.billing_address.line_1: type: string description: First line of the address. minLength: 1 maxLength: 255 example: 123 Merchant Street line_2_VERIFICATIONS.payer.billing_address.line_2: type: string description: Second line of the address. maxLength: 255 example: Suite 2 line_3_VERIFICATIONS.payer.billing_address.line_3: type: string description: Third line of the address. maxLength: 255 example: foyer city_VERIFICATIONS.payer.billing_address.city: type: string description: The city associated with the address. minLength: 1 maxLength: 255 example: Beverly Hills state_VERIFICATIONS.payer.billing_address.state: type: string description: 'The state or region of the address. ISO 3166-2 minus the country code itself. For example, US Illinois = IL, or in the case of GB counties Wiltshire = WI or Aberdeenshire = ABD' minLength: 1 maxLength: 255 example: CA postal_code_VERIFICATIONS.payer.billing_address.postal_code: type: string description: The postal code of the address. minLength: 1 maxLength: 255 example: '90210' type_VERIFICATIONS.device.type: type: string enum: - MOBILE_POS - MOBILE_POS_PLUS_HARDWARE - MOBILE_POS_PLUS_DONGLE - DONGLE_PIN - MOBILE_POS_PIN - OFF_THE_SHELF description: | Indicates the type of physical device used to process the transaction. * `MOBILE_POS` - Mobile device with no add-on hardware. * `MOBILE_POS_PLUS_HARDWARE` - Mobile device with add-on hardware. * `MOBILE_POS_PLUS_DONGLE` - Dedicated mPOS Terminal with PCI compliant dongle. * `DONGLE_PIN` - Dongle with software-based application that supports PIN entry on glass. * `MOBILE_POS_PIN` - Off the shelf mobile device with software-based application that supports PIN entry on glass. * 'OFF_THE_SHELF' - Off the shelf mobile device minLength: 1 maxLength: 50 example: MOBILE_POS reference_VERIFICATIONS.device.reference: type: string description: The integrator submitted reference or identifier for the device. minLength: 1 maxLength: 50 entry_modes_VERIFICATIONS.device.capabilities.entry_modes: type: array description: Describes the entry mode capabilities a device has. items: type: string enum: - CHIP - CONTACTLESS - MANUAL - SWIPE - CONTACTLESS_SWIPE - OPTICAL_CHARACTER_READER - UNKNOWN example: - CHIP payer_verifications_VERIFICATIONS.device.capabilities.payer_verifications: type: array description: Describes the capabilities a device has to verify a payer. items: type: string enum: - NONE - PINPAD - SIGNATURE_ANALYSIS - NO_SINGATURE_ANALYSIS - PAYER_DEVICE - CONTACTLESS_SIGNATURE - OTHER - UNKNOWN example: - PINPAD mobile_VERIFICATIONS.device.capabilities.mobile: type: array description: Describes the mobile features a device has. items: type: string enum: - INTEGRATED_CARD_READER - SEPARATE_CARD_READER - OFF_THE_SHELF - SOFTWARE_BASED_PIN_ENTRY example: - INTEGRATED_CARD_READER enabled_response_VERIFICATIONS.device.capabilities.enabled_response: type: array description: Describes the data the device can process when it receives a response for a card authorization. items: type: string enum: - AVS - CVV - BRAND_REFERENCE - MASKED_NUMBER_LAST4 example: - AVS authorization_modes_VERIFICATIONS.device.capabilities.authorization_modes: type: array description: Describes whether the device can process partial authorizations. items: type: string enum: - PARTIAL - ALTERNATIVE example: - PARTIAL attendance_modes_VERIFICATIONS.device.capabilities.attendance_modes: type: array description: Indicates whether the device is attended or not. items: type: string enum: - ATTENDED - UNATTENDED example: - ATTENDED fraud_VERIFICATIONS.device.capabilities.fraud: type: array description: Describes the instruction a device can indicate to the clerk in the case of fraud. items: type: string enum: - PICK_UP_CARD example: - PICK_UP_CARD display_line_count_VERIFICATIONS.device.capabilities.display_line_count: type: number description: The number of lines that can be used to display information on the device. minimum: 1 maximum: 50 location_VERIFICATIONS.device.capabilities.location: type: array description: | Describes the location where the device is being used. * `ON_MERCHANT_PREMISIS` - The transaction took place on the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `OFF_MERCHANT_PREMISIS` - The transaction took place away from the merchant's premesis. This value should be used for EMV contact transactions and must be provided in conjuction with an attendance_mode. * `ON_PAYER_PREMISIS` - The transaction took place on the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `OFF_PAYER_PREMISIS` - The transaction took place away from the payer's premesis. This value can be used for EMV contact or EMV contactless transactions and must be provided in conjuction with an attendance_mode. * `ON_MERCHANT_PREMISES_MPOS` - The transaction took place on the merchant's premesis, using the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_MPOS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `ON_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `OFF_MERCHANT_PREMISES_PAYER_POS` - The transaction took place away from the merchant's premesis, and used the merchant's mobile POS solution. Attendance_mode should not be sent when providing this location. * `UNKNOWN` - The transaction took place at an unknown location. items: type: string enum: - ON_MERCHANT_PREMISES - OFF_MERCHANT_PREMISES - UNKNOWN - ON_PAYER_PREMISES - OFF_PAYER_PREMISES - OFF_MERCHANT_PREMISES_MPOS - ON_MERCHANT_PREMISES_MPOS - OFF_MERCHANT_PREMISES_PAYER_POS example: - ON_MERCHANT_PREMISIS output_VERIFICATIONS.device.capabilities.output: type: string enum: - NONE - PRINT - DISPLAY - PRINT_AND_DISPLAY - UNKNOWN description: | Indicates the output capabilities of the device. * `NONE` - The device has no output capability. * `PRINT` - The device has the ability to print. * `DISPLAY` - The device has display capability. * `PRINT_AND_DISPLAY` - The device has print and display capability. * `UNKNOWN` - The device's output capability is unknown. minLength: 1 maxLength: 50 example: PRINT card_capture_VERIFICATIONS.device.capabilities.card_capture: type: string enum: - 'YES' - 'NO' description: Indicates if the device is capable of pulling the card into the device while the transaction is taking place minLength: 1 maxLength: 50 example: 'NO' max_pin_count_VERIFICATIONS.device.capabilities.max_pin_count: type: string enum: - UNKNOWN - NOT_SUPPORTED - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' description: Indicates the maximum accepted length for PIN number. minLength: 1 maxLength: 50 example: NOT_SUPPORTED card_update_VERIFICATIONS.device.capabilities.card_update: type: string enum: - 'YES' - 'NO' description: This field indicates the ability of the device and software to update or change the card information minLength: 1 maxLength: 50 example: 'NO' initiator_VERIFICATIONS.initiator: type: string enum: - PAYER - MERCHANT description: | 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. minLength: 1 maxLength: 50 example: PAYER create_response: type: object properties: id: type: string description: A unique identifier generated by Global Payments to identify a verification minLength: 1 maxLength: 50 example: VER_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status: type: string enum: - VERIFIED - NOT_VERIFIED description: Indicates where a resource object is in its life-cycle. example: VERIFIED channel: type: string enum: - CP - CNP description: | 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 example: CP currency: type: string enum: - USD - EUR - GBP - CAD - CHF - HKD - SGD - MOP etc. description: The currency of the amount in ISO-4217(alpha-3). minLength: 3 maxLength: 3 example: USD country: type: string description: The country in ISO-3166-1(alpha-2 code) format. example: US merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 account_id: type: string description: A unique identifier for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: TRA_86920f927028745yt34d077d88beb29b account_name: type: string description: A meaningful label for the merchant account set by Global Payments. minLength: 1 maxLength: 50 example: transaction_processing reference: type: string description: Merchant defined field to reference the transaction. minLength: 8 maxLength: 50 example: becf9f3e-4d33-459c-8ed2-0c4affc9555e payment_method: type: object properties: id: type: string description: Unique platform generated id used to reference a stored payment method on the platform. Often referred to as the payment method token. This value can be used instead of payment method details such as a card number and expiry date. minLength: 1 maxLength: 50 example: PMT_31087d9c-e68c-4389-9f13-39378e166ea5 result: type: string description: Result code from the payment method provider message: type: string description: Result message from the payment method provider corresponding to the result code. entry_mode: type: string enum: - MOTO - ECOM - IN_APP - CHIP - SWIPE - MANUAL - CONTACTLESS_CHIP - CONTACTLESS_SWIPE - PHONE - MAIL description: | Indicates how the payment method information was obtained by the Merchant for this transaction. * `MOTO` - A CNP channel entry mode where the payment method information was obtained over the phone or via postal mail. * `ECOM` - A CNP channel entry mode where the payment method was obtained via a browser. * `IN_APP` - A CNP channel entry mode where the payment method was obtained via an application and applies to digital wallets only. * `CHIP` - A CP channel entry mode where the payment method information was obtained from a chip. E.g. card is inserted into a device to read the chip. * `SWIPE` - A CP channel entry mode where the payment method information was obtained from swiping a magnetic strip. E.g. card's magnetic strip is swiped through a device to read the card information. * `MANUAL` - A CP channel entry mode where the payment method information was obtained by manually keying the payment method information into the device. * `CONTACTLESS_CHIP` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device. E.g. tap a card on or near a device to exchange card information. * `CONTACTLESS_SWIPE` - A CP channel entry mode where the payment method information was obtained by bringing the payment method to close proximity of a device and also swiping the card. E.g. tap a card on or near a device and swipe it through device to exchange card information * `PHONE` - A CNP channel entry mode where the payment method was obtained over the phone. * `MAIL` - A CNP channel entry mode where the payment method was obtained via postal mail. * `PRESENT`- The entry mode cannot be determined but it is a Customer Present transaction. * `UNKNOWN` - The entry mode for this transaction cannot be determined. example: MOTO fingerprint_presence_indicator: type: string enum: - EXISTS - NEW description: | If enabled, this field indicates whether the payment method has been seen before or is new. *`EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. *`NEW `- Indicates that the payment method was not seen on the platform before by this merchant. fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' card: type: object properties: funding: type: string enum: - DEBIT - CREDIT - CASH_BENEFITS - FOOD_STAMP - PREPAID description: | Indicates how the card is funded: * `DEBIT` - indicates the card is a debit card where the funds may be present in an account to fulfill the transaction amount. * `CREDIT` - indicates the card is a credit card where the funds may be available on credit to the payer to fulfill the transaction amount. * `FOOD_STAMP` - indicates the card is an, Electronic Benefits Transfer, for food stamps. * `CASH_BENEFITS` - indicates the card is an, Electronic Benefits Transfer, for cash benefits. * `PREPAID` - indicates the card is a prepaid card where the funds are loaded to the card account to fulfill the transaction amount. Unlike a debit card, a prepaid is not linked to a bank account. minLength: 1 maxLength: 50 example: CREDIT masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 example: '000000321000010' cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended AVS action to be taken by the agent processing the card transaction. maxLength: 50 example: PROMPT available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 bank_transfer: type: object properties: account_number: type: string description: The number or reference for the payer's bank account. example: '23452423' account_type: type: string enum: - CHECKING - SAVING description: The type of bank account associated with the payer's bank account. example: CHECKING bank: type: object properties: name: type: string description: The name of the bank. batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. example: BAT_234234234 action: type: object properties: id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type: type: string enum: - VERIFY description: Indicates the specific action taken. example: VERIFY time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' result_code: type: string enum: - SUCCESS - NOT_VERIFIED description: The result of the action executed. example: SUCCESS app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app id_VERIFICATIONS.id: type: string description: A unique identifier generated by Global Payments to identify a verification minLength: 1 maxLength: 50 example: VER_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d time_created_VERIFICATIONS.time_created: type: string description: Time indicating when the object was created in ISO-8601 format. format: date-time example: '2021-05-03T21:23:39.718Z' status_VERIFICATIONS.status: type: string enum: - VERIFIED - NOT_VERIFIED description: Indicates where a resource object is in its life-cycle. example: VERIFIED merchant_id_VERIFICATIONS.merchant_id: type: string description: A unique identifier for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: MER_c4c0df11039c48a9b63701adeaa296c3 merchant_name_VERIFICATIONS.merchant_name: type: string description: A meaningful label for the merchant set by Global Payments. minLength: 1 maxLength: 50 example: Sandbox_merchant_2 result_VERIFICATIONS.payment_method.result: type: string description: Result code from the payment method provider message_VERIFICATIONS.payment_method.message: type: string description: Result message from the payment method provider corresponding to the result code. fingerprint_presence_indicator_VERIFICATIONS.payment_method.fingerprint_presence_indicator: type: string enum: - EXISTS - NEW description: | If enabled, this field indicates whether the payment method has been seen before or is new. *`EXISTS` - Indicates that the payment method was seen on the platform before by this merchant. *`NEW `- Indicates that the payment method was not seen on the platform before by this merchant. fingerprint_VERIFICATIONS.payment_method.fingerprint: type: string description: 'If enabled, this field contains the unique fingerprint signature for that payment method for that merchant. If the payment method is seen again this same value is generated. For cards the primary account number is checked only. The expiry date or the CVV is not used for this check.' masked_number_last4_VERIFICATIONS.payment_method.card.masked_number_last4: type: string description: Masked card number with last 4 digits. minLength: 12 maxLength: 50 example: XXXXXXXXXXXX7025 brand_VERIFICATIONS.payment_method.card.brand: type: string enum: - VISA - MASTERCARD - AMEX - DINERS - DISCOVER - JCB - CUP description: Indicates the card brand that issued the card. example: VISA brand_reference_VERIFICATIONS.payment_method.card.brand_reference: type: string description: The unique reference created by the brands/schemes to uniquely identify the transaction. maxLength: 50 example: '000000321000010' cvv_result_VERIFICATIONS.payment_method.card.cvv_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the CVV check. example: MATCHED avs_address_result_VERIFICATIONS.payment_method.card.avs_address_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS address check. example: MATCHED avs_postal_code_result_VERIFICATIONS.payment_method.card.avs_postal_code_result: type: string enum: - MATCHED - NOT_MATCHED - NOT_CHECKED description: The result of the AVS postal code check. example: MATCHED authcode_VERIFICATIONS.payment_method.card.authcode: type: string description: Code generated by the card provider when the card is successfully authorized. minLength: 1 maxLength: 50 avs_action_VERIFICATIONS.payment_method.card.avs_action: type: string enum: - PROMPT - DECLINE - ACCEPT description: The recommended AVS action to be taken by the agent processing the card transaction. maxLength: 50 example: PROMPT available_balance_VERIFICATIONS.payment_method.card.available_balance: type: string description: The available currency amount on the payment method that can be used for a purchase example: '10000' tag_response_VERIFICATIONS.payment_method.card.tag_response: type: string description: The card EMV tag response data from the card issuer for a contactless or chip card transaction. minLength: 1 maxLength: 500 batch_id_VERIFICATIONS.batch_id: type: string description: A Global Payments created reference that uniquely identifies the batch. example: BAT_234234234 id_VERIFICATIONS.action.id: type: string description: A unique identifier generated by the platform to identify an action. example: ACT_uzFr7t4VOqxdLDI44hHmXIjHtOOE8d type_VERIFICATIONS.action.type: type: string enum: - VERIFY description: Indicates the specific action taken. example: VERIFY result_code_VERIFICATIONS.action.result_code: type: string enum: - SUCCESS - NOT_VERIFIED description: The result of the action executed. example: SUCCESS app_id_VERIFICATIONS.action.app_id: type: string description: The id of the app that was used to create the token. example: uzFr7t4VOqxdLDI44hHmXIjHtOOE8d app_name_VERIFICATIONS.action.app_name: type: string description: The name of the app the user gave to the application. example: my_lovely_app objRequestInvalid_400: type: object description: Bad Request properties: error_code: type: string enum: - DUPLICATE_TRANSACTION - INVALID_BATCH_ACTION - INVALID_REQUEST_DATA - INVALID_TRANSACTION_ACTION - MANDATORY_DATA_MISSING - TRANSACTION_NOT_FOUND description: This indicates an issue with the API request. example: MANDATORY_DATA_MISSING detailed_error_code: type: string enum: - '40016' description: Unique reference to identify the error. example: '40016' detailed_error_description: type: string description: Unique Text describing the specific error. example: Bad track data AuthenticationInvalid_401: type: object description: Not Authenticated properties: error_code: type: string enum: - NOT_AUTHENTICATED description: This action failed as token in the request is not valid. example: NOT_AUTHENTICATED detailed_error_code: type: string enum: - '40001' - '40002' description: Unique reference to identify the error. example: '40001' detailed_error_description: type: string description: Unique Text describing the specific error. example: Invalid Access Token NotAuthorized_403: type: object description: Forbidden properties: error_code: type: string enum: - ACTION_NOT_AUTHORIZED description: This action is not authorized with the credentials being used. example: ACTION_NOT_AUTHORIZED detailed_error_code: type: string enum: - '40003' - '40004' description: Unique reference to identify the error. example: '40003' detailed_error_description: type: string description: Unique Text describing the specific error. example: Permission not enabled to execute action ServerError_500: type: object description: Internal Server Error properties: error_code: type: string enum: - SYSTEM_ERROR_DOWNSTREAM description: This indicates an unexpected issue occurred on the Global Payments system. example: SYSTEM_ERROR_DOWNSTREAM detailed_error_code: type: string enum: - '50011' description: Unique reference to identify the error. example: '50011' detailed_error_description: type: string description: Unique Text describing the specific error. example: Processor Configuration error UnknownServerError_501: type: object description: Not implemented properties: error_code: type: string enum: - UNKNOWN_RESPONSE description: This is an error not yet handled or mapped properly. example: UNKNOWN_RESPONSE detailed_error_code: type: string enum: - '50012' description: Unique reference to identify the error. example: '50012' detailed_error_description: type: string description: 'Unique Text describing the specific error not yet handled. ' UnknownPlatformError_502: type: object description: Bad Gateway properties: error_code: type: string enum: - UNAUTHORIZED_DOWNSTREAM description: This is an error indicating there was an issue connecting to a partner system.. example: UNAUTHORIZED_DOWNSTREAM detailed_error_code: type: string enum: - '50002' description: Unique reference to identify the error. example: '50002' detailed_error_description: type: string description: Authentication error—Verify and correct credentials. ServerTimeout_504: type: object description: Timeout properties: error_code: type: string enum: - TIMEOUT_DOWNSTREAM description: This is an error indicating there was a timeout issue to another system. example: TIMEOUT_DOWNSTREAM detailed_error_code: type: string enum: - '50008' description: Unique reference to identify the error. example: '50008' detailed_error_description: type: string description: No response from payment method provider. security: - bearerAuth: [] ``` ## Overview Source: https://developer.globalpayments.com/api/postman-collection/overview.md # Postman Collection Our API Postman collection is available for importing. The collection includes the REST API for Transaction Processing, Fraud Management, Settlement Reporting, Dispute Management, and more. The collection will be updated periodically, so keep checking back. Keep in mind that you'll need to import the collection again when a new version of the REST API is released in order to get any new updates. To view, import, or fork our API collection in Postman, click the button below: > The below link is for merchant processing. If you are looking for partner functionality, please reach out to your integration support contact. Not currently using Postman? [Create a free account](https://identity.getpostman.com/login) and give it a try. It's a simple collaborative platform with an extensive range of features to help you interact more seamlessly with our API. Postman can be run in a web browser (Chrome, Firefox, and Edge), Microsoft Windows (v4.4.3 or higher), or in the [Postman app](https://www.postman.com/downloads/). ## Overview Source: https://developer.globalpayments.com/api/definitions/overview.md # API Definitions Our resource-oriented REST API uses OAuth-based authentication and JSON-formatted request and response messages. This section documents common features applicable to all aspects of the API. ### [Access Tokens](https://developer.globalpayments.com/api/definitions/access-tokens.md) Learn how to create an access token so you can perform API actions. Includes troubleshooting and information on token types. ### [Account Capabilities](https://developer.globalpayments.com/api/definitions/account-capabilities.md) See what payment-processing solutions our API offers that you can add to your account with us. ### [Data Formats](https://developer.globalpayments.com/api/definitions/data-formats.md) See what standards and formats our API uses to represent common values such as amounts, currencies, and time. ### [Lists](https://developer.globalpayments.com/api/definitions/lists.md) Learn how to use parameters and values to control multiple query results. ### [Performance](https://developer.globalpayments.com/api/definitions/performance.md) Learn how to optimize the API experience to ensure robust and predictable behavior when executing API actions across a distributed network. ### [Requests](https://developer.globalpayments.com/api/definitions/requests.md) Details the key points when initiating API calls, such as endpoints, HTTP verbs, headers, payload structure, and query parameters. ### [Responses](https://developer.globalpayments.com/api/definitions/responses.md) Documents the response headers and payload structure, including important response fields such as the HTTP status and error response. ### [Resources & Actions](https://developer.globalpayments.com/api/definitions/resources-actions.md) Specifies the key constructs of the API and how they relate to each other. Also introduces resource IDs and their importance to the API. ### [Versioning](https://developer.globalpayments.com/api/definitions/versioning.md) Indicates how to reference a specific version of the API in the request. ## Access Tokens Source: https://developer.globalpayments.com/api/definitions/access-tokens.md # Access Tokens An access token is a unique, single-use key used to access API actions for a limited time. Allowable actions are based on what capabilities were assigned to you during onboarding. An access token must be used in every request to create, edit, or read resources. So, before you can send a transaction, for example, you first need to create one to access our API. This guide focuses on how to create an access token, including obtaining your app credentials, creating a random nonce value, calculating a secret key, calling the endpoint, and then receiving a response. You’ll also find information on how an access token differs from other [token types](#token-types). ## Token types An access token is used only for authentication. It is sometimes mistaken for a payment token, which is another type of token used to substitute sensitive card data in a transaction. A card token can be either _single-use_ or _multi-use_, but there is only one type of access token. However, there are some functional differences for an access token: * Duration – Limits how long it is valid for (timeout value) * Permissions – Restricts the functionality (required for hosted integrations) For more information, see [Access Token](https://www.postman.com/globalproduct-api/workspace/gp-api-public-workspace/request/12989945-85e01624-21db-4ad2-bdcf-fc32363b991a?action=share&creator=29539958&ctx=documentation) in our Postman public workspace. ## Prerequisites Before starting the steps in this guide, you must do the following: * [Get registered](https://developer.globalpayments.com/docs/getting-started/register.md) * [Create an app (generate keys)](https://developer.globalpayments.com/docs/getting-started/register.md#create-an-app-generate-keys) ## Step 1: Obtain your app credentials Your app credentials are the `app_id` and `app_key`. Your app credentials for testing in Sandbox are located on your account (to learn how to create them, see our [Register / Create an App](https://developer.globalpayments.com/docs/getting-started/register.md)). For Production credentials, check with your account manager. For example: ```JSON app_id = "MN500Q8lk5jp0rEmB5LGvTo27gdQgZln" app_key = "QtOSeNmh3DY6AuMO" ``` > App credentials (App ID and App Key) are specific to merchants and should never be shared with any unauthorized person. ## Step 2: Create a random nonce value A random nonce is a unique string used to calculate the secret key (see the next step). The value must be unique. Typically, a timestamp is used because the time changes every time an access token is run, making it a unique value. For example: ```JSON nonce="2029-03-14T13:24:10.832Z" ``` ## Step 3: Calculate the secret key For security reasons, you should never send your `app_key` in a request. That’s why we use encryption to make it secret. The secret key consists of a SHA512 hash of the nonce concatenated with the `app_key`. For example: ```JSON // secret = SHA512(nonce + app_key) secret = SHA512(2029-03-14T13:24:10.832ZQtOSeNmh3DY6AuMO) ``` ## Step 4: Call the endpoint Now it’s time to send the values from the previous steps to the Access Token endpoint. > Never send the app key in a request. Always store it securely. #### Sample request ```JSON curl -v -X POST https://apis.globalpay.com/ucp/accesstoken -H "Content-type: application/json" -H "X-GP-Version: 2021-03-22" -d ' { app_id="" nonce="", secret="", grant_type="client_credentials" } ' ``` ## Step 5: Receive a response After receiving the token response and its permission, you can now use it in the Authorization header field in subsequent API requests. #### Sample response ```JSON { "token": "qdYUdzfZfigqTppQOHVwrbJwLlNd", “Type”: “Bearer”, "scope": { "merchant_id": "MER_8cc2638c8a14453fa98e08ad51511a1a", "merchant_name": "GPQA_IPP_CERT", "accounts": [ { "id": "TRA_34b9806b35bd4012bd23206a00abc1a1", "name": "GP API", "permissions": [ "BAT_PUT_Close", "TRN_POST_Adjustment", "TRN_POST_Authorize", "TRN_POST_Capture", "TRN_POST_Force", "TRN_POST_Initiate", "TRN_POST_Reauthorize", "TRN_POST_Refund", "TRN_POST_Refund_Standalone", "TRN_POST_Reverse", "TRN_POST_Verify" ] } ] }, "app_id": "MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "My app name", "date_created": "2019-03-20T10:42:23.527Z", "seconds_to_expire": "86399", "email": "dev.mcdev@example.com" } ``` ## Troubleshooting After receiving an access token, you may encounter some errors when trying to pass it in a request. The two most common error messages are: * Invalid Access Token – This most often occurs when a token request is rejected, but your website or application attempts a transaction anyway. * Access Token Expired – This occurs if a token is used after its timeout value has passed (`interval_to_expire` or `seconds_to_expire fields`). If you’re having issues passing a token, verify the following: 1) Are the `app_id` and `app_key` you’re using correct? 2) Was the secret key calculated correctly and properly entered in the field? 3) Are other mandatory fields you included in the request correct (for example, `grant_type`)? 4) Do you have the right account permissions for your request? If you’re not sure, check with your account manager. ## Account Capabilities Source: https://developer.globalpayments.com/api/definitions/account-capabilities.md # Account Capabilities > The availability of capabilities depends on your region. The following table describes the capabilities we offer merchants and partners when they sign up with us. | Account Capability | ID Prefix | Description | | --- | --- | --- | | Data Services | DAA | Ability to retrieve all deposits, transactions, disputes, and fees that affect a merchant's bank account(s). Account(s): **data\_services** **settlement\_reporting** See: [Settlement Reporting](/docs/reporting/settlement-reporting-overview "Settlement Reporting") | | Dispute Management | DIA | Ability to retrieve dispute information across the full lifecycle, including chargebacks, reversals, and retrieval requests that were processed by us. Account(s): **dispute\_management** See: [Disputes Management](/docs/operations/disputes-management-overview "Disputes Management") | | File Processing | FPA | Ability for merchants or partners to bulk-upload files with large volumes of transactions. Account(s): **file\_processing** See: [File Processing](/docs/operations/file-processing-overview "File Processing Overview") | | Fund Management | FMA | (Partner Solution) Ability to move funds from a merchant’s Funds Management Account (FMA) within our system to their business bank account or debit card. Account(s): **fund\_management** See: [Funds Management](/docs/partners/embedded/transfer-funds-guide "Funds Management") | | Merchant Management | MMA | (Partner Solution) Ability to create and manage merchants, from handling the initial validation process to maintaining a merchant’s account data after onboarding. Account(s): **my\_merchants** See: [Merchant Creation and Management](/docs/partners/embedded/merchant-mgt-reporting "Merchant Creation and Management") | | Risk Assessment | RAA | Ability to assess the degree of risk in proceeding with a course of action with regard to a transaction in progress. Account(s): **risk\_assessment** **EOS\_RiskAssessment** See: [Fraud Filter](/docs/risk-management/fraud-management/fraud-filter "Fraud Filter"), [Decision Manager](/docs/risk-management/fraud-management/overview "Decision Manager"), [Exemption Optimization Service](/ecommerce/risk-management/3ds/eos#api "Exemption Optimization Service") | | Transaction Processing | TRA | Ability to create and manage transactions. This includes authorizing, capturing, reversing, and adjusting card and non-card transactions. It also includes related activities such as Dynamic Currency Conversion (DCC), 3D Secure (3DS), and batch closing. Account(s): **transaction\_processing** **dcc** **dcc\_rate** **PayByLink** See: [Dynamic Currency Conversion](/docs/payments/payment-methods/dynamic-currency-conversion-guide "Dynamic Currency Conversion"), [Pay by Link](/docs/payments/online/pay-by-link-overview "Pay By Link"), [Transaction Management](/ecommerce/api/transaction-management "Transaction Management") | | Tokenization | TKA | Ability to securely store and manage payment methods in any region and across any channel. Includes both card-not-present and card-present transactions. A token is produced that can be stored and used on the customer’s system in place of sensitive card information to process transactions. Account(s): **tokenization** See: [Card Storage](/docs/payments/tokenization/card-storage-guide "Card Storage") | ## Data Formats Source: https://developer.globalpayments.com/api/definitions/data-formats.md # Data Formats ## Encoding The API assumes UTF-8 encoding in API requests and always returns UTF-8 encoding in all responses. ## Date and time The API accepts and generates dates and times in the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#General_principles) format and set to UTC. Date and times created and submitted by users must be in ISO-8601 but can be in the user's own timezone. ```json 200 OK { "id": "TRN_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "time_created": "2021-03-20T13:44:14.327Z", "type": "SALE", "status": "CAPTURED", "channel": "CP", ... ```JSON ## Amounts Amounts are always represented in the smallest common currency unit. There are no decimal points in amount values. Here are some examples of currencies with different exponents and how the amount is represented in the API. | Currency / Exponent | Example | | --- | --- | | US Dollar - 2 exponent currency | $100.99 --> 10099 | | Euro - 2 exponent currency | €34.59 --> 3459 | | Japanese Yen - 0 exponent currency | ¥145 --> 145 | | Tunisian Dinar - 3 exponent currency | DT 53.454 --> 53454| ## Currencies Currencies are always represented by the [ISO 4217 alpha code](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). For example: | Currency | ISO 4217 Code | | --- | --- | | US Dollar | USD | | Pound Sterling | GBP | | Canadian Dollar | CAD | | Singapore Dollar | SGD | | Euro | EUR | | Japanese Yen | JPY | | Tunisian Dinar | TND | ## Countries Countries are represented by the [ISO-3166-1(alpha-2 code)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table). For example: | Country | ISO 3166-1 (Alpha-2 code) | | --- | --- | | United States of America | US | | Singapore | SG | | Canada | CA | | Great Britain | GB | | Australia | AU | | Japan | JP | | Hong Kong | HK | ## Languages Languages are represented by the format [ISO-639-1(alpha-2)](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) alone or a combined [ISO-639-1(alpha-2)](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) and [ISO-3166-1(alpha-2 code)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table) by a hyphen delimiter. For example: | Language | ISO-639-1_ISO 3166-1 | | --- | --- | | English | en | | French | fr | | French Canadian | fr_CA | | Spanish | es | | Mexican Spanish | es_MX | ## Lists Source: https://developer.globalpayments.com/api/definitions/lists.md # Lists This guide outlines the different query string parameters and values that can be passed in the request to retrieve a list of resources. These concepts apply to all lists of resources, regardless of whether it is a list of transactions, disputes, or deposits. You can append query string parameters and values to the end of a resource endpoint to represent [search criteria](#search-criteria), fields to return, and [pagination](#pagination) information when retrieving lists of resources. ## Search criteria Search criteria are query string parameters and values that indicate the resources to return in a list response. The following search criteria is used to return a list of disputes that are waiting on a response from the merchant (`status=WITH_MERCHANT`). #### Sample request ```json curl -v -X GET https://apis.globalpay.com/ucp/disputes?status=WITH_MERCHANT -H "Content-type: application/json" -H "X-GP-Version: 2021-03-22" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" ```JSON ## Pagination Data can be returned more efficiently by using the pagination query parameters to retrieve pages of records for a large data set. | Property | Description | | --- | --- | | order_by | Indicates the resource field to order the list by. The default is DATE_CREATED. | | order | Sets the ordering direction and can be ASC or DESC. The default is DESC. | | page_size | The number of records in the list to return in a single list response. The default is 5 and the max is 1000. | | page | Indicates what portion (page) of the full result list to return with this particular request. For example, a page of 1 and page_size of 10 will return records 1 to 10 of the entire result set, and a page of 2 and page_size of 10 will return records 11 to 20 of the entire result set, and so on. | The below example modifies the previous one so that only records 10-14 are returned and that the data set is ordered by the date the merchant needs to respond by, with the most recent first. #### Sample request ```json curl -v -X GET https://apis.globalpay.com/ucp/disputes?status=WITH_MERCHANT &order_by=time_to_respond_by&order=DESC&page_size=5&page=3 -H "Content-type: application/json" -H "X-GP-Version: 2022-12-31" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" ```JSON ## List response The response to a list of resources can contain: * The count of the total number of resources across the entire list, not just that page * The count of resources returned in the current page * The list of resources for the current page The `total_count` value is returned on the first page and only if the search date range is within one month. To determine the total number of pages to retrieve to get the entire result list, you can use the `total_count` on page 1 response if it's returned. Alternatively, you can use the `current_page_size` from the response. When the `current_page_size` is less than the `page_size` then that is the last page to be retrieved. #### Sample request ```json curl -v -X GET https://apis.globalpay.com/ucp/disputes?status=WITH_MERCHANT &order_by=time_to_respond_by&order=DESC&page_size=5&page=3 -H "Content-type: application/json" -H "X-GP-Version: 2022-12-31" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" ```JSON #### Sample response ```json { "total_count": 8, "current_page_size": 8, "merchant_id": "MER_62251730c5574bbcb268191b5f315de8", "merchant_name": "TEST MERCHANT", "account_id": "DIA_882c832d13e04185bb6e213d6303ed98", "account_name": "testdispute", "disputes": [ { "id": "DIS_lskdnfosdfjsdfsdf23dasd1", "status": "WITH_MERCHANT", "time_to_respond_by": "2019-02-22T10:24:43.761Z" }, { "id": "DIS_lskdnfosdfjsdfsdf23dasd2", "status": "WITH_MERCHANT", "time_to_respond_by": "2019-02-22T10:24:43.761Z", ... }, { "id": "DIS_lskdnfosdfjsdfsdf23dasd3", "status": "WITH_MERCHANT", "time_to_respond_by": "2019-02-22T10:24:43.761Z", ... }, { "id": "DIS_lskdnfosdfjsdfsdf23dasd4", "status": "WITH_MERCHANT", "time_to_respond_by": "2019-02-22T10:24:43.761Z", ... }, { "id": "DIS_lskdnfosdfjsdfsdf23dasd5", "status": "WITH_MERCHANT", "time_to_respond_by": "2019-02-22T10:24:43.761Z", ... }, {..} ] } ```JSON ## Performance Source: https://developer.globalpayments.com/api/definitions/performance.md # Performance This guide focuses on ways to enhance the operation of our API. The tips provided here help reduce network bandwidth and ensure the predictability of API messages over a distributed network. ## Message encoding Accept-encoding allows you to specify the content encoding methods your software can handle. We currently support `gzip` and `identity`. | Header Name | Header Value | | --- | --- | | Accept-Encoding | gzip / identity | Bandwidth usage is reduced across networks as response messages are compressed. *Content-Encoding: gzip* is used for all API responses. | Header Name | Header Value | | --- | --- | | Content-Encoding | gzip | ## Pagination Retrieve data efficiently by using the pagination query parameters to retrieve pages of records for a large data set (for more information, see [Lists](https://developer.globalpayments.com/api/definitions/lists.md). | Query Parameter | Description | | --- | --- | | page_size | The total number of objects to return in a single page for that list. | | page | Indicates the page sequence to return in the response. The number of records presented on each page is determined by `page_size` field. | ### Sample request ```json curl -v -X POST https://apis.globalpay.com/ucp/disputes?status=WITH_MERCHANT &order_by=time_to_respond_by&order-DESC&page_size=5&page=3 -H "Content-type: application/json" -H "X-GP-Version: 2021-03-22" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" ```JSON ## Idempotency Use `X-GP-Idempotency` in the message header to ensure an action is not executed more than once. This is a user-generated value that can be up to 50 characters in length. If the same value is used again within 24 hours (for the same merchant), a response is returned indicating that the action was previously executed. The scope of the key is applied at a Merchant ID level, regardless of the account or app being used to execute the action. In addition, it applies only to POST, PATCH, and DELETE operations; it does not apply to GET. ```json curl -v -X POST https://apis.globalpay.com/ucp/deposits -H "X-GP-Idempotency: 234quigdua7stduabkjwe" -H "X-GP-Version: 2021-03-22" -H "Accept: application/json" -H "Content-type: application/json" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" ```JSON ## Requests Source: https://developer.globalpayments.com/api/definitions/requests.md # Requests This guide focuses on the key principles of executing API requests. ## Environments The environment you target, whether it's Sandbox or Production, is determined by the URL the request is sent to. #### Sandbox This is a test environment used to assess and test an integration to the API. Funds are never moved in this environment. ```JSON https://apis.sandbox.globalpay.com/ucp ``` #### Production This environment is used to move actual funds between payers and merchants. ```JSON https://apis.globalpay.com/ucp ``` ## Resource location The location to send requests to create, edit, or read resources is the base URL of the environment appended with the plural of the resource name. For example: The **Transactions** URL is used to authorize, reverse, refund, capture, and report on transactions. ```JSON https://apis.sandbox.globalpay.com/ucp/transactions ``` The **Disputes** URL is used to report on, challenge, and accept disputes. ```JSON https://apis.sandbox.globalpay.com/ucp/disputes ``` The **Deposits** URL is used to report on and reconcile deposits. ```JSON https://apis.sandbox.globalpay.com/ucp/deposits ``` ## HTTP verbs When initiating an action through the API, an HTTP verb needs to be used. The usage of this aspect of the HTTP protocol ensures a lightweight and intuitive experience. The verbs indicate the behavior of the action being executed. * **GET** – Requests data about a single resource or a list of resources and is idempotent. * **POST** – Creates or updates a resource and is not idempotent. * **PATCH** – Partially updates an existing resource and is not idempotent. ## Headers The following table outlines the properties that can be sent in the header of a request. | Header | Description | | --- | --- | | Accept | Indicates the format of the response requested. Set to _application/json_. | | Authorization | Contains the access token to use in a request. | | Content-type | Indicates the format of the data in the request. Set to _application/json_. | | Accept-encoding | Confirms that compressed response messages can be received, reducing network bandwidth. Supports `gzip` and `identity`. | | X-GP-Version | Mandatory field that contains the version of the API to execute the request. | | Idempotency-key | Contains a unique user-generated value that if repeated in a subsequent request, within a 24-hour window, the subsequent request will fail. | ## Sample request ```json curl -v -X POST https://apis.globalpay.com/ucp/settlement/deposits -H "X-GP-Version: 2021-03-22" -H "X-GP-Idempotency: 234quigdua7stduabkjwe" -H "Content-type: application/json" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" ```JSON ## Responses Source: https://developer.globalpayments.com/api/definitions/responses.md # API responses ## HTTP status codes The HTTP status codes indicates at a high level whether the API call was successful or not. For example, the _200 OK_ code indicates the successful execution of the API call and that there were no errors. Any non-200 http status code indicates an error. | HTTP Status Code | Message | Description | | -------- | -------- | -------- | | 200 | OK | This represents a successful API action. | | 400 | Bad Request | Error: The API request has an error in it. | | 401 | Not Authenticated | Error: Can’t authenticate with those credentials. Need to get a new access token. | | 403 | Forbidden | Error: Don’t have permission to execute that API action. | | 404 | Resource Not Found| Error: the resource referenced in the request cannot be found. | | 405 | Method Not Allowed | Error: The HTTP request method is not supported for the requested resource. | | 409 | Duplicate | Error: The API request was blocked as it is seen as a duplicate action that must not processed. | | 500 | Internal Server Error | Error: Something unexpected happened. | | 502 | Bad Gateway | Error: Something unexpected happened when communicating with another system. | | 504 | Timeout | Error: API did not get a response from another system in the expected timeframe. | ## Action response With every successful action, the following data is returned as part of the response. | Property | Description | | ------- | -------- | | id | Unique ID for that action. For example: ACT_udnMIdFzIcLC0kt6GatzZLsmyhvBXj | | type | The type of action execute. For example: AUTHORIZE, REFUND, REVERSE | | time_created | The time the action executed in ISO8601. For example: 2025-03-20T13:44:14.327Z | | result_code | The result of the action from us. For example: SUCCESS or DECLINED | | app_id | The unique ID of the app used to create the token associated with the executed action. For example: F45as8i3eaLHNfgsa12a4dEA2sddaA | ### Sample response ```JSON ..... "action": { "id": "ACT_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "type": "AUTHORIZE", "time_created": "2024-01-20T13:44:14.327Z", "result_code": "SUCCESS", "app_id": "MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "my_sandbox_app" } } ``` ### Action result_code The result of a successful API action is recorded in the `action.result_code` field as it always contains the API's result for the action. | action.result_code | Description | Examples | | ------- | ------- | ------- | | SUCCESS | indicates the action executed successfully.| When authorizing a card this means the card issuer authorized the transaction. | | DECLINED | indicates the action DECLINED. This means to consider that payment is not allowed and goods or services should not be provided. | When authorizing a card this means the card issuer declined the transaction. | | PENDING | indicates the result is not known but a final result will be subsequently provided. When the result is known result_code changes from PENDING to a SUCCESS, DECLINED or ERROR result_code.| This is result_code is currently only applicable for certain Asia Pacific payments methods when trying to void or reverse them. | | ERROR | indicates the action was PENDING but when the final result was known, it had erred. | This is result_code is currently only applicable for certain Asia Pacific payments methods when trying to void or reverse them.| ### Payment method result & message When processing transactions using a payment method (for example, a card), there are other fields in the response from the card provider that an integrator can examine to get more information about the response. | Area | Description | Examples | | ------- | ------- | ------- | | Payment Method Result & Message | Indicates the payment method provider's result and associated message. | If a card authorization declines, the payment_method result and message include more detail from the Issuer on why it was declined. For example, 51 - INSUFFICIENT FUNDS. This is generated by the issuing bank, who will provide decline codes in the response back to the authorization platform. | ### Sample response ```JSON 200 OK # <--- HTTP Status Code { "id": "TRN_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "time_created": "2024-01-20T13:44:14.327Z", "type": "SALE", "status": "CAPTURED", # <--- Status "channel": "CP", "capture_mode": "AUTO", "amount": "20045", "currency": "CAD", "merchant_id": "MER_8096479c606f4deb93dfab49e7bfea28", "merchant_name": "SANDBOX_MERCHANT", "account_id": "TRA_0b1fcc7cceea48dea38d044bae4295c2", "account_name": "Termiinal_55", "reference": "03559571", "payment_method": { "result": "00", # <--- Payment Method Result "message": "APPROVAL", # <--- Payment Method Message "entry_mode": "MANUAL", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX4242", "authcode": "351404", "brand_reference": "772201652998701", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "0", "avs_postal_code_result": "0", "avs_action": "" } }, "batch_id": "BAT_353445", "action": { "id": "ACT_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "type": "AUTHORIZE", "time_created": "2024-01-20T13:44:14.327Z", "result_code": "SUCCESS", # <--- Action Result Code "app_id": "APP_MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "my_sandbox_app" } } ``` ## Successful responses - 200 OK These are API actions that executed successfully and did not error. They will return an action object in the response message. > A DECLINED card transaction still returns a 200 OK as the action did execute successfully end to end, but the cardholder’s issuing bank declined the transaction. > The _action.result_code_ must also be examined. For more information, see the [Action result_code](#action-result_code) section. ## Error responses If the HTTP Status Code is 4xx or 5xx, then an error has occurred. Error responses contain the following fields. | Property | Description | | -------- | -------- | | error_code | Categorizes the error into a specific group. | | detailed_error_code | Specific code used to uniquely identify the error. | | detailed_error_description | Detailed verbiage of the specific error. | #### Sample error response ```JSON 401 Not Authenticated # <--- HTTP Status Code & Error Object { "error_code": "NOT_AUTHENTICATED", "detailed_error_code": "40001", "detailed_error_description": "Invalid Access Token" } ``` > Do not code to the _detailed_error_description_ field value as that verbiage may change. The following tables outline the implemented HTTP Status Codes, `error_code`, `detailed_error_code`, and `detailed_error_description` that the API can return when an error is encountered. ## 400 - Bad Request | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40224 | Can't CAPTURE a Transaction that is already CAPTURED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40226 | Can't reverse this transaction. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40225 | Currency Mis-match | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40223 | Request expects the batch_id. | | 400 | Bad Request | INVALID_PAYMENT_METHOD_ACTION | 40227 | Retrieve information about this payment method is not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40141 | Invalid value provided in the input field - system.name. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | `field_name` contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | `field_name` contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | `field_name` contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40118 | `RESOURCE` `RESOURCE_ID` not found at this location. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40005 | $[1].dependency' cannot be empty. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40192 | 100003 ACCT# INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40153 | 100003 AMOUNT NOT ALLOWED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40152 | 100003 AUTH CODE NOT ALLOWED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40183 | 100003 CARD TYPE DISABLED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40190 | 100003 CVV NOT ALLOWED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40182 | 100003 DATA INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40185 | 100003 ENCRYPTION ERROR | | 400 | Bad Request | INVALID_REQUEST_DATA | 40155 | 100003 MERCHANT FEE ONLY FOR CB | | 400 | Bad Request | INVALID_REQUEST_DATA | 40184 | 100003 PLZ VOID ADDTIP | | 400 | Bad Request | INVALID_REQUEST_DATA | 40186 | 100003 SAF MODE VALUE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40181 | 100003 ZIP CODE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40191 | 100003 ZIPCODE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40193 | 100015 CVV ERROR | | 400 | Bad Request | INVALID_REQUEST_DATA | 40194 | 100016 AVS ERROR | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40188 | 100020 CANNOT ADJUST | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40189 | 100021 ALREADY VOIDED/ ALREADY COMPL | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40018 | 11, Original transaction not CPC. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40054 | 111, Invalid value provided in the input field page. Must be greater than 0. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40019 | 12, Invalid CPC data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40020 | 13, Invalid edit data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40021 | 14, Invalid card number. | | 400 | Bad Request | INVALID_BATCH_ACTION | 40022 | 15, Batch close in progress. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40023 | 16, Invalid Ship Date. Transaction rejected because the ship date and month are invalid. Try again in a few seconds and resubmit. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40024 | 17, Invalid encryption version. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40025 | 18, E3 MSR failure. The message returned with this code is the parsed error message from the MSR data stream. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40026 | 9, Invalid Reversal Amount. Occurs if a reversal request includes a new settlement amount that is not less than the current total authorization amount. the total authorization amount is the original authorization plus any incremental authorization minus any previous reversal amounts. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40012 | 3, Invalid original transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40027 | 32, Missing KTB error. Occurs when a POS is attempting to send encrypted data, but the expected KTB value was corrupted or not received. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40028 | 33, Missing KSN error. Occurs when a POS is attempting to send encrypted data, but the expected KSN value was corrupted or not received. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40029 | 34, Invalid data received. Returned from a CreditAuth or CreditSale if both GatewayTxnId and a CardData subfield are received. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40044 | 6, Invalid original transaction for reauthorization. Returned from a CreditAuth or CreditSale if the original transaction referenced by GatewayTxnId cannot be found. this is typically because the original does not meet the criteria for the sale or authorization by GatewayTxnID. Can also be returned if the original transaction is found but the card number was written over with nulls after 30 days. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40030 | 37, Missing element. Returned if a required (or conditional) element is missing from the transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40031 | 38, Invalid auth amount. Returned from a CreditAuth or CreditSale by GatewayTxnId when the requested amount is over the threshold set for the transaction type, which is some percentage of the original amount (default = 100%). | | 400 | Bad Request | INVALID_REQUEST_DATA | 40032 | 39, Transaction rejected because EMV TLV data was invalid. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40013 | 4, Transaction already associated with batch. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40033 | 40, Transaction rejected because the referenced transaction has invalid EMV TLV data. | | 400 | Bad Request | INVALID_BATCH_ACTION | 40014 | 5, No current batch. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40015 | 6, Invalid return amount. Occurs if a credit return request is against a specific original transaction and the return amount is greater than the original transaction’s settle amount—or the return amount is zero. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40016 | 8, Bad track data. | | 400 | Bad Request | INVALID_BATCH_ACTION | 40017 | 9, No transaction associated with batch. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40108 | Action cannot be completed. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | Amount contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40162 | avs_address contains unexpected data. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40037 | Can't ADJUST a transaction without a status of CAPTURED or PREAUTHORIZED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40035 | Can't CAPTURE a transaction without a status of PREAUTHORIZED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40038 | Can't REFUND a transaction without a status of CAPTURED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40009 | Can't REVERSE a transaction without a status of CAPTURED or PREAUTHORIZED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40010 | Can't REVERSE a transaction that is already REVERSED. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40218 | Cannot include both payment_method.id and card.number in this request. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | cashback_amount contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40006 Dependency cannot be executed. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60012 | Device error: CAPK Expired. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60001 | Device error: Card Expired. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60006 | Device error: Chip Blocked. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60008 | Device error: Chip Blocked. | | 400 | Bad Request | DEVICE_INPUT_INVALID 60007 | Device error: Chip Error. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60016 | Device error: Chip Error. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60004 | Device error: Chip Malfunction. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60009 | Device error: Chip Not Accepted. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60005 | Device error: Chip Read Error. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60011 | Device error: Chip Reject. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60010 | Device error: Chip Reject Approval. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60019 | Device error: Contactless failed. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60015 | Device error: Device memory is overflow. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60013 | Device error: No PIN Pad. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60014 | Device error: PIN Pad can’t be used. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60003 | Device error: PIN Pad Failure. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60002 | Device error: PIN Pad Timeout. | | 400 | Bad Request | USER_ABORTED | 40146 | Device error: 100002 ABORTED. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40147 | Device error: 100028 TAX EXCEED AMT. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40148 | Device error: 100003 CARDTYPE ONLY FOR CREDIT. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40149 | Device error: 100003 UNSUPPORTED CARDTYPE. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40195 | Device error: 100017 HALO EXCEED. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40203 | Device error: 100027 UNSUPPORTED COMMAND. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60017 | Device error: Tap Not Accepted. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60021 | Device error: Tap Not Accepted - Try another card. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60018 | Device error: Tap Terminated. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60020 | Device error: Transaction should be declined by device. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40066 | Documents provided in the request are too large. Please correct and retry. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40177 | entry_mode contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40179 | entry_mode contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40161 | first_name, last_name contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40114 | from_deposit_time_created cannot be greater than the to_deposit_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40093 | from_adjustment_time_created cannot be greater than the to_adjustment_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40047 | from_adjustment_time_created cannot be greater than the to_adjustment_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40132 | from_batch_time_created cannot be greater than the to_batch_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40046 | from_stage_time_created cannot be greater than the to_stage_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40122 | from_time_created cannot be greater than the to_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40113 | from_time_created cannot be greater than to_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40127 | from_time_last_updated cannot be greater than the to_time_last_updated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | Funding contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | Funding contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | gratuity_amount contains unexpected data. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40045 | Input does not have any search criteria; please provide valid search criteria. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40219 | interval_to_expire contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40115 | Invalid from_time_created; date provided shouldn't be more than 2 years. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40095 | Invalid Date: Request rejected because the date and month are invalid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40049 | Invalid Date: Request rejected because the date and month are invalid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40059 | Invalid request. No value provided in field from_adjustment_time_created, but value provided in to_adjustment_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40058 | Invalid request. No value provided in field from_stage_time_created, but value provided in to_stage_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40053 | Invalid value provided in the input field - adjustment_funding. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40097 | Invalid value provided in the input field - brand. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40051 | Invalid value provided in the input field - brand. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40206 | Invalid value provided in the input field - developer_id. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40208 | Invalid value provided in the input field - email. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40104 | Invalid value provided in the input field - masked_account_number_last4. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40209 | Invalid value provided in the input field - mobile_phone. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40054 | Invalid value provided in the input field - offset. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40103 | Invalid value provided in the input field - order. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Invalid value provided in the input field - order_by. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40056 | Invalid value provided in the input field - order_by. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40057 | Invalid value provided in the input field - order. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40100 | Invalid value provided in the input field - page. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40101 | Invalid value provided in the input field - page_size. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40055 | Invalid value provided in the input field - page_size. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40207 | Invalid value provided in the input field - site_id. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40096 | Invalid value provided in the input field - stage. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40050 | Invalid value provided in the input field - stage. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40098 | Invalid value provided in the input field - status. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40052 | Invalid value provided in the input field - status. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40105 | Invalid value provided in the input field - system.hierarchy. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40106 | Invalid value provided in the input field - system.mid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40099 | Invalid value provided in the input field - amount. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40123 | Invalid value provided in the input field - expiry_month. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40124 | Invalid value provided in the input field - expiry_year. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40131 | Invalid value provided in the input field - from_batch_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40111 | Invalid value provided in the input field - from_deposit_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40091 | Invalid value provided in the input field - from_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40120 | Invalid value provided in the input field - from_time_created_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40128 | Invalid value provided in the input field - from_time_last_updated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40090 | Invalid value provided in the input field - Id. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40125 | Invalid value provided in the input field - number. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40129 | Invalid value provided in the input field - numberfirst6. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40130 | Invalid value provided in the input field - numberlast4. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40117 | Invalid value provided in the input field - permissions. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40119 | Invalid value provided in the input field - tid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40133 | Invalid value provided in the input field - to_batch_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40112 | Invalid value provided in the input field - to_deposit_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40092 | Invalid value provided in the input field - to_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40121 | Invalid value provided in the input field - to_time_created_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40126 | Invalid value provided in the input field - to_time_last_updated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40176 | keyedCardData is not allowed with entry_mode value SWIPE. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40229 | Merchant Configuration does not exist for `merId`,`mmaId`. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40217 | Merchant configuration does not exist for this account: `account_id`. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40041 | Merchant configuration does not exist for: `TRA_ID`, `TRA_NAME`, `COUNTRY`,`CHANNEL`, `CURRENCY``PAYMENT_METHOD` `MMA_ID` `MER_ID` | | 400 | Bad Request | INVALID_REQUEST_DATA | 40216 | Merchant configuration invalid for this account. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40107 | Multiple accounts found; a specific account must be used in the request. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40145 | Partial authorization is not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40214 | Partial reversal not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40165 | payer.date_of_birth contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40166 | payer.email contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40168 | payer.email contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40163 | payer.mobile_phone or payer.landline_phone or shipping_address.mobile_phone contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40157 | Missing/Invalid Amount | | 400 | Bad Request | INVALID_REQUEST_DATA | 40158 | Missing/Invalid Input | | 400 | Bad Request | INVALID_REQUEST_DATA | 40159 | Invalid Amount | | 400 | Bad Request | INVALID_REQUEST_DATA | 40160 | Missing Payee Name | | 400 | Bad Request | INVALID_REQUEST_DATA | 40164 | Invalid SSN | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40169 | Resubmit not allowed for approved ACH transaction. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40170 | Resubmit not allowed for non ACH/Resubmit transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40171 | Format Error field details | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40180 | Invalid request for returning ACH transaction. Use AchReturn. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40016 | Device error: 100019 TRACK INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40086 | Device error: 100003 AMOUNT TOO LARGE | | 400 | Bad Request | INVALID_REQUEST_DATA | 40199 | Device error: 999985 Too many original transactions were found; please add other conditions. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40200 | Device error: 999983 Invalid URL | | 400 | Bad Request | INVALID_REQUEST_DATA | 40201 | Device error: 999979. This merchant sends BatchAll commands frequently; please try after a while. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40205 | Device error: 100003 EXP DATE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40220 | Device error: 999998 Parameter Error | | 400 | Bad Request | INVALID_REQUEST_DATA | 40221 | Device error: 999997 Invalid POS information | | 400 | Bad Request | INVALID_REQUEST_DATA | 40178 | Sum of elements of group additional charges should not be greater than transaction amount. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - guest_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - order_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - payer_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - table_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - tax_exempt_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - ticket_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40006 | Request contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40043 | Request contains unexpected fields: payment_method. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40136 | Request expects account_name or account_id along with `request parameters` | | 400 | Bad Request | INVALID_REQUEST_DATA | 40007 | Request expects the following conditionally mandatory fields `field_list`. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40005 | Request expects the following field `field_list`. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40211 | Request expects the following field `field_list` from the Merchant. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40211 | Request expects the following field `field_list` from the Merchant. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40005 | Request expects the following field dependency. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40075 | Retrieving a list expects a date range to be populated. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40074 | Retrieving a List of Disputes expects the from_stage_time_created populated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40085 | Multiple Scenarios Error Code: 509   NonNumeric in Credit card number. Invalid credit card length. Card number fails Luhn Check. Invalid expiry date. Invalid expiry date. Card Expiry date in past. Expiry month invalid. That Card Number does not correspond to the card type you selected. Length of CVV data is incorrect. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40086 | Error Code: 510 That amount is greater than the max allowed. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40087 | Multiple Scenarios Error Code: 512   This transaction was already rebated and cannot be rebated again. You can't refund a delayed transaction that was not sent for settlement. You are refunding money to a customer that was not and never will be charged. Original transaction currency was not currency. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40088 | Error code : 513 Can't void a settled transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 50020 | error code - 508 | | 400 | Bad Request | MANDATORY_DATA_MISSING | 50021 | 502 | | 400 | Bad Request | INVALID_REQUEST_DATA | 50025 | 550 | | 400 | Bad Request | INVALID_REQUEST_DATA | 50027 | 520 | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40036 | Transaction already captured. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | seconds_to_expire contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | tax_amount contains unexpected data. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40072 | The dispute stage, Retrieval, can be challenged with a single document only. Please correct the request and resubmit. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40174 | track data is not allowed with entry_mode value EMAIL. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40175 | track data is not allowed with entry_mode value INTERNET. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40172 | track data is not allowed with entry_mode value MANUAL. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40173 | track data is not allowed with entry_mode value PHONE. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40215 | Reversal with greater amount than original amount not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40212 | Transaction declined; cannot find DCC information for the card. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40212 | Transaction declined; cannot find DCC information for the card. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40069 | Unable to accept as existing record is financially closed. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40068 | Unable to accept as existing record is Under Review. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40067 | Unable to accept for that id. Please check the Case id again. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40070 | Unable to accept; please try again after some time. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40062 | Unable to challenge as existing record is financially closed. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40061 | Unable to challenge as existing record is Under Review. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40064 | Unable to challenge as Invalid document provided in the request. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40065 | Unable to challenge as No document provided with the request. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40060 | Unable to challenge for that id. Please check the Case id again. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40063 | Unable to challenge, please try again after some time. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | user_reference contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40167 | user_reference contains unexpected data. | ## 401 - Not Authorized | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 401 | Not Authenticated | NOT_AUTHENTICATED | 40001 | Invalid access token. | | 401 | Not Authenticated | NOT_AUTHENTICATED | 40002 | Access token expired. | | 401 | Not Authenticated | NOT_AUTHENTICATED | 40142 | Merchant info is not active. | ## 403 - Forbidden | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40004 | App credentials not recognized. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40212 | Permission not enabled to execute action. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40228 | Merchant Configuration does not exist for an active `merId`,`mmaId` along with required permission to execute action. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40202 | Device error: 999962. This Host was inactivated. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 50022 | 503 | ## 404/405 - Not Found | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 404 | Not Found | RESOURCE_NOT_FOUND | 40116 | `RESOURCE` `RESOURCE_ID` not found at this location. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40118 | `RESOURCE` `RESOURCE_ID` not found at this location. | | 404 | Not Found | n/a | n/a | API not found for requested URI. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40071 | No document found; please recheck the values provided. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40196 | Device error: 999988. This transaction does not exist. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40198 | Device error: 999986. This batch does not exist. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40008 | Transaction to action cannot be found. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40094 | Unable to locate dispute record for arn. Please recheck the value provided for arn. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40048 | Unable to locate dispute record for arn. Please recheck the value provided for arn. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40073 | Unable to locate dispute record for that ID. Please recheck the ID provided. | | 405 | Not Found | INVALID_TRANSACTION_ACTION | 40222 | Device error: 999996 Invalid Terminal information | | 405 | Not Found | INVALID_TRANSACTION_ACTION | 40042 | Retrieve information about this transaction is not supported. | ## 409 - Conflict | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 409 | Conflict | DUPLICATE_TRANSACTION | 40011 | 2, Duplicate transactions | | 409 | Conflict | DUPLICATE_ACTION | 40039 | Idempotency Key seen before : id:`resource-id` status: `resource_status` | | 409 | Conflict | DUPLICATE_TRANSACTION | 40011 | Device error: 100011 DUP TRANSACTION | | 409 | Conflict | DUPLICATE_TRANSACTION | 50015 | 501, This transaction was already processed. | ## 500 - Internal Server Error | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 500 | Internal Server | SYSTEM_ERROR_DOWNSTREAM | 50053 | 129, Unable to locate User with the Credentials provided; please contact Support Team. | ## 501 - Not Implemented | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 501 | Not Implemented | UNKNOWN_RESPONSE | 50012 | `ECHO BACK MESSAGE FROM SYSTEM` | | 501 | Not Implemented | UNKNOWN_RESPONSE | 50012 | Device error: 100023 UNKNOWN ERROR/NOT FOUND/USERABORTED | | 501 | Not Implemented | SYSTEM_ERROR_DOWNSTREAM | 50045 | Unable to process your request due to an Internal System Error; please reach out to your administrator if the issue persists. | ## 502 - Bad Gateway | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50004 | 1, Gateway system error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50003 | 1, Portico error. Developers notified. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 40187 | 100006 BATCH FAILED | | 502 | Bad Gateway | UNAUTHORIZED_DOWNSTREAM | 50002 | 2, Authentication error. Verify and correct credentials. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50005 | 20, Database operation time out. May occur when Portico is trying to communicate to the database for large amounts of data. If this is due to a search, it can be corrected by adding more specific criteria. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50006 | 21, Archive database is currently unavailable. Try the transaction again later. | | 502 | Bad Gateway | UNAUTHORIZED_DOWNSTREAM | 50001 | 21, Unauthorized | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50007 | 22, Archive database is currently unavailable but an attempt was made to retrieve the data from the real-time database. If there was data available from the real-time database that met the request criteria, then it was returned. However, it is not guaranteed to be complete. The request may need to be tried again later. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50013 | 2xx, eCom error. Developers notified. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50014 | 3xx, Error with GP Systems | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50010 | 50, Processor System error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50011 | 51, Processor Configuration error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 40204 | Device error: 199999 TERMINAL ERROR | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50052 | Inactive Device (Terminal) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50053 | Device (Terminal) Configuration missing | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50054 | Insufficient privileges | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50055 | Incremental Auth Not Allowed | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50056 | Unable to process your request. Settlement In Progress. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50057 | Functionality currently not available. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50058 | Inactive Merchant (Account) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50059 | Merchant (Account) configuration missing | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50060 | Processor configuration missing | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50061 | Unique ID Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50062 | Service Not Allowed | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50063 | Authentication error. Verify and correct credentials. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50064 | System Error (PhCountry) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50065 | System Error (Bin Lookup) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50066 | System Error (Merchant Bin Lookup) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50067 | System Error (Search Merchant) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50068 | System Error (Modify Schedule) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50069 | System Error (Modify Payment) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50070 | System Error (CCust) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50071 | System Error (CCustID) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50073 | System Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50074 | Error on Host | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50075 | System Error (DB Insert) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50076 | Card verification failed for card number. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50077 | Supported SecCodes not found for ACH. | | 502 | Bad Gateway | DUPLICATE_TRANSACTION | 50078 | Duplicate transaction (Same amount/ Account). | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50079 | General Money Transfer Decline | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50080 | Service is temporarily unavailable. Please try later. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50081 | Payment count cannot be greater than processed count. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50082 | One or more transactionID(s) in transactionPaymentTypeDetails is/are invalid. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50083 | Record Not Found | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50084 | Invalid Transaction Key | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50085 | The provided authentication credentials are not correct. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50086 | Invalid merchant details | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50087 | Host Operator not allowed | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50088 | Token services cannot be enabled until the merchant account is set up with a token zone. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50089 | Tokenization service not enabled | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50092 | Tokenization Unsuccessful | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50093 | Credit Limit Reached | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50094 | Invalid Message | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50095 | System Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50097 | Service disabled | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50098 | General Notify Decline | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50099 | Invalid Cashback amount | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50100 | Cashback Amount is not allowed for this type of transaction. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50101 | Mandatory Tags are missing. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50102 | Card Type not supported for requested service. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50103 | terminalData terminalCapability, terminalOperating Environment, cardholderAuthenticationMethod, terminalAuthenticationCapability, terminalOutputCapability, maxPinLength group is required. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50104 | cardholderAuthenticationMethod must be PIN. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50126 | Device error: 999995 Invalid POS/Terminal Pair info | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50127 | Device error: 999994 Internal Create Queue Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50128 | Device error: 999993 Terminal response does not match POS request | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50129 | Device error: 999992 Process Terminal response Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50130 | Device error: 999999 System Internal Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50130 | Device error: 999991 Internal Send Queue Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50131 | Device error: 999990 Receive Terminal response Timeout Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50132 | Device error: 999989 Terminal response type does not match POS request | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50133 | Device error: 999984 This Merchant is not paired with a Host | | 502 | Bad Gateway | UNAUTHORIZED_DOWNSTREAM | 50017 | error code - 505 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50018 | error code - 506 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50023 | 504 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50024 | 507 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50018 | This resource has reached the maximum number of records that can be returned. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50026 | Transaction `TRN_id` completed successfully but there was an issue in communicating the result to the merchant. Please check the status of the transaction. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50046 | Unable to process your request due to an error with a system down stream. | ## 504 - Timeout | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 504 | Timeout | TIMEOUT_DOWNSTREAM | 50008 | | 0, Occurs if we do not receive a response from the backend system and we're not sure if the transaction was successful or not. In this case, the POS is responsible for deciding whether to issue a reversal for this transaction. Used in cases where the transaction is an authorizing transaction, e.g., CreditAuth, CreditSale. If the transaction is non-authorizing (e.g., CreditAccountVerify, CreditReversal) and we receive no response, then we sends back a System Error (+1) to the POS. | | 504 | Timeout | TIMEOUT_DOWNSTREAM | 50009 | 31, Occurs when we attempt a reversal for the POS, but the reversal fails. In this case, the POS is responsible for issuing the reversal. | | 504 | Timeout | TIMEOUT_DOWNSTREAM | 50072 | Time out | ## Resources & Actions Source: https://developer.globalpayments.com/api/definitions/resources-actions.md # Resources & Actions The API is structured around resources and their associated actions. Resources are created, edited, and reported on by executing actions using the API. For example, a _/transactions_ resource is created by authorizing a card for a specific amount. It is edited by subsequently reversing it. This table outlines some example resources and their associated actions. | Example Resource | Definition | Associated Action(s) | | --- | --- | --- | | [/transactions](https://developer.globalpayments.com/api/transactions.md) | The transfer or attempt to transfer funds between a merchant and a payer using a payment method. | Authorize, Capture, Adjust, Reverse, Refund, Report | | [/disputes](https://developer.globalpayments.com/api/disputes.md) | Questions or objections from a payer relating to a previous transaction.| Challenge, Accept, Reporting | | [/deposits](https://developer.globalpayments.com/api/deposits) | The debiting or crediting of funds to a merchant's bank account. | Reporting | ### Resource IDs For every instance of a resource, we create an ID that uniquely identifies that instance. These IDs are important as they are used to reference an instance of a resource when actioning in. IDs are structured using the first three characters to represent the type of resource the instance refers to, followed by an underscore and then a unique string. For example, _TRN_C0kt6GatzZLsC0kt6GatzZLsmyhvBX_ is an unique ID for a transaction. IDs are created when the instance of the resource is created. #### Sample request ```json curl -v -X POST https://apis.globalpay.com/ucp/transactions -H "Content-type: application/json" -H "X-GP-Version: 2021-03-22" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" -d ' { "account_name": "transaction_processing", "channel": "CP", "type": "SALE", "amount": "20045", "currency": "CAD", "reference": "my-trans-ref", "payment_method": { "name": "Jane Doe", "entry_mode": "MANUAL", "card": { "number": "4242424242424242", "expiry_month": "12", "expiry_year": "20" } } }' ```JSON #### Sample response ```json { "id": "TRN_udnMIdFzIcLC0kt6GatzZLsmyhvBXj", "time_created": "2021-03-20T23:31:33.878Z", "type": "SALE", "status": "CAPTURED", .... } ```JSON The following table describes the API resources and gives an example ID for each. | Resource | Description | Example ID | | --- | --- | --- | | Merchant | Represents a configured business entity that has an account configured to access a payment-processing capability. | MER_8096479c606f4deb93dfab49e7bfea28 | | Account | Umbrella term for all configured accounts of all account types. Each account has a type and represents a payment-processing capability. | ACC_345lmaslhvj7sdfnlsdfh8asdfnsldknfas2 | | Transaction Account | Represents a configured capability to create, edit, and report on transactions. Transactions represent the attempt or the actual movement of funds between a payer and a merchant. | TRA_0b1fcc7cceea48dea38d044bae4295c2 | | Data Services Account | Represents a configured capability to access Settlement Reporting to retrieve settlement info related to deposits, transactions, and disputes. | DAA_dea38d044bae4295c20b1fcc7cceea48 | | Tokenization Account | Represents a configured capability to store, edit, and report on payment methods stored on our system. | TKA_nsldknfas2345lmaslhvj7sdfnlsdf | | Action | Represents information about the requests and corresponding responses sent to the API. | ACT_udnMIdFzIcLC0kt6GatzZLsmyhvBXj | | Transaction | Represents the transfer or the attempt to transfer funds between a payer and a merchant using a specific payment method. A Sale transaction represents movement of funds from payer to merchant and a refund from merchant to payer. | TRN_C0kt6GatzZLsC0kt6GatzZLsmyhvBX | | Dispute |An act, initiated by a payer or payer’s bank, to query or challenge the previous transfer of funds between that payer and the merchant. | DIS_2SDFC0kt6GatzZLsC0kt6GatzZLscc | | Deposit | Represents the initiation of a debit or a credit to a merchant's bank account that relates to processed transactions and disputes or fees charged to the merchant. | DEP_2VCssdf2SDFC0kt6GatzZLsC0kt6Ga | | Verification | Represents the validation of a payment method to ensure it can be used in the creation of a transaction. | VER_k35345dfgdwRWCVfZFSDFsdfsdfsd | | Payment Methods | Stored by us and represented by an identifier, commonly referred to as a _token_. Can be used to create sale and refund transactions, in place of real card details. | PMT_ZFSDFsdfsdfsdudnMIdFzIcLC0kt6G | | Authentications | Represents an authentication process to prove the payer executing a sale transaction is the owner of the payment method being used. This includes the SCA/3DS process. | AUT_FsdfsdfsdudnMIdFzIcLC0dea38d044 | | Batch | Represents a group of sale and refund transactions that start the funding process in the same collection. | BAT_35wdfsdfsdfsdf32VCssdf2SDF2SDFv | | Currency Conversion Services | Represents an instance of payment currency service provided by us, such as DCC rate lookup, Multi-currency Pricing, or FX rate file retrieval. | CCS_dfsdfsdf32VCssdf2SDatzZLsC0kt6Gat | | Device | Represents the requests to manage and configure devices. | DEV_6GatzZLsC0kt6GatzZdfsdfsdf32VCs3c | ## Versioning Source: https://developer.globalpayments.com/api/definitions/versioning.md # Versioning The API is version controlled. Some past versions are available to merchants in Production. The API requires that the header **X-GP-Version** be submitted with every request to indicate the version of the API to execute. The response will contain the same header to indicate the version that was executed. > The latest version of the API is: 2021-03-22 #### Sample request ```json curl -v -X POST https://apis.globalpay.com/ucp/transactions -H "Content-type: application/json" -H "X-GP-Version: 2021-03-22" -H "Authorization: Bearer KnxbvhyY4GgBYq6mV64uEGLzotrw" -d ' { "account_name": "Transaction_Processsing", "channel": "CP", ... }' ```JSON ## Webhooks Source: https://developer.globalpayments.com/api/definitions/webhooks.md # Validating Webhook Notifications A webhook is a message from us that notifies a merchant’s system that a particular event has occurred. There are two types of webhooks that can be sent from our system: a **POST webhook** that contains data in the payload body of a message and a **GET webhook** that contains data in the query string of the URL being notified. This guide focuses on how to validate both of these types of webhooks to ensure the message came from our API. ## POST Webhook The below webhook is a HTTP POST request and the message content is in the body of the webhook. The signature is in the header field `X-GP-Signature`. ### Sample Webhook ```JSON ["Host","example.com", "Content-Length","652", "Content-Type","application/json", "Accept","application/json", "Content-Encoding","gzip", "Cache-Control","private,no-store", "Strict-Transport-Security","max-age=31536000; includeSubDomains;", "X-Content-Type-Options","nosniff", "x_global_transaction_id","rrt-6432659491113021748-b-geu1-27725-72152606-1", "x_global_transaction_id_source","globalpay.ApigeeEdge", "X-GP-Signature","ee16e2d14fb2969565499c172522e69955945a544751a5fa9e5fc775b3141785612c223ed77c2ff4cc367ead60f816c4fec6e16dc35564882d9aa695a3d0a907"] ``` ```JSON { "id":"TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181", "time_created":"2024-07-03T15:23:51.342Z", "type":"SALE", "status":"CAPTURED", "channel":"CNP", "capture_mode":"AUTO", "amount":"1005", "currency":"EUR", "country":"DE", "merchant_id":"MER_f414851d386a4e1f9fa4beb56c5e38b9", "merchant_name":"Global Payments Test Merchant Mason", "account_id":"TRA_4d49f5d4e1b84ea4a28c8902a8538375", "account_name":"79810948", "reference":"44819181", "payment_method":{ "result":"00", "message":"SUCCEEDED", "entry_mode":"ECOM", "apm":{ "provider":"testpay", "wait_notification":"", "fund_status":"NOT_EXPECTED", "payment_description":"546CCB7", "confirmed_accountholder":"", "account_number":"", "iban":"", "bank_identifier_code":"", "bank_name":"", "bank_address":"", "optional_redirect":"" } }, "batch_id":"", "action":{ "id":"ACT_Jm6BviEawzx7XgbQZUh0dbfBettgQ5", "type":"STATUS_NOTIFICATION", "time_created":"2024-07-03T15:24:52.217Z", "result_code":"SUCCESS", "app_id":"a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ", "app_name":"sean_sandbox_app" } } ``` ### How to check the X-GP-Signature 1) Take the signature value from the header field `X-GP-Signature`. 2) Take the full JSON body of the message. The message must be minified to ensure all unnecessary whitespace and control characters are removed. 3) Take the `app_key` (Click [here](https://developer.globalpayments.com/api/definitions/access-tokens.md#step-1-obtain-your-app-credentials) to learn about `app_key`). 4) Concatenate the JSON body of the message with the `app_key`. 5) SHA512 the string from Step 4. 6) Check if the string from Step 5 is the same as the `X-GP-Signature` value from the header. If it’s the same, the message came from us. If they do not match, the message did not come our system. ```Pseudocode X-GP-Signature = "ee16e2d14fb2969565499c172522e69955945a544751a5fa9e5fc775b3141785612c223ed77c2ff4cc367ead60f816c4fec6e16dc35564882d9aa695a3d0a907"; body = '{"id":"TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181","time_created":"2024-07-03T15:23:51.342Z","type":"SALE","status":"CAPTURED","channel":"CNP","capture_mode":"AUTO","amount":"1005","currency":"EUR","country":"DE","merchant_id":"MER_f414851d386a4e1f9fa4beb56c5e38b9","merchant_name":"Global Payments Test Merchant Mason","account_id":"TRA_4d49f5d4e1b84ea4a28c8902a8538375","account_name":"79810948","reference":"44819181","payment_method":{"result":"00","message":"SUCCEEDED","entry_mode":"ECOM","apm":{"provider":"testpay","wait_notification":"","fund_status":"NOT_EXPECTED","payment_description":"546CCB7","confirmed_accountholder":"","account_number":"","iban":"","bank_identifier_code":"","bank_name":"","bank_address":"","optional_redirect":""}},"batch_id":"","action":{"id":"ACT_Jm6BviEawzx7XgbQZUh0dbfBettgQ5","type":"STATUS_NOTIFICATION","time_created":"2024-07-03T15:24:52.217Z","result_code":"SUCCESS","app_id":"a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ","app_name":"sean_sandbox_app"}}'; app_key = "WinZP9PgPfVZuTi4"; stringToHash = body + app_key; stringToHash = '{"id":"TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181","time_created":"2024-07-03T15:23:51.342Z","type":"SALE","status":"CAPTURED","channel":"CNP","capture_mode":"AUTO","amount":"1005","currency":"EUR","country":"DE","merchant_id":"MER_f414851d386a4e1f9fa4beb56c5e38b9","merchant_name":"Global Payments Test Merchant Mason","account_id":"TRA_4d49f5d4e1b84ea4a28c8902a8538375","account_name":"79810948","reference":"44819181","payment_method":{"result":"00","message":"SUCCEEDED","entry_mode":"ECOM","apm":{"provider":"testpay","wait_notification":"","fund_status":"NOT_EXPECTED","payment_description":"546CCB7","confirmed_accountholder":"","account_number":"","iban":"","bank_identifier_code":"","bank_name":"","bank_address":"","optional_redirect":""}},"batch_id":"","action":{"id":"ACT_Jm6BviEawzx7XgbQZUh0dbfBettgQ5","type":"STATUS_NOTIFICATION","time_created":"2024-07-03T15:24:52.217Z","result_code":"SUCCESS","app_id":"a5f0OOTJdAChObGXIqi8I5eGq6i6sLlJ","app_name":"sean_sandbox_app"}}WinZP9PgPfVZuTi4'; hashedString = SHA512(stringToHash); hashedString = 'ee16e2d14fb2969565499c172522e69955945a544751a5fa9e5fc775b3141785612c223ed77c2ff4cc367ead60f816c4fec6e16dc35564882d9aa695a3d0a907' IF X-GP-Signature == hashedString { All Good } IF X-GP-Signature != hashedString { Issue } ``` ## HTTP GET Webhook The below webhook is a HTTP GET request and the message content is in the URL’s query string. The signature is in the first query string field, `X-GP-Signature`. ### Sample Webhook ```Pseudocode https://www.example.com/?X-GP-Signature=8174e708320993a2083d82c097cbb148f1dcf381fb33ca85495fdc672c219e52d0ba19dab2f15460b00f80727fc952ad23cf9390b1af49227d8f6acd81205c14&id=TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181&status=PENDING&reference=44819181&payment_method.result=01&payment_method.message=PENDING&provider=testpay&apm.wait_notification=&apm.optional_redirect=&apm.fund_status=NOT_EXPECTED&apm.payment_description=546CCB7&apm.confirmed_accountholder=&apm.account_number=&country=DE&apm.bank.iban=&apm.bank.identifier_code=&apm.bank.name=&apm.bank.code=&action.id=ACT_UWGHF3hQxRmfe9im2W7AmSLUdXB1Rb&action.type=RETURN_NOTIFICATION&action.time_created=2024-07-03T15%3A24%3A23.402Z ``` ### How to check the X-GP-Signature 1) Take the signature value from the `X-GP-Signature` query string field. It will be the first parameter in the query string. 2) Take the remaining query string value: everything after the ampersand (&) directly after the `X-GP-Signature` value. 3) Take the `app_key` (Click [here](https://developer.globalpayments.com/api/definitions/access-tokens.md#step-1-obtain-your-app-credentials) to learn about `app_key`). 4) Concatenate the remaining query string value with the `app_key`. 5) SHA512 the string from Step 4 6) Check if the string from Step 5 is the same as the `X-GP-Signature` value from the query string field. If it’s the same, the message came from us. If they do not match, the message did not come from our system. ```Pseudocode fullURL = ‘https://www.example.com/?X-GP-Signature=8174e708320993a2083d82c097cbb148f1dcf381fb33ca85495fdc672c219e52d0ba19dab2f15460b00f80727fc952ad23cf9390b1af49227d8f6acd81205c14&id=TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181&status=PENDING&reference=44819181&payment_method.result=01&payment_method.message=PENDING&provider=testpay&apm.wait_notification=&apm.optional_redirect=&apm.fund_status=NOT_EXPECTED&apm.payment_description=546CCB7&apm.confirmed_accountholder=&apm.account_number=&country=DE&apm.bank.iban=&apm.bank.identifier_code=&apm.bank.name=&apm.bank.code=&action.id=ACT_UWGHF3hQxRmfe9im2W7AmSLUdXB1Rb&action.type=RETURN_NOTIFICATION&action.time_created=2024-07-03T15%3A24%3A23.402Z”; X-GP-Signature = "8174e708320993a2083d82c097cbb148f1dcf381fb33ca85495fdc672c219e52d0ba19dab2f15460b00f80727fc952ad23cf9390b1af49227d8f6acd81205c14"; remainingQueryStringToHash = “id=TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181&status=PENDING&reference=44819181&payment_method.result=01&payment_method.message=PENDING&provider=testpay&apm.wait_notification=&apm.optional_redirect=&apm.fund_status=NOT_EXPECTED&apm.payment_description=546CCB7&apm.confirmed_accountholder=&apm.account_number=&country=DE&apm.bank.iban=&apm.bank.identifier_code=&apm.bank.name=&apm.bank.code=&action.id=ACT_UWGHF3hQxRmfe9im2W7AmSLUdXB1Rb&action.type=RETURN_NOTIFICATION&action.time_created=2024-07-03T15%3A24%3A23.402Z”; appKey = "WinZP9PgPfVZuTi4"; stringToHash = body + app_key; stringToHash = 'id=TRN_wRWA1rOQeVRDUOafRmirrpYPURPODJ_44819181&status=PENDING&reference=44819181&payment_method.result=01&payment_method.message=PENDING&provider=testpay&apm.wait_notification=&apm.optional_redirect=&apm.fund_status=NOT_EXPECTED&apm.payment_description=546CCB7&apm.confirmed_accountholder=&apm.account_number=&country=DE&apm.bank.iban=&apm.bank.identifier_code=&apm.bank.name=&apm.bank.code=&action.id=ACT_UWGHF3hQxRmfe9im2W7AmSLUdXB1Rb&action.type=RETURN_NOTIFICATION&action.time_created=2024-07-03T15%3A24%3A23.402ZWinZP9PgPfVZuTi4'; hashedString = SHA512(stringToHash); hashedString = '8174e708320993a2083d82c097cbb148f1dcf381fb33ca85495fdc672c219e52d0ba19dab2f15460b00f80727fc952ad23cf9390b1af49227d8f6acd81205c14' IF X-GP-Signature == hashedString { All Good } IF X-GP-Signature != hashedString { Issue } ``` ## Resources Source: https://developer.globalpayments.com/resources/overview.md # Resources ### [Test Cards](https://developer.globalpayments.com/resources/test-cards.md) Test different transaction outcomes with simulated cards or banks. ### [API Responses](https://developer.globalpayments.com/resources/responses.md) Understand the status codes and error responses our API returns. ### [Currency Codes](https://developer.globalpayments.com/resources/codes/currency-codes.md) A list of correctly formatted currency codes to use in requests. ## Test Cards Source: https://developer.globalpayments.com/resources/test-cards.md # Test Cards When testing your integration, you should never use real card details or banking information. That’s why we provide simulated payment methods such as test card numbers, test banks (for Open Banking), and even test installment plans (for Visa Installment Service). Use these resources to test different scenarios for your application or website. > When using the cards, either through the API or Hosted Payment Page, you can enter any cardholder name, security code, and future-dated expiry. ## Successful | Card Number | Card Type | Result | Code | Description | | -------- | -------- | -------- | -------- | -------- | | 4263970000005262 | Visa | Successful | 00 | Successful transaction | | 5425230000004415 | Mastercard | Successful | 00 | Successful transaction | | 374101000000608 | American Express | Successful | 00 | Successful transaction | | 36256000000725 | Diners Club | Successful | 00 | Successful transaction | | 6011000000000087 | Discover | Successful | 00 | Successful transaction | | 3566000000000000 | JCB | Successful | 00 | Successful transaction | | 135400000007187 | UATP | Successful | 00 | Successful transaction | ## Declined | Card Number | Card Type | Result | Code | Description | | -------- | -------- | -------- | -------- | -------- | 4000120000001154 | Visa | Declined | 101 | Declined by the bank | 4000130000001724 | Visa | Declined | 102 | Referral B | 4000160000004147 | Visa | Declined | 103 | Referral A - Card reported lost/stolen | 4009830000001985 | Visa | Declined | 200 | Communication Error | 4242420000000091 | Visa | Declined | 111 | Strong Customer Authentication Required | 5114610000004778 | Mastercard | Declined | 101 | Declined by the bank | 5114630000009791 | Mastercard | Declined | 102 | Referral B | 5121220000006921 | Mastercard | Declined | 103 | Referral A - Card reported lost/stolen | 5135020000005871 | Mastercard | Declined | 200 | Communication Error | 5100000000000131 | Mastercard | Declined | 111 | Strong Customer Authentication Required | 376525000000010 | American Express | Declined | 101 | Declined by the bank | 375425000000907 | American Express | Declined | 102 | Referral B | 343452000000306 | American Express | Declined | 103 | Referral A - Card reported lost/stolen | 372349000000852 | American Express | Declined | 200 | Communication Error | 374205502001004 | American Express | Declined | 111 | Strong Customer Authentication Required | 36256000000998 | Diners Club | Declined | 101 | Declined by the bank | 36256000000634 | Diners Club | Declined | 102 | Referral B | 38865000000705 | Diners Club | Declined | 103 | Referral A - Card reported lost/stolen | 30450000000985 | Diners Club | Declined | 200 | Communication Error | 6011000000001010 | Discover | Declined | 101 | Declined by the bank | 6011000000001028 | Discover | Declined | 102 | Referral B | 6011000000001036 | Discover | Declined | 103 | Referral A - Card reported lost/stolen | 6011000000002000 | Discover | Declined | 200 | Communication Error | 3566000000001016 | JCB | Declined | 101 | Declined by the bank | 3566000000001024 | JCB | Declined | 102 | Referral B | 3566000000001032 | JCB | Declined | 103 | Referral A - Card reported lost/stolen | 3566000000002006 | JCB | Declined | 200 | Communication Error | 135400000009712 | UATP | Declined | 101 | Declined by the bank | 135400000007633 | UATP | Declined | 102 | Referral B | 135400000000281 | UATP | Declined | 103 | Referral A - Card reported lost/stolen | 135400000005637 | UATP | Declined | 205 | Communication Error | ## DCC ### Without 3D Secure authentication Use the following cards to test Dynamic Currency Conversion (DCC) **without** 3D Secure authentication. | Card Number | Card Type | Result | Code | Description | Currency | | -------- | -------- | -------- | -------- | -------- | -------- | | 4006097467207025 | DCC | Successful | 00 | Successful transaction | AUD | | 4002933640008365 | DCC | Successful | 00 | Successful transaction | EUR | ### With 3D Secure authentication Use the following cards to test DCC **with** 3D Secure authentication. | Card Number | Card Type | Result | Code | Description | Currency | | -------- | -------- | -------- | -------- | -------- | -------- | | 4222000001227408 | DCC | Challenge_Required | N/A | Challenged Trx | USD | | 4263970000005262 | DCC | Authentication_Successful | 00 | Successful Trx | EUR | ## 3D Secure 2 We provide a Simulator issuer access control server (ACS) that allows you to test different 3D Secure scenarios for Visa or Mastercard. ### Visa #### Visa Message Version 2.2†† | Card Number | Flow Type | Transaction Result | ECI† | | -------- | -------- | -------- | -------- | | 4222000006285344 | Frictionless | AUTHENTICATION_SUCCESSFUL | 05 | | 4222000009719489 | Frictionless | AUTHENTICATION_SUCCESSFUL - No Method URL | 05 | | 4222000005218627 | Frictionless | AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL | 06††† | | 4222000002144131 | Frictionless | AUTHENTICATION_FAILED | 07 | | 4222000007275799 | Frictionless | AUTHENTICATION_ISSUER_REJECTED | 07 | | 4222000008880910 | Frictionless | AUTHENTICATION_COULD_NOT_BE_PERFORMED | 07 | | 4222000001227408 | Challenge | CHALLENGE_REQUIRED | N/A | † The expected ECI value associated with the corresponding transaction status. ++Note++: Values may vary depending on the card issuer; however, the ECI will always indicate if there is a liability shift in favor of the merchant or not and can be used as a guide on whether to proceed to authorization. †† X-GP-VERSION: 2.2.0 is required to allow the use of the new message version 2.2 fields and values. ††† Transaction was attempted but not successful; however, the bank is still willing to offer chargeback protection, so the transaction proceeds. Success is expected in this scenario. ### Mastercard #### Mastercard Message Version 2.2†† | Card Number | Flow Type | Transaction Result | ECI† | | -------- | -------- | -------- | -------- | | 5354560000000004 | Frictionless | AUTHENTICATION_SUCCESSFUL | 02 | | 5571596304025153 | Frictionless | AUTHENTICATION_SUCCESSFUL - No Method URL | 02 | | 5580364874958322 | Frictionless | AUTHENTICATION_ATTEMPTED_BUT_NOT_SUCCESSFUL | 01 | | 5540010585397800 | Frictionless | AUTHENTICATION_FAILED | 00 | | 5588312194362669 | Frictionless | AUTHENTICATION_ISSUER_REJECTED | 00 | | 5520680211891022 | Frictionless | AUTHENTICATION_COULD_NOT_BE_PERFORMED | 00 | | 5506874496684651 | Challenge | CHALLENGE_REQUIRED | N/A | † The expected ECI value associated with the corresponding transaction status. ++Note++: Values may vary depending on the card issuer; however, the ECI will always indicate if there is a liability shift in favor of the merchant or not and can be used as a guide on whether to proceed to authorization. †† X-GP-VERSION: 2.2.0 is required to allow the use of the new message version 2.2 fields and values. ## Apple Pay Based on the amount specified in the token, the Sandbox environment maps the tokenized data in the transaction to one of our test cards. Any card details can be used in the token — they won't be logged, stored, or used for transaction processing. The table below lists the amount to specify in your Apple Pay token to test Visa and Mastercard (MC) and result scenarios. > Important : Apple requires an [Apple sandbox account](https://developer.apple.com/apple-pay/sandbox-testing/) and the use of the test cards listed there only. ### Standard testing | Amount in Token | Card Type | Result Code | Message | AVS Postcode Result | AVS Address Result | | -------- | -------- | -------- | -------- | -------- | -------- | | 10.00 | VISA | 00 | Successful | | | | 11.01 | VISA | 101 | Declined | | | | 11.02 | VISA | 102 | Referral B | | | | 11.03 | VISA | 103 | Referral A | | | | 12.05 | VISA | 200 | Comms Error | | | | 20.00 | MC | 00 | Successful | | | | 21.01 | MC | 101 | Declined | | | | 21.02 | MC | 102 | Referral B | | | | 21.03 | MC | 103 | Referral A | | | | 22.05 | MC | 200 | Comms Error | | | ### AVS/CVN-specific testing | Amount in Token | Card Type | Result Code | Message | AVS Postcode Result | AVS Address Result | | -------- | -------- | -------- | -------- | -------- | -------- | | 43.00 | VISA | 101 | Declined | U | U | | 43.01 | VISA | 101 | Declined | I | I | | 43.02 | VISA | 101 | Declined | P | P | | 43.03 | VISA | 101 | Declined | M | M | | 43.04 | VISA | 101 | Declined | M | N | | 43.05 | VISA | 101 | Declined | N | M | | 43.06 | VISA | 101 | Declined | N | N | | 53.00 | MC | 00 | Successful | U | U | | 53.01 | MC | 00 | Successful | I | I | | 53.02 | MC | 00 | Successful | P | P | | 53.03 | MC | 00 | Successful | M | M | | 53.04 | MC | 00 | Successful | M | N | | 53.05 | MC | 00 | Successful | N | M | | 53.06 | MC | 00 | Successful | N | N | ### Error | Amount in Token | Card Type | Result Code | | -------- | -------- | -------- | | Any other amount | 108 | Using test system. Please use predefined Apple Pay test amounts only. See documentation. | ## Google Pay Based on the amount specified in the token, the Sandbox environment maps the tokenized data in the transaction to one of our test cards. Any card details can be used in the token — they won't be logged, stored, or used for transaction processing. The table below lists the amount to specify in the request to test Visa and Mastercard (MC) and result scenarios. > Important \- Google requires the use of live cards for sandbox testing \- the cards will not be charged ( this is flagged in the google modal) ### Standard testing | Amount in Token | Card Type | Result Code | Message | AVS Postcode Result | AVS Address Result | | -------- | -------- | -------- | -------- | -------- | -------- | | 10.00 | VISA | 00 | Successful | | | | 11.01 | VISA | 101 | Declined | | | | 11.02 | VISA | 102 | Referral B | | | | 11.03 | VISA | 103 | Referral A | | | | 12.05 | VISA | 200 | Comms Error | | | | 20.00 | MC | 00 | Successful | | | | 21.01 | MC | 101 | Declined | | | | 21.02 | MC | 102 | Referral B | | | | 21.03 | MC | 103 | Referral A | | | | 22.05 | MC | 200 | Comms Error | | | ### AVS/CVN-specific testing | Amount in Token | Card Type | Result Code | Message | AVS Postcode Result | AVS Address Result | | -------- | -------- | -------- | -------- | -------- | -------- | | 43.00 | VISA | 101 | Declined | U | U | | 43.01 | VISA | 101 | Declined | I | I | | 43.02 | VISA | 101 | Declined | P | P | | 43.03 | VISA | 101 | Declined | M | M | | 43.04 | VISA | 101 | Declined | M | N | | 43.05 | VISA | 101 | Declined | N | M | | 43.06 | VISA | 101 | Declined | N | N | | 53.00 | MC | 00 | Successful | U | U | | 53.01 | MC | 00 | Successful | I | I | | 53.02 | MC | 00 | Successful | P | P | | 53.03 | MC | 00 | Successful | M | M | | 53.04 | MC | 00 | Successful | M | N | | 53.05 | MC | 00 | Successful | N | M | | 53.06 | MC | 00 | Successful | N | N | ### Error | Amount in Token | Card Type | Result Code | | -------- | -------- | -------- | | Any other amount | 108 | Using test system. Please use predefined Google Pay test amounts only. See documentation. | ## Open Banking Each test bank provides a different result, as shown in the table below. | Test Bank | Currency | Result | Webhook | Notes | | -------- | -------- | -------- | -------- | -------- | | Natwest | £ | Pending or Decline | Yes | Declines if the transaction amount is above the balance. | | Lloyds | £ | Pending Only | No | | | Ozone Modelo | £ | Success and Pending | No | Each “debtor account” provides a different outcome. | | Commerzbank | € | Success Only | No | Select “Germany” first to see this bank option. | | Deutsche Bank | € | Payment Not Complete | No | Select “Germany” first to see this bank option. | The following table provides the login information for each test bank. | Test Bank | Username | Password | IBAN | | -------- | -------- | -------- | -------- | | Natwest | 123456789012 | 5-7-2-4-3-6 | N/A | | Lloyds | llr001 | Password123 | N/A | | Ozone Modelo | mits | mits | N/A | | Commerzbank | N/A | N/A | FR5191497531710377217771433 | | | Branch | Account | | | Deutsche Bank | 648 | 1094846 | FR5191497531710377217771433 | ## Card Blocking Use these test cards for the Enhanced Card ID service. | Card Number | Brand | Type | Response Code | Response Text | CVV Response | AVS Postcode | AVS Address | | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | | 4400000000000008 | VISA | Standard Debit | 00 | Authorized | M | M | M | | 4095790000000004 | VISA | Standard Credit | 00 | Authorized | M | M | M | | 5200000000000007 | MC | Standard Debit | 00 | Authorized | M | M | M | | 5275000000000007 | MC | Commercial Credit | 00 | Authorized | M | M | M | | 5348500000000009 | MC | Commercial Credit | 00 | Authorized | M | M | M | ## Network tokens - CSS The following cards can be used for testing network tokens as part of our Card Storage Service (CSS). | Card Number | Expiry (mmyy) | Result | | --- | --- | --- | | 4622943123052970 | 1225 | Network token returned in response. | | 5186151950000055 | 1225 | Network token returned in response. | | 370295069663597 | 1225 | Network token returned in response. | ## Click to Pay ### VISA: | Flow | PAN | Expiry | CVV | Description | | :---- | :---- | :---- | :---- | :---- | | Approved Flow | 4395840190010011 | 12/27 | 840 | Frictionless Flow. | | Challenged Approved | 4395840118000110 | 12/27 | 240 | Triggers OTP challenge Flow. | | Challenged Failed | 4395840118000110 | 12/25 | 448 | Triggers OTP challenge Flow. After 3 unsuccessful tries returns an N (Authentication Failed) | ### Mastercard | Flow | PAN | Expiry | CVV | Description | | :---- | :---- | :---- | :---- | :---- | | Approved Flow | 5120350100064537 | Any Future Date | Any 3 digits | Frictionless Flow. | | Approved Flow | 5120350100064545 | Any Future Date | Any 3 digits | Approval | ## Thank You Points | Card type | Card Number | Result | | :--- | :--- | :--- | | Visa | 4391200100101497 | Successful | | MasterCard | 5288519105988050 | Successful | ## Installments The valid amounts to get plans in the sandbox: 100000, 200000, 160000, 80000, 75000, 50000, 45000 | Card type | Card Number | Result | | :--- | :--- | :--- | | Visa | 4263970000005262 | Successful | | Visa | 4000120000001154 | Declined | | MasterCard | 5425230000004415 | Successful | | MasterCard | 5114610000004778 | Declined | ## API responses Source: https://developer.globalpayments.com/resources/responses.md # API responses > Do not code to the detailed_error_description field value as that verbiage may change. ## HTTP status codes The HTTP status codes indicates at a high level whether the API call was successful or not. For example, the _200 OK_ code indicates the successful execution of the API call and that there were no errors. Any non-200 http status code indicates an error. | HTTP Status Code | Message | Description | | -------- | -------- | -------- | | 200 | OK | This represents a successful API action. | | 400 | Bad Request | Error: The API request has an error in it. | | 401 | Not Authenticated | Error: Can’t authenticate with those credentials. Need to get a new access token. | | 403 | Forbidden | Error: Don’t have permission to execute that API action. | | 404 | Resource Not Found| Error: the resource referenced in the request cannot be found. | | 405 | Method Not Allowed | Error: The HTTP request method is not supported for the requested resource. | | 409 | Duplicate | Error: The API request was blocked as it is seen as a duplicate action that must not processed. | | 500 | Internal Server Error | Error: Something unexpected happened. | | 502 | Bad Gateway | Error: Something unexpected happened when communicating with another system. | | 504 | Timeout | Error: API did not get a response from another system in the expected timeframe. | ## Action response With every successful action, the following data is returned as part of the response. | Property | Description | | ------- | -------- | | id | Unique ID for that action. For example: ACT_udnMIdFzIcLC0kt6GatzZLsmyhvBXj | | type | The type of action execute. For example: AUTHORIZE, REFUND, REVERSE | | time_created | The time the action executed in ISO8601. For example: 2025-03-20T13:44:14.327Z | | result_code | The result of the action from us. For example: SUCCESS or DECLINED | | app_id | The unique ID of the app used to create the token associated with the executed action. For example: F45as8i3eaLHNfgsa12a4dEA2sddaA | ### Sample response ```JSON ..... "action": { "id": "ACT_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "type": "AUTHORIZE", "time_created": "2024-01-20T13:44:14.327Z", "result_code": "SUCCESS", "app_id": "MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "my_sandbox_app" } } ``` ### Action result_code The result of a successful API action is recorded in the `action.result_code` field as it always contains the API's result for the action. | action.result_code | Description | Examples | | ------- | ------- | ------- | | SUCCESS | indicates the action executed successfully.| When authorizing a card this means the card issuer authorized the transaction. | | DECLINED | indicates the action DECLINED. This means to consider that payment is not allowed and goods or services should not be provided. | When authorizing a card this means the card issuer declined the transaction. | | PENDING | indicates the result is not known but a final result will be subsequently provided. When the result is known result_code changes from PENDING to a SUCCESS, DECLINED or ERROR result_code.| This is result_code is currently only applicable for certain Asia Pacific payments methods when trying to void or reverse them. | | ERROR | indicates the action was PENDING but when the final result was known, it had erred. | This is result_code is currently only applicable for certain Asia Pacific payments methods when trying to void or reverse them.| ### Payment method result & message When processing transactions using a payment method (for example, a card), there are other fields in the response from the card provider that an integrator can examine to get more information about the response. | Area | Description | Examples | | ------- | ------- | ------- | | Payment Method Result & Message | Indicates the payment method provider's result and associated message. | If a card authorization declines, the payment_method result and message include more detail from the Issuer on why it was declined. For example, 51 - INSUFFICIENT FUNDS. This is generated by the issuing bank, who will provide decline codes in the response back to the authorization platform. | ### Sample response ```JSON 200 OK # <--- HTTP Status Code { "id": "TRN_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "time_created": "2024-01-20T13:44:14.327Z", "type": "SALE", "status": "CAPTURED", # <--- Status "channel": "CP", "capture_mode": "AUTO", "amount": "20045", "currency": "CAD", "merchant_id": "MER_8096479c606f4deb93dfab49e7bfea28", "merchant_name": "SANDBOX_MERCHANT", "account_id": "TRA_0b1fcc7cceea48dea38d044bae4295c2", "account_name": "Termiinal_55", "reference": "03559571", "payment_method": { "result": "00", # <--- Payment Method Result "message": "APPROVAL", # <--- Payment Method Message "entry_mode": "MANUAL", "card": { "brand": "VISA", "masked_number_last4": "XXXXXXXXXXXX4242", "authcode": "351404", "brand_reference": "772201652998701", "tag_response": "", "cvv_result": "MATCHED", "avs_address_result": "0", "avs_postal_code_result": "0", "avs_action": "" } }, "batch_id": "BAT_353445", "action": { "id": "ACT_noXZxzpagCCMyJT08Sz2tGkPji8WXN", "type": "AUTHORIZE", "time_created": "2024-01-20T13:44:14.327Z", "result_code": "SUCCESS", # <--- Action Result Code "app_id": "APP_MN500Q8lk5jp0rEmB5LGvTo27gdQgZln", "app_name": "my_sandbox_app" } } ``` ## Successful responses - 200 OK These are API actions that executed successfully and did not error. They will return an action object in the response message. > A DECLINED card transaction still returns a 200 OK as the action did execute successfully end to end, but the cardholder’s issuing bank declined the transaction. > The _action.result_code_ must also be examined. For more information, see the [Action result_code](#action-result_code) section. ## Error responses If the HTTP Status Code is 4xx or 5xx, then an error has occurred. Error responses contain the following fields. | Property | Description | | -------- | -------- | | error_code | Categorizes the error into a specific group. | | detailed_error_code | Specific code used to uniquely identify the error. | | detailed_error_description | Detailed verbiage of the specific error. | #### Sample error response ```JSON 401 Not Authenticated # <--- HTTP Status Code & Error Object { "error_code": "NOT_AUTHENTICATED", "detailed_error_code": "40001", "detailed_error_description": "Invalid Access Token" } ``` > Do not code to the _detailed_error_description_ field value as that verbiage may change. The following tables outline the implemented HTTP Status Codes, `error_code`, `detailed_error_code`, and `detailed_error_description` that the API can return when an error is encountered. ## 400 - Bad Request | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40224 | Can't CAPTURE a Transaction that is already CAPTURED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40226 | Can't reverse this transaction. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40225 | Currency Mis-match | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40223 | Request expects the batch_id. | | 400 | Bad Request | INVALID_PAYMENT_METHOD_ACTION | 40227 | Retrieve information about this payment method is not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40141 | Invalid value provided in the input field - system.name. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | `field_name` contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | `field_name` contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | `field_name` contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40118 | `RESOURCE` `RESOURCE_ID` not found at this location. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40005 | $[1].dependency' cannot be empty. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40192 | 100003 ACCT# INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40153 | 100003 AMOUNT NOT ALLOWED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40152 | 100003 AUTH CODE NOT ALLOWED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40183 | 100003 CARD TYPE DISABLED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40190 | 100003 CVV NOT ALLOWED | | 400 | Bad Request | INVALID_REQUEST_DATA | 40182 | 100003 DATA INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40185 | 100003 ENCRYPTION ERROR | | 400 | Bad Request | INVALID_REQUEST_DATA | 40155 | 100003 MERCHANT FEE ONLY FOR CB | | 400 | Bad Request | INVALID_REQUEST_DATA | 40184 | 100003 PLZ VOID ADDTIP | | 400 | Bad Request | INVALID_REQUEST_DATA | 40186 | 100003 SAF MODE VALUE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40181 | 100003 ZIP CODE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40191 | 100003 ZIPCODE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40193 | 100015 CVV ERROR | | 400 | Bad Request | INVALID_REQUEST_DATA | 40194 | 100016 AVS ERROR | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40188 | 100020 CANNOT ADJUST | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40189 | 100021 ALREADY VOIDED/ ALREADY COMPL | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40018 | 11, Original transaction not CPC. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40054 | 111, Invalid value provided in the input field page. Must be greater than 0. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40019 | 12, Invalid CPC data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40020 | 13, Invalid edit data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40021 | 14, Invalid card number. | | 400 | Bad Request | INVALID_BATCH_ACTION | 40022 | 15, Batch close in progress. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40023 | 16, Invalid Ship Date. Transaction rejected because the ship date and month are invalid. Try again in a few seconds and resubmit. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40024 | 17, Invalid encryption version. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40025 | 18, E3 MSR failure. The message returned with this code is the parsed error message from the MSR data stream. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40026 | 9, Invalid Reversal Amount. Occurs if a reversal request includes a new settlement amount that is not less than the current total authorization amount. the total authorization amount is the original authorization plus any incremental authorization minus any previous reversal amounts. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40012 | 3, Invalid original transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40027 | 32, Missing KTB error. Occurs when a POS is attempting to send encrypted data, but the expected KTB value was corrupted or not received. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40028 | 33, Missing KSN error. Occurs when a POS is attempting to send encrypted data, but the expected KSN value was corrupted or not received. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40029 | 34, Invalid data received. Returned from a CreditAuth or CreditSale if both GatewayTxnId and a CardData subfield are received. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40044 | 6, Invalid original transaction for reauthorization. Returned from a CreditAuth or CreditSale if the original transaction referenced by GatewayTxnId cannot be found. this is typically because the original does not meet the criteria for the sale or authorization by GatewayTxnID. Can also be returned if the original transaction is found but the card number was written over with nulls after 30 days. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40030 | 37, Missing element. Returned if a required (or conditional) element is missing from the transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40031 | 38, Invalid auth amount. Returned from a CreditAuth or CreditSale by GatewayTxnId when the requested amount is over the threshold set for the transaction type, which is some percentage of the original amount (default = 100%). | | 400 | Bad Request | INVALID_REQUEST_DATA | 40032 | 39, Transaction rejected because EMV TLV data was invalid. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40013 | 4, Transaction already associated with batch. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40033 | 40, Transaction rejected because the referenced transaction has invalid EMV TLV data. | | 400 | Bad Request | INVALID_BATCH_ACTION | 40014 | 5, No current batch. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40015 | 6, Invalid return amount. Occurs if a credit return request is against a specific original transaction and the return amount is greater than the original transaction’s settle amount—or the return amount is zero. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40016 | 8, Bad track data. | | 400 | Bad Request | INVALID_BATCH_ACTION | 40017 | 9, No transaction associated with batch. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40108 | Action cannot be completed. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | Amount contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40162 | avs_address contains unexpected data. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40037 | Can't ADJUST a transaction without a status of CAPTURED or PREAUTHORIZED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40035 | Can't CAPTURE a transaction without a status of PREAUTHORIZED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40038 | Can't REFUND a transaction without a status of CAPTURED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40009 | Can't REVERSE a transaction without a status of CAPTURED or PREAUTHORIZED. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40010 | Can't REVERSE a transaction that is already REVERSED. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40218 | Cannot include both payment_method.id and card.number in this request. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | cashback_amount contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40006 Dependency cannot be executed. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60012 | Device error: CAPK Expired. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60001 | Device error: Card Expired. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60006 | Device error: Chip Blocked. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60008 | Device error: Chip Blocked. | | 400 | Bad Request | DEVICE_INPUT_INVALID 60007 | Device error: Chip Error. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60016 | Device error: Chip Error. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60004 | Device error: Chip Malfunction. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60009 | Device error: Chip Not Accepted. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60005 | Device error: Chip Read Error. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60011 | Device error: Chip Reject. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60010 | Device error: Chip Reject Approval. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60019 | Device error: Contactless failed. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60015 | Device error: Device memory is overflow. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60013 | Device error: No PIN Pad. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60014 | Device error: PIN Pad can’t be used. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60003 | Device error: PIN Pad Failure. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60002 | Device error: PIN Pad Timeout. | | 400 | Bad Request | USER_ABORTED | 40146 | Device error: 100002 ABORTED. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40147 | Device error: 100028 TAX EXCEED AMT. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40148 | Device error: 100003 CARDTYPE ONLY FOR CREDIT. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40149 | Device error: 100003 UNSUPPORTED CARDTYPE. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40195 | Device error: 100017 HALO EXCEED. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40203 | Device error: 100027 UNSUPPORTED COMMAND. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60017 | Device error: Tap Not Accepted. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60021 | Device error: Tap Not Accepted - Try another card. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60018 | Device error: Tap Terminated. | | 400 | Bad Request | DEVICE_INPUT_INVALID | 60020 | Device error: Transaction should be declined by device. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40066 | Documents provided in the request are too large. Please correct and retry. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40177 | entry_mode contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40179 | entry_mode contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40161 | first_name, last_name contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40114 | from_deposit_time_created cannot be greater than the to_deposit_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40093 | from_adjustment_time_created cannot be greater than the to_adjustment_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40047 | from_adjustment_time_created cannot be greater than the to_adjustment_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40132 | from_batch_time_created cannot be greater than the to_batch_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40046 | from_stage_time_created cannot be greater than the to_stage_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40122 | from_time_created cannot be greater than the to_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40113 | from_time_created cannot be greater than to_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40127 | from_time_last_updated cannot be greater than the to_time_last_updated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | Funding contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | Funding contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | gratuity_amount contains unexpected data. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40045 | Input does not have any search criteria; please provide valid search criteria. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40219 | interval_to_expire contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40115 | Invalid from_time_created; date provided shouldn't be more than 2 years. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40095 | Invalid Date: Request rejected because the date and month are invalid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40049 | Invalid Date: Request rejected because the date and month are invalid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40059 | Invalid request. No value provided in field from_adjustment_time_created, but value provided in to_adjustment_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40058 | Invalid request. No value provided in field from_stage_time_created, but value provided in to_stage_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40053 | Invalid value provided in the input field - adjustment_funding. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40097 | Invalid value provided in the input field - brand. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40051 | Invalid value provided in the input field - brand. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40206 | Invalid value provided in the input field - developer_id. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40208 | Invalid value provided in the input field - email. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40104 | Invalid value provided in the input field - masked_account_number_last4. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40209 | Invalid value provided in the input field - mobile_phone. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40054 | Invalid value provided in the input field - offset. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40103 | Invalid value provided in the input field - order. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Invalid value provided in the input field - order_by. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40056 | Invalid value provided in the input field - order_by. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40057 | Invalid value provided in the input field - order. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40100 | Invalid value provided in the input field - page. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40101 | Invalid value provided in the input field - page_size. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40055 | Invalid value provided in the input field - page_size. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40207 | Invalid value provided in the input field - site_id. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40096 | Invalid value provided in the input field - stage. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40050 | Invalid value provided in the input field - stage. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40098 | Invalid value provided in the input field - status. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40052 | Invalid value provided in the input field - status. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40105 | Invalid value provided in the input field - system.hierarchy. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40106 | Invalid value provided in the input field - system.mid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40099 | Invalid value provided in the input field - amount. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40123 | Invalid value provided in the input field - expiry_month. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40124 | Invalid value provided in the input field - expiry_year. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40131 | Invalid value provided in the input field - from_batch_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40111 | Invalid value provided in the input field - from_deposit_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40091 | Invalid value provided in the input field - from_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40120 | Invalid value provided in the input field - from_time_created_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40128 | Invalid value provided in the input field - from_time_last_updated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40090 | Invalid value provided in the input field - Id. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40125 | Invalid value provided in the input field - number. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40129 | Invalid value provided in the input field - numberfirst6. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40130 | Invalid value provided in the input field - numberlast4. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40117 | Invalid value provided in the input field - permissions. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40119 | Invalid value provided in the input field - tid. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40133 | Invalid value provided in the input field - to_batch_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40112 | Invalid value provided in the input field - to_deposit_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40092 | Invalid value provided in the input field - to_time_created. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40121 | Invalid value provided in the input field - to_time_created_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40126 | Invalid value provided in the input field - to_time_last_updated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40176 | keyedCardData is not allowed with entry_mode value SWIPE. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40229 | Merchant Configuration does not exist for `merId`,`mmaId`. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40217 | Merchant configuration does not exist for this account: `account_id`. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40041 | Merchant configuration does not exist for: `TRA_ID`, `TRA_NAME`, `COUNTRY`,`CHANNEL`, `CURRENCY``PAYMENT_METHOD` `MMA_ID` `MER_ID` | | 400 | Bad Request | INVALID_REQUEST_DATA | 40216 | Merchant configuration invalid for this account. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40107 | Multiple accounts found; a specific account must be used in the request. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40145 | Partial authorization is not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40214 | Partial reversal not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40165 | payer.date_of_birth contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40166 | payer.email contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40168 | payer.email contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40163 | payer.mobile_phone or payer.landline_phone or shipping_address.mobile_phone contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40157 | Missing/Invalid Amount | | 400 | Bad Request | INVALID_REQUEST_DATA | 40158 | Missing/Invalid Input | | 400 | Bad Request | INVALID_REQUEST_DATA | 40159 | Invalid Amount | | 400 | Bad Request | INVALID_REQUEST_DATA | 40160 | Missing Payee Name | | 400 | Bad Request | INVALID_REQUEST_DATA | 40164 | Invalid SSN | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40169 | Resubmit not allowed for approved ACH transaction. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40170 | Resubmit not allowed for non ACH/Resubmit transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40171 | Format Error field details | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40180 | Invalid request for returning ACH transaction. Use AchReturn. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40016 | Device error: 100019 TRACK INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40086 | Device error: 100003 AMOUNT TOO LARGE | | 400 | Bad Request | INVALID_REQUEST_DATA | 40199 | Device error: 999985 Too many original transactions were found; please add other conditions. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40200 | Device error: 999983 Invalid URL | | 400 | Bad Request | INVALID_REQUEST_DATA | 40201 | Device error: 999979. This merchant sends BatchAll commands frequently; please try after a while. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40205 | Device error: 100003 EXP DATE INVALID | | 400 | Bad Request | INVALID_REQUEST_DATA | 40220 | Device error: 999998 Parameter Error | | 400 | Bad Request | INVALID_REQUEST_DATA | 40221 | Device error: 999997 Invalid POS information | | 400 | Bad Request | INVALID_REQUEST_DATA | 40178 | Sum of elements of group additional charges should not be greater than transaction amount. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - guest_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - order_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - payer_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - table_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - tax_exempt_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40102 | Request contains the following invalid fields - ticket_reference. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40006 | Request contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40043 | Request contains unexpected fields: payment_method. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40136 | Request expects account_name or account_id along with `request parameters` | | 400 | Bad Request | INVALID_REQUEST_DATA | 40007 | Request expects the following conditionally mandatory fields `field_list`. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40005 | Request expects the following field `field_list`. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40211 | Request expects the following field `field_list` from the Merchant. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40211 | Request expects the following field `field_list` from the Merchant. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40005 | Request expects the following field dependency. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40075 | Retrieving a list expects a date range to be populated. | | 400 | Bad Request | MANDATORY_DATA_MISSING | 40074 | Retrieving a List of Disputes expects the from_stage_time_created populated. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40085 | Multiple Scenarios Error Code: 509   NonNumeric in Credit card number. Invalid credit card length. Card number fails Luhn Check. Invalid expiry date. Invalid expiry date. Card Expiry date in past. Expiry month invalid. That Card Number does not correspond to the card type you selected. Length of CVV data is incorrect. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40086 | Error Code: 510 That amount is greater than the max allowed. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40087 | Multiple Scenarios Error Code: 512   This transaction was already rebated and cannot be rebated again. You can't refund a delayed transaction that was not sent for settlement. You are refunding money to a customer that was not and never will be charged. Original transaction currency was not currency. | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40088 | Error code : 513 Can't void a settled transaction. | | 400 | Bad Request | INVALID_REQUEST_DATA | 50020 | error code - 508 | | 400 | Bad Request | MANDATORY_DATA_MISSING | 50021 | 502 | | 400 | Bad Request | INVALID_REQUEST_DATA | 50025 | 550 | | 400 | Bad Request | INVALID_REQUEST_DATA | 50027 | 520 | | 400 | Bad Request | INVALID_TRANSACTION_ACTION | 40036 | Transaction already captured. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | seconds_to_expire contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | tax_amount contains unexpected data. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40072 | The dispute stage, Retrieval, can be challenged with a single document only. Please correct the request and resubmit. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40174 | track data is not allowed with entry_mode value EMAIL. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40175 | track data is not allowed with entry_mode value INTERNET. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40172 | track data is not allowed with entry_mode value MANUAL. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40173 | track data is not allowed with entry_mode value PHONE. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40215 | Reversal with greater amount than original amount not supported. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40212 | Transaction declined; cannot find DCC information for the card. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40212 | Transaction declined; cannot find DCC information for the card. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40069 | Unable to accept as existing record is financially closed. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40068 | Unable to accept as existing record is Under Review. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40067 | Unable to accept for that id. Please check the Case id again. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40070 | Unable to accept; please try again after some time. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40062 | Unable to challenge as existing record is financially closed. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40061 | Unable to challenge as existing record is Under Review. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40064 | Unable to challenge as Invalid document provided in the request. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40065 | Unable to challenge as No document provided with the request. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40060 | Unable to challenge for that id. Please check the Case id again. | | 400 | Bad Request | INVALID_DISPUTE_ACTION | 40063 | Unable to challenge, please try again after some time. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40213 | user_reference contains unexpected data. | | 400 | Bad Request | INVALID_REQUEST_DATA | 40167 | user_reference contains unexpected data. | ## 401 - Not Authorized | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 401 | Not Authenticated | NOT_AUTHENTICATED | 40001 | Invalid access token. | | 401 | Not Authenticated | NOT_AUTHENTICATED | 40002 | Access token expired. | | 401 | Not Authenticated | NOT_AUTHENTICATED | 40142 | Merchant info is not active. | ## 403 - Forbidden | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40003 | Access token and merchant info do not match. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40004 | App credentials not recognized. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40212 | Permission not enabled to execute action. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40228 | Merchant Configuration does not exist for an active `merId`,`mmaId` along with required permission to execute action. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 40202 | Device error: 999962. This Host was inactivated. | | 403 | Forbidden | ACTION_NOT_AUTHORIZED | 50022 | 503 | ## 404/405 - Not Found | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 404 | Not Found | RESOURCE_NOT_FOUND | 40116 | `RESOURCE` `RESOURCE_ID` not found at this location. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40118 | `RESOURCE` `RESOURCE_ID` not found at this location. | | 404 | Not Found | n/a | n/a | API not found for requested URI. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40071 | No document found; please recheck the values provided. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40196 | Device error: 999988. This transaction does not exist. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40198 | Device error: 999986. This batch does not exist. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40008 | Transaction to action cannot be found. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40094 | Unable to locate dispute record for arn. Please recheck the value provided for arn. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40048 | Unable to locate dispute record for arn. Please recheck the value provided for arn. | | 404 | Not Found | RESOURCE_NOT_FOUND | 40073 | Unable to locate dispute record for that ID. Please recheck the ID provided. | | 405 | Not Found | INVALID_TRANSACTION_ACTION | 40222 | Device error: 999996 Invalid Terminal information | | 405 | Not Found | INVALID_TRANSACTION_ACTION | 40042 | Retrieve information about this transaction is not supported. | ## 409 - Conflict | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 409 | Conflict | DUPLICATE_TRANSACTION | 40011 | 2, Duplicate transactions | | 409 | Conflict | DUPLICATE_ACTION | 40039 | Idempotency Key seen before : id:`resource-id` status: `resource_status` | | 409 | Conflict | DUPLICATE_TRANSACTION | 40011 | Device error: 100011 DUP TRANSACTION | | 409 | Conflict | DUPLICATE_TRANSACTION | 50015 | 501, This transaction was already processed. | ## 500 - Internal Server Error | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 500 | Internal Server | SYSTEM_ERROR_DOWNSTREAM | 50053 | 129, Unable to locate User with the Credentials provided; please contact Support Team. | ## 501 - Not Implemented | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 501 | Not Implemented | UNKNOWN_RESPONSE | 50012 | `ECHO BACK MESSAGE FROM SYSTEM` | | 501 | Not Implemented | UNKNOWN_RESPONSE | 50012 | Device error: 100023 UNKNOWN ERROR/NOT FOUND/USERABORTED | | 501 | Not Implemented | SYSTEM_ERROR_DOWNSTREAM | 50045 | Unable to process your request due to an Internal System Error; please reach out to your administrator if the issue persists. | ## 502 - Bad Gateway | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50004 | 1, Gateway system error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50003 | 1, Portico error. Developers notified. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 40187 | 100006 BATCH FAILED | | 502 | Bad Gateway | UNAUTHORIZED_DOWNSTREAM | 50002 | 2, Authentication error. Verify and correct credentials. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50005 | 20, Database operation time out. May occur when Portico is trying to communicate to the database for large amounts of data. If this is due to a search, it can be corrected by adding more specific criteria. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50006 | 21, Archive database is currently unavailable. Try the transaction again later. | | 502 | Bad Gateway | UNAUTHORIZED_DOWNSTREAM | 50001 | 21, Unauthorized | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50007 | 22, Archive database is currently unavailable but an attempt was made to retrieve the data from the real-time database. If there was data available from the real-time database that met the request criteria, then it was returned. However, it is not guaranteed to be complete. The request may need to be tried again later. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50013 | 2xx, eCom error. Developers notified. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50014 | 3xx, Error with GP Systems | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50010 | 50, Processor System error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50011 | 51, Processor Configuration error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 40204 | Device error: 199999 TERMINAL ERROR | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50052 | Inactive Device (Terminal) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50053 | Device (Terminal) Configuration missing | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50054 | Insufficient privileges | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50055 | Incremental Auth Not Allowed | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50056 | Unable to process your request. Settlement In Progress. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50057 | Functionality currently not available. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50058 | Inactive Merchant (Account) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50059 | Merchant (Account) configuration missing | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50060 | Processor configuration missing | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50061 | Unique ID Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50062 | Service Not Allowed | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50063 | Authentication error. Verify and correct credentials. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50064 | System Error (PhCountry) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50065 | System Error (Bin Lookup) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50066 | System Error (Merchant Bin Lookup) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50067 | System Error (Search Merchant) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50068 | System Error (Modify Schedule) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50069 | System Error (Modify Payment) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50070 | System Error (CCust) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50071 | System Error (CCustID) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50073 | System Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50074 | Error on Host | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50075 | System Error (DB Insert) | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50076 | Card verification failed for card number. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50077 | Supported SecCodes not found for ACH. | | 502 | Bad Gateway | DUPLICATE_TRANSACTION | 50078 | Duplicate transaction (Same amount/ Account). | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50079 | General Money Transfer Decline | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50080 | Service is temporarily unavailable. Please try later. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50081 | Payment count cannot be greater than processed count. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50082 | One or more transactionID(s) in transactionPaymentTypeDetails is/are invalid. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50083 | Record Not Found | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50084 | Invalid Transaction Key | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50085 | The provided authentication credentials are not correct. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50086 | Invalid merchant details | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50087 | Host Operator not allowed | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50088 | Token services cannot be enabled until the merchant account is set up with a token zone. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50089 | Tokenization service not enabled | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50092 | Tokenization Unsuccessful | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50093 | Credit Limit Reached | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50094 | Invalid Message | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50095 | System Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50097 | Service disabled | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50098 | General Notify Decline | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50099 | Invalid Cashback amount | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50100 | Cashback Amount is not allowed for this type of transaction. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50101 | Mandatory Tags are missing. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50102 | Card Type not supported for requested service. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50103 | terminalData terminalCapability, terminalOperating Environment, cardholderAuthenticationMethod, terminalAuthenticationCapability, terminalOutputCapability, maxPinLength group is required. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50104 | cardholderAuthenticationMethod must be PIN. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50126 | Device error: 999995 Invalid POS/Terminal Pair info | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50127 | Device error: 999994 Internal Create Queue Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50128 | Device error: 999993 Terminal response does not match POS request | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50129 | Device error: 999992 Process Terminal response Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50130 | Device error: 999999 System Internal Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50130 | Device error: 999991 Internal Send Queue Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50131 | Device error: 999990 Receive Terminal response Timeout Error | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50132 | Device error: 999989 Terminal response type does not match POS request | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50133 | Device error: 999984 This Merchant is not paired with a Host | | 502 | Bad Gateway | UNAUTHORIZED_DOWNSTREAM | 50017 | error code - 505 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50018 | error code - 506 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50023 | 504 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50024 | 507 | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50018 | This resource has reached the maximum number of records that can be returned. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50026 | Transaction `TRN_id` completed successfully but there was an issue in communicating the result to the merchant. Please check the status of the transaction. | | 502 | Bad Gateway | SYSTEM_ERROR_DOWNSTREAM | 50046 | Unable to process your request due to an error with a system down stream. | ## 504 - Timeout | HTTP | HTTP Message | error_code | detailed_error_code | detailed_error_description | | -------- | -------- | -------- | -------- | -------- | | 504 | Timeout | TIMEOUT | 50008 | | No response received while executing this action. | | 504 | Timeout | TIMEOUT | 50009 | No response received from a platform while executing this action. An attempted automatic reversal failed. Please try to reverse this transaction.. | | 504 | Timeout | TIMEOUT | 50013 | No response received from a platform while executing this action. An automatic reversal was successful. Please try again. | | 504 | Timeout | TIMEOUT | 50015 | Transaction timed out. Please retry the transaction with the same X-GP-Idempotency value. | ## Country Codes Source: https://developer.globalpayments.com/resources/codes/country-codes.md # Country Codes ## ISO 3166-1 alpha-2 countries The following country codes are in accordance with the International Organization for Standardization (ISO) 3166-1 alpha-2. ```JSON { "Afghanistan": "AF", "Åland Islands": "AX", "Albania": "AL", "Algeria": "DZ", "American Samoa": "AS", "Andorra": "AD", "Angola": "AO", "Anguilla": "AI", "Antarctica": "AQ", "Antigua and Barbuda": "AG", "Argentina": "AR", "Armenia": "AM", "Aruba": "AW", "Australia": "AU", "Austria": "AT", "Azerbaijan": "AZ", "Bahamas": "BS", "Bahrain": "BH", "Bangladesh": "BD", "Barbados": "BB", "Belarus": "BY", "Belgium": "BE", "Belize": "BZ", "Benin": "BJ", "Bermuda": "BM", "Bhutan": "BT", "Bolivia: Plurinational State of": "BO", "Bonaire: Sint Eustatius and Saba": "BQ", "Bosnia and Herzegovina": "BA", "Botswana": "BW", "Bouvet Island": "BV", "Brazil": "BR", "British Indian Ocean Territory": "IO", "Brunei Darussalam": "BN", "Bulgaria": "BG", "Burkina Faso": "BF", "Burundi": "BI", "Cambodia": "KH", "Cameroon": "CM", "Canada": "CA", "Cape Verde": "CV", "Cayman Islands": "KY", "Central African Republic": "CF", "Chad": "TD", "Chile": "CL", "China": "CN", "Christmas Island": "CX", "Cocos (Keeling) Islands": "CC", "Colombia": "CO", "Comoros": "KM", "Congo": "CG", "Congo: the Democratic Republic of the": "CD", "Cook Islands": "CK", "Costa Rica": "CR", "Côte d'Ivoire": "CI", "Croatia": "HR", "Cuba": "CU", "Curaçao": "CW", "Cyprus": "CY", "Czech Republic": "CZ", "Denmark": "DK", "Djibouti": "DJ", "Dominica": "DM", "Dominican Republic": "DO", "Ecuador": "EC", "Egypt": "EG", "El Salvador": "SV", "Equatorial Guinea": "GQ", "Eritrea": "ER", "Estonia": "EE", "Eswatini": "SZ", "Ethiopia": "ET", "Falkland Islands (Malvinas)": "FK", "Faroe Islands": "FO", "Fiji": "FJ", "Finland": "FI", "France": "FR", "French Guiana": "GF", "French Polynesia": "PF", "French Southern Territories": "TF", "Gabon": "GA", "Gambia": "GM", "Georgia": "GE", "Germany": "DE", "Ghana": "GH", "Gibraltar": "GI", "Greece": "GR", "Greenland": "GL", "Grenada": "GD", "Guadeloupe": "GP", "Guam": "GU", "Guatemala": "GT", "Guernsey": "GG", "Guinea": "GN", "Guinea-Bissau": "GW", "Guyana": "GY", "Haiti": "HT", "Heard Island and McDonald Islands": "HM", "Holy See (Vatican City State)": "VA", "Honduras": "HN", "Hong Kong": "HK", "Hungary": "HU", "Iceland": "IS", "India": "IN", "Indonesia": "ID", "Iran: Islamic Republic of": "IR", "Iraq": "IQ", "Ireland": "IE", "Isle of Man": "IM", "Israel": "IL", "Italy": "IT", "Jamaica": "JM", "Japan": "JP", "Jersey": "JE", "Jordan": "JO", "Kazakhstan": "KZ", "Kenya": "KE", "Kiribati": "KI", "Korea: Democratic People's Republic of": "KP", "Korea: Republic of": "KR", "Kuwait": "KW", "Kyrgyzstan": "KG", "Lao People's Democratic Republic": "LA", "Latvia": "LV", "Lebanon": "LB", "Lesotho": "LS", "Liberia": "LR", "Libya": "LY", "Liechtenstein": "LI", "Lithuania": "LT", "Luxembourg": "LU", "Macao": "MO", "Macedonia: the Former Yugoslav Republic of": "MK", "Madagascar": "MG", "Malawi": "MW", "Malaysia": "MY", "Maldives": "MV", "Mali": "ML", "Malta": "MT", "Marshall Islands": "MH", "Martinique": "MQ", "Mauritania": "MR", "Mauritius": "MU", "Mayotte": "YT", "Mexico": "MX", "Micronesia: Federated States of": "FM", "Moldova: Republic of": "MD", "Monaco": "MC", "Mongolia": "MN", "Montenegro": "ME", "Montserrat": "MS", "Morocco": "MA", "Mozambique": "MZ", "Myanmar": "MM", "Namibia": "NA", "Nauru": "NR", "Nepal": "NP", "Netherlands": "NL", "New Caledonia": "NC", "New Zealand": "NZ", "Nicaragua": "NI", "Niger": "NE", "Nigeria": "NG", "Niue": "NU", "Norfolk Island": "NF", "Northern Mariana Islands": "MP", "Norway": "NO", "Oman": "OM", "Pakistan": "PK", "Palau": "PW", "Palestine: State of": "PS", "Panama": "PA", "Papua New Guinea": "PG", "Paraguay": "PY", "Peru": "PE", "Philippines": "PH", "Pitcairn": "PN", "Poland": "PL", "Portugal": "PT", "Puerto Rico": "PR", "Qatar": "QA", "Réunion": "RE", "Romania": "RO", "Russian Federation": "RU", "Rwanda": "RW", "Saint Barthélemy": "BL", "Saint Helena: Ascension and Tristan da Cunha": "SH", "Saint Kitts and Nevis": "KN", "Saint Lucia": "LC", "Saint Martin (French part)": "MF", "Saint Pierre and Miquelon": "PM", "Saint Vincent and the Grenadines": "VC", "Samoa": "WS", "San Marino": "SM", "Sao Tome and Principe": "ST", "Saudi Arabia": "SA", "Senegal": "SN", "Serbia": "RS", "Seychelles": "SC", "Sierra Leone": "SL", "Singapore": "SG", "Sint Maarten (Dutch part)": "SX", "Slovakia": "SK", "Slovenia": "SI", "Solomon Islands": "SB", "Somalia": "SO", "South Africa": "ZA", "South Georgia and the South Sandwich Islands": "GS", "South Sudan": "SS", "Spain": "ES", "Sri Lanka": "LK", "Sudan": "SD", "Suriname": "SR", "Svalbard and Jan Mayen": "SJ", "Sweden": "SE", "Switzerland": "CH", "Syrian Arab Republic": "SY", "Taiwan: Province of China": "TW", "Tajikistan": "TJ", "Tanzania: United Republic of": "TZ", "Thailand": "TH", "Timor-Leste": "TL", "Togo": "TG", "Tokelau": "TK", "Tonga": "TO", "Trinidad and Tobago": "TT", "Tunisia": "TN", "Turkey": "TR", "Turkmenistan": "TM", "Turks and Caicos Islands": "TC", "Tuvalu": "TV", "Uganda": "UG", "Ukraine": "UA", "United Arab Emirates": "AE", "United Kingdom": "GB", "United States": "US", "United States Minor Outlying Islands": "UM", "Uruguay": "UY", "Uzbekistan": "UZ", "Vanuatu": "VU", "Venezuela: Bolivarian Republic of": "VE", "Viet Nam": "VN", "Virgin Islands: British": "VG", "Virgin Islands: U.S.": "VI", "Wallis and Futuna": "WF", "Western Sahara": "EH", "Yemen": "YE", "Zambia": "ZM", "Zimbabwe": "ZW" } ``` ## ISO 3166-1 countries - numeric The following country codes are in accordance with ISO 3166-1 numeric code. ```JSON { "Afghanistan": "004", "Åland Islands": "248", "Albania": "008", "Algeria": "012", "American Samoa": "016", "Andorra": "020", "Angola": "024", "Anguilla": "660", "Antarctica": "010", "Antigua and Barbuda": "028", "Argentina": "032", "Armenia": "051", "Aruba": "533", "Australia": "036", "Austria": "040", "Azerbaijan": "031", "Bahamas": "044", "Bahrain": "048", "Bangladesh": "050", "Barbados": "052", "Belarus": "112", "Belgium": "056", "Belize": "084", "Benin": "204", "Bermuda": "060", "Bhutan": "064", "Bolivia: Plurinational State of": "068", "Bonaire: Sint Eustatius and Saba": "535", "Bosnia and Herzegovina": "070", "Botswana": "072", "Bouvet Island": "074", "Brazil": "076", "British Indian Ocean Territory": "086", "Brunei Darussalam": "096", "Bulgaria": "100", "Burkina Faso": "854", "Burundi": "108", "Cambodia": "116", "Cameroon": "120", "Canada": "124", "Cape Verde": "132", "Cayman Islands": "136", "Central African Republic": "140", "Chad": "148", "Chile": "152", "China": "156", "Christmas Island": "162", "Cocos (Keeling) Islands": "166", "Colombia": "170", "Comoros": "174", "Congo": "178", "Congo: the Democratic Republic of the": "180", "Cook Islands": "184", "Costa Rica": "188", "Côte d'Ivoire": "384", "Croatia": "191", "Cuba": "192", "Curaçao": "531", "Cyprus": "196", "Czech Republic": "203", "Denmark": "208", "Djibouti": "262", "Dominica": "212", "Dominican Republic": "214", "Ecuador": "218", "Egypt": "818", "El Salvador": "222", "Equatorial Guinea": "226", "Eritrea": "232", "Estonia": "233", "Eswatini": "748", "Ethiopia": "231", "Falkland Islands (Malvinas)": "238", "Faroe Islands": "234", "Fiji": "242", "Finland": "246", "France": "250", "French Guiana": "254", "French Polynesia": "258", "French Southern Territories": "260", "Gabon": "266", "Gambia": "270", "Georgia": "268", "Germany": "276", "Ghana": "288", "Gibraltar": "292", "Greece": "300", "Greenland": "304", "Grenada": "308", "Guadeloupe": "312", "Guam": "316", "Guatemala": "320", "Guernsey": "831", "Guinea": "324", "Guinea-Bissau": "624", "Guyana": "328", "Haiti": "332", "Heard Island and McDonald Islands": "334", "Holy See (Vatican City State)": "336", "Honduras": "340", "Hong Kong": "344", "Hungary": "348", "Iceland": "352", "India": "356", "Indonesia": "360", "Iran: Islamic Republic of": "364", "Iraq": "368", "Ireland": "372", "Isle of Man": "833", "Israel": "376", "Italy": "380", "Jamaica": "388", "Japan": "392", "Jersey": "832", "Jordan": "400", "Kazakhstan": "398", "Kenya": "404", "Kiribati": "296", "Korea: Democratic People's Republic of": "408", "Korea: Republic of": "410", "Kuwait": "414", "Kyrgyzstan": "417", "Lao People's Democratic Republic": "418", "Latvia": "428", "Lebanon": "422", "Lesotho": "426", "Liberia": "430", "Libya": "434", "Liechtenstein": "438", "Lithuania": "440", "Luxembourg": "442", "Macao": "446", "Macedonia: the Former Yugoslav Republic of": "807", "Madagascar": "450", "Malawi": "454", "Malaysia": "458", "Maldives": "462", "Mali": "466", "Malta": "470", "Marshall Islands": "584", "Martinique": "474", "Mauritania": "478", "Mauritius": "480", "Mayotte": "175", "Mexico": "484", "Micronesia: Federated States of": "583", "Moldova: Republic of": "498", "Monaco": "492", "Mongolia": "496", "Montenegro": "499", "Montserrat": "500", "Morocco": "504", "Mozambique": "508", "Myanmar": "104", "Namibia": "516", "Nauru": "520", "Nepal": "524", "Netherlands": "528", "New Caledonia": "540", "New Zealand": "554", "Nicaragua": "558", "Niger": "562", "Nigeria": "566", "Niue": "570", "Norfolk Island": "574", "Northern Mariana Islands": "580", "Norway": "578", "Oman": "512", "Pakistan": "586", "Palau": "585", "Palestine: State of": "275", "Panama": "591", "Papua New Guinea": "598", "Paraguay": "600", "Peru": "604", "Philippines": "608", "Pitcairn": "612", "Poland": "616", "Portugal": "620", "Puerto Rico": "630", "Qatar": "634", "Réunion": "638", "Romania": "642", "Russian Federation": "643", "Rwanda": "646", "Saint Barthélemy": "652", "Saint Helena: Ascension and Tristan da Cunha": "654", "Saint Kitts and Nevis": "659", "Saint Lucia": "662", "Saint Martin (French part)": "663", "Saint Pierre and Miquelon": "666", "Saint Vincent and the Grenadines": "670", "Samoa": "882", "San Marino": "674", "Sao Tome and Principe": "678", "Saudi Arabia": "682", "Senegal": "686", "Serbia": "688", "Seychelles": "690", "Sierra Leone": "694", "Singapore": "702", "Sint Maarten (Dutch part)": "534", "Slovakia": "703", "Slovenia": "705", "Solomon Islands": "090", "Somalia": "706", "South Africa": "710", "South Georgia and the South Sandwich Islands": "239", "South Sudan": "728", "Spain": "724", "Sri Lanka": "144", "Sudan": "729", "Suriname": "740", "Svalbard and Jan Mayen": "744", "Sweden": "752", "Switzerland": "756", "Syrian Arab Republic": "760", "Taiwan: Province of China": "158", "Tajikistan": "762", "Tanzania: United Republic of": "834", "Thailand": "764", "Timor-Leste": "626", "Togo": "768", "Tokelau": "772", "Tonga": "776", "Trinidad and Tobago": "780", "Tunisia": "788", "Turkey": "792", "Turkmenistan": "795", "Turks and Caicos Islands": "796", "Tuvalu": "798", "Uganda": "800", "Ukraine": "804", "United Arab Emirates": "784", "United Kingdom": "826", "United States": "840", "United States Minor Outlying Islands": "581", "Uruguay": "858", "Uzbekistan": "860", "Vanuatu": "548", "Venezuela: Bolivarian Republic of": "862", "Viet Nam": "704", "Virgin Islands: British": "092", "Virgin Islands: U.S.": "850", "Wallis and Futuna": "876", "Western Sahara": "732", "Yemen": "887", "Zambia": "894", "Zimbabwe": "716" } ``` ## ISO 3166-2 states/subdivisions For standardized state and subdivision ISO 3166-2 codes for each country, see the [ISO Online Browsing Platform](https://www.iso.org/obp/ui/#search). For example: See codes for [Ireland](https://www.iso.org/obp/ui/#iso:code:3166:IE) or [Great Britain](https://www.iso.org/obp/ui/#iso:code:3166:GB). **Format:** Use the country subdivision code defined in ISO 3166-2 minus the country code itself. For example, Illinois = IL. **For European merchants:** If the state is applicable for the billing address country, it's required for Strong Customer Authentication (SCA). ## Currency Codes Source: https://developer.globalpayments.com/resources/codes/currency-codes.md # Currency Codes For zero exponent currencies, the lowest denomination must be submitted. For example: 265,219.28 ISK should be submitted as 265219. ```JSON { "Afghani": "AFN", "Algerian Dinar": "DZD", "Argentine Peso": "ARS", "Armenian Dram": "AMD", "Aruban Florin": "AWG", "Australian Dollar": "AUD", "Azerbaijan Manat": "AZN", "Bahamian Dollar": "BSD", "Bahraini Dinar": "BHD", "Baht": "THB", "Balboa": "PAB", "Barbados Dollar": "BBD", "Belarusian Ruble": "BYN", "Belize Dollar": "BZD", "Bermudian Dollar": "BMD", "Bolívar": "VEF", "Boliviano": "BOB", "Brazilian Real": "BRL", "Brunei Dollar": "BND", "Bulgarian Lev": "BGN", "Burundi Franc": "BIF", "Cabo Verde Escudo": "CVE", "Canadian Dollar": "CAD", "Chilean Peso": "CLP", "Colombian Peso": "COP", "Comorian Franc ": "KMF", "Congolese Franc": "CDF", "Cordoba Oro": "NIO", "Costa Rican Colon": "CRC", "Cuban Peso": "CUP", "Czech Koruna": "CZK", "Dalasi": "GMD", "Danish Krone": "DKK", "Denar": "MKD", "Djibouti Franc": "DJF", "Dobra": "STD", "Dominican Peso": "DOP", "Dong": "VND", "East Caribbean Dollar": "XCD", "Egyptian Pound": "EGP", "El Salvador Colon": "SVC", "Ethiopian Birr": "ETB", "Euro": "EUR", "Falkland Islands Pound": "FKP", "Fiji Dollar": "FJD", "Forint": "HUF", "Ghana Cedi": "GHS", "Gibraltar Pound": "GIP", "Gourde": "HTG", "Guarani": "PYG", "Guinean Franc": "GNF", "Guyana Dollar": "GYD", "Hong Kong Dollar": "HKD", "Hryvnia": "UAH", "Iceland Krona": "ISK", "Indian Rupee": "INR", "Iranian Rial": "IRR", "Iraqi Dinar": "IQD", "Jamaican Dollar": "JMD", "Jordanian Dinar": "JOD", "Kenyan Shilling": "KES", "Kina": "PGK", "Kuna": "HRK", "Kuwaiti Dinar": "KWD", "Kwanza": "AOA", "Kyat": "MMK", "Lao Kip": "LAK", "Lari": "GEL", "Lebanese Pound": "LBP", "Lek": "ALL", "Lempira": "HNL", "Leone": "SLL", "Liberian Dollar": "LRD", "Libyan Dinar": "LYD", "Lilangeni": "SZL", "Loti": "LSL", "Malagasy Ariary": "MGA", "Malawi Kwacha": "MWK", "Malaysian Ringgit": "MYR", "Mauritius Rupee": "MUR", "Mexican Peso": "MXN", "Moldovan Leu": "MDL", "Moroccan Dirham": "MAD", "Mozambique Metical": "MZN", "Mvdol": "BOV", "Naira": "NGN", "Nakfa": "ERN", "Namibia Dollar": "NAD", "Nepalese Rupee": "NPR", "Netherlands Antillean Guilder": "ANG", "New Israeli Sheqel": "ILS", "New Taiwan Dollar": "TWD", "New Zealand Dollar": "NZD", "Ngultrum": "BTN", "North Korean Won": "KPW", "Norwegian Krone": "NOK", "Ouguiya": "MRO", "Pa’anga": "TOP", "Pakistan Rupee": "PKR", "Pataca": "MOP", "Peso Convertible": "CUC", "Peso Uruguayo": "UYU", "Philippine Peso": "PHP", "Pound Sterling": "GBP", "Pula": "BWP", "Qatari Rial": "QAR", "Quetzal": "GTQ", "Rand": "ZAR", "Rial Omani": "OMR", "Riel": "KHR", "Romanian Leu": "RON", "Rufiyaa": "MVR", "Rupiah": "IDR", "Russian Ruble": "RUB", "Rwanda Franc": "RWF", "Saint Helena Pound": "SHP", "Saudi Riyal": "SAR", "Serbian Dinar": "RSD", "Seychelles Rupee": "SCR", "Singapore Dollar": "SGD", "Sol": "PEN", "Solomon Islands Dollar": "SBD", "Som": "KGS", "Somali Shilling": "SOS", "Somoni": "TJS", "South Sudanese Pound": "SSP", "Sri Lanka Rupee": "LKR", "Sucre": "XSU", "Sudanese Pound": "SDG", "Surinam Dollar": "SRD", "Swedish Krona": "SEK", "Swiss Franc": "CHF", "Syrian Pound": "SYP", "Taka": "BDT", "Tala": "WST", "Tanzanian Shilling": "TZS", "Tenge": "KZT", "Trinidad and Tobago Dollar": "TTD", "Tugrik": "MNT", "Tunisian Dinar": "TND", "Turkish Lira": "TRY", "Turkmenistan New Manat": "TMT", "UAE Dirham": "AED", "Uganda Shilling": "UGX", "Unidad de Fomento": "CLF", "Unidad de Valor Real": "COU", "US Dollar": "USD", "Uzbekistan Sum": "UZS", "Vatu": "VUV", "Won": "KRW", "Yemeni Rial": "YER", "Yen": "JPY", "Yuan Renminbi": "CNY", "Zambian Kwacha": "ZMW", "Zimbabwe Dollar": "ZWL", "Zloty": "PLN" } ``` ## Support Source: https://developer.globalpayments.com/support/overview.md # Support Please click the link below for Integration, Sales, Terminal and support moving to production. ### [Integration Support](https://developer.globalpayments.com/support/integration-support) Get help with technical questions during your integration. ### [Sales Support](https://developer.globalpayments.com/support/sales) Talk to our team to start your integration journey. ### [POS Terminal Support](https://developer.globalpayments.com/support/terminal) Get assistance for Point of Sale terminal related issues. ### [Integration Validation](https://developer.globalpayments.com/support/integration-support) Ready to go live, we can guide you from Sandbox to Production. ### [Help Center](https://help.globalpayments.com) Access documentation for our suite of products. ### [Frequently Asked Questions](https://developer.globalpayments.com/support/FAQs.md) Your biggest questions answered. ### [Changelog](https://developer.globalpayments.com/changelog) See what's new with your favorite products. ### [Blog](https://developer.globalpayments.com/blog/overview) Written by developers for developers. ## Integration Validation Source: https://developer.globalpayments.com/support/integration-valid.md # Integration Validation to Go Live We're happy to help you move from our testing Sandbox to a live Production environment. This guide will help you get started. ## Submit validation form To process your request faster, please fill out the following Validation Form so that we can verify that you've completed the necessary preliminary steps. **Are you using 3D Secure?** First, [download this spreadsheet](https://developer.globalpayments.com/sites/default/files/2024-06/Global-Payments-Validation-Checklist_12June2024.xlsx) to confirm whether you received the correct API responses. Then attach the completed spreadsheet to the Validation Form. **Are you using Recurring Payments?** First, [download this spreadsheet](https://developer.globalpayments.com/sites/default/files/2022-12/Global-Payments-Recurring-Payments-Validation_16Nov2022.xlsx) to confirm whether you received the correct API responses. Then attach the completed spreadsheet to the Validation Form. > To use this form, you must be a registered user of this Developer Portal and logged in. To learn how to get registered, see our [Getting Started](https://developer.globalpayments.com/docs/getting-started/register.md) article. > This form is for merchants integrating directly with our API or via an SDK. Validation includes basic checks. However, based on the complexity of your integration, we may ask you to run additional test scenarios. For Enterprise merchants, contact your support team or account manager to see if there are any additional testing requirements. [Start Validation Form](https://developer.globalpayments.com/form/gp-api-activity-validation) ## What happens next? After you submit the form, give us some time to review your information and also to take a look at your Sandbox activity. If everything passes our validation checks, we'll create API Production credentials for you (an app id and an app key) and will be in touch to exchange them. In most cases, you'll hear back from us within 24 hours. If you don't already have a Merchant Service Agreement in place, please visit the [Global Payments website](https://www.globalpayments.com/) to sign up. If you're coding to implement customer-present transactions, please email [certintake@globalpay.com](mailto:certintake@globalpay.com) to let us know. ## What do I do once I go live? You'll need to do a little testing in Production and process a real transaction. Confirm that your integration works as expected and also that the merchant's funds are deposited into the correct bank account. ## Frequently asked questions For more information on going live or for other frequently asked questions about our Unified Payments REST API, see our [FAQ](https://developer.globalpayments.com/support/FAQs.md) page. ## Frequently Asked Questions Source: https://developer.globalpayments.com/support/FAQs.md # FAQs We've compiled the most frequently asked questions we've received from our integrators who use the Unified Payments REST API (formerly known as GP-API or UCP). If you don't see your question below, contact [Integration Support](https://developer.globalpayments.com/support/integration-support). ## Access Tokens ### Time to live #### Can I control when an access token expires? Yes. You can set the `interval_to_expire` or the `seconds_to_expire` in the access token create call. The default is 24 hours, or 86,399 seconds. For steps on how to create an access token, see [Access Tokens](https://developer.globalpayments.com/api/definitions/access-tokens.md) in API Definitions. #### How long should an access token live for? The default on our system is 24 hours. We recommend never to go over that. The shorter the time period, the less risk associated with a compromised token being used to execute actions. Some merchant integrations use a per-transaction interval. Some replace it every 30 minutes for up to 24 hours. However, it's up to you to decide how long the access token should live. Consider things like security requirements, customers, and the needs of your business. If you're unsure, we recommend setting it for **1 hour or less**. Whatever interval you choose, it's important that your integration can automatically handle 401 Not Authenticated HTTP responses. ## Authentication #### What are the steps needed to make an online sale using 3D Secure? For specific steps using either direct API integration or our Hosted Fields solution, see our [Browser Authentication for 3D Secure](https://developer.globalpayments.com/docs/risk-management/3D-secure/browser-authentication-guide.md) article. Here's the basic flow: 1. Tokenize card 2. Check version 3. Initiate authentication 4. Obtain result 5. Transaction authorization #### Can the API handle all versions of 3D Secure? Yes. Our Unified Payments REST API handles all versions of 3D Secure 2. This ensures that one integration works with whatever version is used in your region. For more information, see our [3D Secure & SCA - Overview](https://developer.globalpayments.com/docs/risk-management/3D-secure/overview.md) article. ## Configuration ### Accounts #### What are accounts? An account defines a configured capability a merchant has when using our API. Some examples of capabilities include Transaction Processing, Tokenization, Dispute Management, and Settlement Reporting. #### What's the significance of the account_name field required in each call? The `account_name` field defines the merchant's API configuration capability and identifies what data the API request can access. Some examples of `account_name` field values include: * `transaction_processing` * `tokenization` * `dispute_management` * `settlement_reporting` ## Disputes ### Settled versus real-time #### What is the difference between settled disputes and real-time disputes? Here's how we define the two: * *Settled disputes* are those disputes that directly affect your bank account and have a financial impact on you. * *Active disputes* are a real-time view of your disputes and what status each one has. You can implement Dispute Management actions via the API to challenge, accept, and report on all your disputes. For more information, see our [Disputes Management](https://developer.globalpayments.com/docs/operations/disputes-management-overview.md) article. #### Why is the settled disputes response structure different from active disputes? Settled disputes and active disputes originate from different accounts. Therefore, the API endpoint and response structure is slightly different. ## Integration ### Process #### What do I need to go to a live Production environment? We're happy to help you move from our Sandbox to Production. But first, there's some information we'll need from you: * Your Sandbox App ID * The API capabilities you want to use * Your Ecom API Client ID if you're currently using Ecommerce XML API * Whether you want to use Settlement Reporting and whether we are your Acquirer (required to use this capability) Once you've provided us with the above information, we'll take a look at your Sandbox activity. If everything looks good on your side and passes our validation checks, we'll create API Production credentials for you and will be in touch to exchange them. In most cases, you'll hear back from us within 24 hours. #### How do I create a real account, not a Sandbox account? First, you'll need to fill out a Merchant Service Agreement with us, which will enable you to get paid for transactions successfully processed via the API. **To get started, visit our main website: [https://www.globalpaymentsinc.com/](https://www.globalpaymentsinc.com/)** Your integration will be validated based on the features you need. Once validation passes, we'll contact you to exchange Production credentials. In most cases, you'll hear back from us within 24 hours. If you're coding to implement customer-present transactions, please email [certintake@globalpay.com](mailto:certintake@globalpay.com) to let us know. #### What do I need to do once I go live? First, congratulations on going live (or at least planning to)! Second, you'll need to do a little testing in Production and process a real transaction. Confirm that your integration works as expected and also that the merchant's funds are deposited into the correct bank account. ## Settlement Reporting #### Can I use Settlement Reporting in the API if I use another Acquirer? No. It's not possible for us to retrieve settlement data from another bank. You'll need to use us as your Acquirer if you want to use this feature. #### Why does Settlement Reporting return a list of test transactions instead of real ones? In Sandbox, the settlement data is delivered via a standalone test harness, and reporting doesn't generate from integration activity. In other words, the transactions you execute in Sandbox aren't batched and flagged for settlement. However, the data does reflect Production. #### What's the difference between Real-Time and Settlement Reporting? Here's how we define the two: * *Real-Time Reporting* returns a report of all transactions done in real time for a merchant. A transaction can be seen in the report 5 seconds after the transaction is done. In order to use this API feature, the merchant must process their transactions through the API. * *Settlement Reporting* returns a list of all transactions that have affected a merchant's bank account for a certain period of time. This data is available the day after a transaction has been processed. In order to use this API feature, the merchant must use us as their Acquirer. ## Specifications ### OpenAPI Specification (OAS) #### Where can I find a list of field definitions? We've included a list of field definitions on this Developer Portal in the API Explorer (see [API Definitions](https://developer.globalpayments.com/api/definitions/overview.md)). #### Where can I find a list of all request and response parameters for each of the APIs? We've included a list of request and response parameters in the payload of each of the APIs in the [API Explorer](https://developer.globalpayments.com/api/overview.md). * [Access token](https://developer.globalpayments.com/api/access-token.md) * [Transactions](https://developer.globalpayments.com/api/transactions.md) * [Verifications](https://developer.globalpayments.com/api/verifications.md) * [Stored Payment Methods](https://developer.globalpayments.com/api/payment-methods-tokenization.md) * [Deposits](https://developer.globalpayments.com/api/deposits) * [Disputes](https://developer.globalpayments.com/api/disputes.md) * [Actions](https://developer.globalpayments.com/api/actions.md) * [Authentications](https://developer.globalpayments.com/api/authentications.md) ## Transactions ### Real-Time Reporting #### Why aren't successful transactions displayed on our reporting portal? Most likely it's because you're using Sandbox and not Production. In Sandbox, the transactions are available via the Reporting API but not the portal. However, once an integration goes live, the transactions are available in the reporting portal. #### What is the difference between Real-Time and Settlement Reporting? See our answer in the [Settlement Reporting](#settlement-reporting) section.