# UpGate API documentation UpGate is a world-class payment orchestration platform. Our mission is to simplify payments and make it easier for merchants to reach global customers. We use the latest technologies to help you achieve better conversions and global user monetization. Version: 1.2 ## Servers Sandbox UpGate API ``` https://api.sandbox.upgate.com/v1 ``` ## Security ### X-Api-Key Type: apiKey In: header Name: X-Api-Key ## Download OpenAPI description [UpGate API documentation](https://docs.upgate.com/_bundle/openapi.yaml) ## Example ### Sale request - [POST /checkout](https://docs.upgate.com/openapi/sale-request-examples/checkout_request.md): This endpoint allows the creation of a single, one-time payment. Upon successful completion, the system will return a payment token in the callback response. This token can later be used to initiate subsequent Merchant-Initiated Transactions (MIT) or Customer-Initiated Transactions (CIT) associated with the original payment. ## Examples ### Subscription request - [POST /checkout ](https://docs.upgate.com/openapi/subscription-request-examples/subscription_request.md): This endpoint allows you to create a subscription within the Upgate system. Once the subscription is successfully created, the user will be charged automatically according to the schedule specified in the request. You can also combine recurring (rebill) payments with a one-time payment in the same flow. Refer to the Use Cases section for detailed examples and implementation guidance. After a successful request, you will receive two callback notifications, one for the initial transaction (TRANSACTION type) snd one for the subscription update (SUBSCRIPTION type) ### Update subscription by merchant product id - [PATCH /subscription](https://docs.upgate.com/openapi/subscription-request-examples/updatesubscriptionbymerchantproductid.md) ### Get subscription by transaction ID - [GET /subscription](https://docs.upgate.com/openapi/subscription-request-examples/getsubscriptionbyfilters.md) ### Get subscription by subscription id - [GET /subscription/{subscriptionId}](https://docs.upgate.com/openapi/subscription-request-examples/getsubscriptionbysubscriptionid.md) ### Update subscription by subscription id - [PATCH /subscription/{subscriptionId}](https://docs.upgate.com/openapi/subscription-request-examples/updatesubscriptionbysubscriptionid.md) ## Subsequent request examples ### MIT Sale request - [POST /mit-sale](https://docs.upgate.com/openapi/subsequent-request-examples/mit_sale_request.md): This endpoint allows you to create a subsequent transaction using an existing payment token. It is typically used when you want to manage recurring or rebill payments on your side, or when you want to enable one-click payments for your customers without requiring them to re-enter their payment details. To initiate a subsequent transaction, provide the payment token ID received from a previous Sale request. ### MIT Authorize request - [POST /mit-authorize](https://docs.upgate.com/openapi/subsequent-request-examples/mit_authorize_request.md) ### CIT Sale request - [POST /cit-sale](https://docs.upgate.com/openapi/subsequent-request-examples/cit_sale_request.md): TThis endpoint allows you to create a subsequent transaction that triggers a 3-D Secure (3DS) authentication flow for your users. It can be used when you want customers to actively confirm and provide consent for the charge, ensuring additional security and compliance with authentication requirements. Similar to the standard subsequent transaction, this endpoint enables you to manage rebills on your end or offer one-click payments without requiring users to re-enter their card details. Use the payment token ID received from the original Sale request to initiate this transaction. ## Example ### Fetch transactions by filters - [GET /transaction](https://docs.upgate.com/openapi/transactions-history-requests-examples/transaction_list.md): When you request a list of transactions, the response is limited to the maximum number of records you specified in the query. If there are more transactions available beyond that limit, you don’t need to start over. Instead, you can continue fetching results from where you left off by including the prev_id parameter in your next request. ## Example ### Refund request - [POST /refund](https://docs.upgate.com/openapi/refund-request-examples/refund_request.md): Request to refund transaction ## Other request examples ### Authorize request (deprecated) - [POST /authorize](https://docs.upgate.com/openapi/other-request-examples/authorize_request.md) ### Recurring transaction - [POST /recurring](https://docs.upgate.com/openapi/other-request-examples/recurring.md) ### Token request - [POST /token](https://docs.upgate.com/openapi/other-request-examples/token_request.md): Request to create token ### Payout request - [POST /payout](https://docs.upgate.com/openapi/other-request-examples/payout_request.md) ### Sale request (deprecated) - [POST /sale](https://docs.upgate.com/openapi/other-request-examples/sale_request.md)