Skip to content

Create payment

Request

This endpoint is used to initiate a payment for a specific payment method. You can choose between two integration types: HOSTED: Returns a URL for a payment method-specific hosted form, where the customer is redirected to securely complete the payment. DIRECT: Enables server-to-server communication, where you manage the payment UI and directly interacts with the API to process payments.

Note that not all payment methods support both HOSTED and DIRECT integration types. Some support only one of these options, while others support both. For detailed information about the supported integration types for each payment method, refer to the payment method-specific documentation in our product guide.

Security
bearer and basic and apiKey
Headers
Idempotency-Keystring

A unique key provided by you to ensure that a particular operation is not processed multiple times in case of retries.

Bodyapplication/jsonrequired
transIdstring, <= 64 charactersrequired

Transaction ID created in your system. It should be unique for each payment.

For iDEAL only a-z, A-Z, 0-9 characters are permitted and the length should be <= 24

externalIntegrationIdstring

External integration identifier

refNrstring

Your unique reference number for the specific operation. You can pass this value to reconcile different operations in a payment (authorization, capture, refund, etc) individually. It is recommended to limit the length to 18 characters so that it works for all payment methods. Allowed characters: (A-Z, a-z) and digits (0-9)

amountobject(amount)
languagestring, = 2 characters

Language code to determine the language of the payment form and customer communication where applicable. Use 2 letter ISO language codes for common languages such as en for English, de for German, etc. For variations of languages use 5 letter code such as fr-be for French language in Belgium.

captureMethodobject(captureMethod)
credentialOnFileobject(credentialOnFile)
orderobject(order)
urlsobject(urls)
billingAddressobject(billingAddress)
shippingobject(shipping)
statementDescriptorstring

Short, clear description of the transaction that appears on the customer's statement. It is recommend sending a maximum of 22 characters. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters / - ? : ( ) . , +

customerInfoobject(customerInfo)

Information about the customer.

expirationTimeany, (date-time)

Transaction expiry timestamp (UTC).

fraudDataobject(fraudData)
paymentFacilitatorobject(paymentFacilitator)

Object specifying SubMerchant (Payment Facilitator) details.

browserInfoobject(browserInfo)
deviceobject(device)
channelstring

Specifies the sales or interaction channel through which the transaction is initiated.

Enum:"ECOM""MOTO""APP""PAYBYLINK""POS"
metadataobject

A collection of additional custom data provided by you to store extra information about the transaction. This is a set of JSON key value pairs passed by you. Paygate will return the data as it is in the response.

referencePayIdstring

Payment ID referring to the previous related request. Only applicable for PFConnect Authorization and Subsequent card installment payments.

partialPaymentboolean

Defines if the payment is a partial payment. Possible values: true or false.

paymentMethodsobject(paymentCreate)required
curl -i -X POST \
  -u '<username>:<password>' \
  https://test.computop-paygate.com/api/v2/payments \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "transId": "6B29FC40-1067-B31D-00DD010662DA",
    "refNr": "REF20250827-02",
    "amount": {
      "value": 1000,
      "currency": "EUR"
    },
    "language": "en",
    "urls": {
      "return": "https://return-url.com",
      "webhook": "https://webhook-url.com"
    },
    "order": {
      "description": "orderDsec",
      "items": [
        {
          "name": "High-performance laptop",
          "quantity": 1
        },
        {
          "name": "Pillow",
          "quantity": 5
        }
      ]
    },
    "device": {
      "deviceType": "SMARTPHONE"
    },
    "metadata": {
      "request1": "kvp with rest api",
      "request2": "amount+currency",
      "additionalProp3": "alipay paytype"
    },
    "paymentMethods": {
      "type": "ALIPAY",
      "integrationType": "HOSTED",
      "alipay": {
        "account": {
          "accountHolderName": "Myrat Kaka"
        },
        "sellingPoint": "alipaySeelingPoint",
        "service": "alipayppService",
        "hotelInfo": {
          "name": "INN",
          "checkInTime": [
            "2026-01-16T09:54:30.660Z",
            "2026-02-16T09:54:30.660Z"
          ],
          "checkOutTime": [
            "2026-01-16T09:54:30.660Z",
            "2026-12-16T09:54:30.660Z",
            "2026-10-16T09:54:30.660Z"
          ]
        }
      }
    }
  }'

Responses

Created

Bodyapplication/json
payIdstring

A unique identifier assigned by Computop Paygate to the payment. This ID remains constant throughout the lifecycle of the payment and is used to track and reference the payment across all subsequent operations, such as authorization, capture, refund, or cancellation.

merchantIdstring

Merchant ID assigned by Computop Paygate.

transIdstring

Transaction ID provided by you in the request.

xIdstring

A unique identifier assigned by Computop Paygate for each operation in the payment. For example: xId will be different for the authorization and capture operations of a payment whereas payId will be same.

refNrstring

Reference number provided by you in the request.

statusstring

Status of the transaction.

responseCodestring

Response code of the transaction.

responseDescriptionstring

Response description associated with the response code.

paymentPlanIdstring

Payment plan unique id.

metadataobject

A collection of additional custom data provided by you to store extra information about the transaction. This is a set of JSON key value pairs as you passed in the request.

orderobject(order)
customerInfoobject(customerInfo)

Information about the customer.

paymentMethodsobject(paymentCreateResponse)
Response
{ "merchantId": "test_merchant_id", "payId": "6B29FC4093DD010662DE", "xId": "6B29FC4093DD010662DB", "transId": "TRANS-987654321", "refNr": "REF-2025-001", "status": "OK", "responseCode": "00000000", "responseDescription": "success", "paymentMethods": { "amazonPay": { … } } }