Create payment

Run a sale or pre-authorization. You can also:

  • Save the customer’s payment details.
  • Set up recurring billing.
  • Process the transaction offline.

Headers

AuthorizationstringRequired

Bearer authentication of the form Bearer <token>, where token is your auth token.

Idempotency-KeystringRequired

Unique identifier that you generate for each request. You must use the UUID v4 format for the identifier. For more information about the idempotency key, go to Idempotency.

Request

This endpoint expects an object.
channelenumRequired

Channel that the merchant used to receive the payment details.

Allowed values:
processingTerminalIdstringRequired>=4 characters<=50 characters

Unique identifier that we assigned to the terminal.

orderobjectRequired

Object that contains information about the payment.

paymentMethodobjectRequired

Object that contains information about the customer’s payment details.

operatorstringOptional>=0 characters<=50 characters

Operator who ran the transaction.

customerobjectOptional

Customer contact and address details.

ipAddressobjectOptional

Object that contains information about the IP address of the device that sent the request.

threeDSecureobjectOptional

Object that contains information for an authentication check on the customer’s payment details using the 3-D Secure protocol.

credentialOnFileobjectOptional

Object that contains information about saving the customer’s payment details.

offlineProcessingobjectOptional

Object that contains information about the transaction if the merchant ran it when the terminal was offline.

autoCapturebooleanOptionalDefaults to true

Indicates if we should automatically capture the payment amount.

  • true - Run a sale and automatically capture the transaction.
  • false- Run a pre-authorization and capture the transaction later.

Note: If you send false and the terminal doesn’t support pre-authorization, we set the transaction’s status to pending. The merchant must capture the transaction to take payment from the customer.

processAsSalebooleanOptionalDefaults to false

Indicates if we should immediately settle the sale transaction. The merchant cannot adjust the transaction if we immediately settle it.
Note: If the value for processAsSale is true, the gateway ignores the value in autoCapture.

customFieldslist of objectsOptional

Array of customField objects.

Response

Successful request. We processed the transaction.

paymentIdstring=10 characters

Unique identifier that our gateway assigned to the transaction.

processingTerminalIdstring>=4 characters<=50 characters

Unique identifier of the terminal that initiated the transaction.

orderobject

Object that contains information about the payment.

cardobject

Object that contains information about the card.

transactionResultobject

Object that contains information about the transaction response details.

operatorstringOptional>=0 characters<=50 characters

Operator who initiated the request.

customerobjectOptional

Customer contact and address details.

refundslist of objectsOptional

Array of refundSummary objects. Each object contains information about refunds linked to the transaction.

supportedOperationslist of enumsOptional

Array of operations that you can perform on the transaction.

  • capture - Capture the payment.
  • refund - Refund the payment.
  • fullyReverse - Fully reverse the transaction.
  • partiallyReverse - Partially reverse the payment.
  • incrementAuthorization - Increase the amount of the authorization.
  • adjustTip - Adjust the tip post-payment.
  • addSignature - Add a signature to the payment.
  • setAsReady - Set the transaction’s status to ready.
  • setAsPending - Set the transaction’s status to pending.
  • setAsDeclined - Set the transaction’s status to declined.
customFieldslist of objectsOptional

Array of customField objects.