Create payment

Use this method to run a sale or a pre-authorization with a customer’s payment card.

In the response, our gateway returns information about the card payment and a paymentId, which you need for the following methods:

Payment methods

  • Cards - Credit, debit, and EBT
  • Digital wallets - Apple Pay® and Google Pay®
  • Tokens - Secure tokens and single-use tokens

Features

Our Create Payment method also supports the following features:

  • Repeat payments - Run multiple payments as part of a payment schedule that you manage with your own software.
  • Offline sales - Run a sale or a pre-authorization if the terminal loses its connection to our gateway.
  • Tokenization - Save card details to use in future transactions.
  • 3-D Secure - Verify the identity of the cardholder.
  • Custom fields - Add your own data to a payment.
  • Tips - Add tips to the card payment.
  • Taxes - Add local taxes to the card payment.
  • Surcharging - Add a surcharge to the card payment.
  • Dual pricing - Offer different prices based on payment method, for example, if you use our RewardPay Choice pricing program.

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
Object that contains the customer's contact details and address information.
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.
operatorstring or null>=0 characters<=50 characters
Operator who initiated the request.
customerobject or null
Object that contains the customer's contact details and address information.
refundslist of objects or null
Array of refundSummary objects. Each object contains information about refunds linked to the transaction.
supportedOperationslist of enums or null

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 objects or null
Array of customField objects.

Errors