Openpay integration guide

OpenpayOpenpay Openpay is a gateway that allows you to collect card payments. This guide is intended to help you implement Openpay based on your preferred integration workflow.

Services and compatibility

Supported payment types
  • Card
Supported transaction types
  • Sale ( API )
  • Auth Only ( API )
  • Capture (partial) ( API )
  • Void ( API )
  • Refund (partial and multiple) ( API )
Supported processing currenciesMXN
3D Secure 1.x supportedYes
3D Secure 2.x supportedYes
Installments supportedYes

Gateway-specific information

  • The 3D Secure (3DS) customer redirect flow is only required for transactions of $10000 MXN or more (dependent on Openpay approval). For more information, view the 3DS requirements tutorial.
  • You must configure and use webhooks as part of the 3DS workflow. For information about webhooks, view the Webhooks tutorial.
  • Device fingerprinting is required if you are using a proprietary form. For instructions, see the Using device fingerprinting in the run transaction flow with your own form tutorial. If you are using the Nexio iframe, it is included. For information about device fingerprinting, see the Using device fingerprinting tutorial.
  • Openpay installments only support values of 3, 6, 9, 12, or 18 (the amount of installment periods is dependent on Openpay approval).
  • The security code must be present for the first transaction through CKO, meaning customers with cards on file will need to re-enter the security code. For documentation about the security code on the first transaction, see the Enabling security code verification tutorial.
  • Recurring transactions through Openpay are only supported with a TokenEx account through Nexio.
  • Openpay requires a unique orderNumber for every transaction request.
  • Openpay supports partial refunds, but not same-day refunds.

Configuration

Work with Integrations Support to add Openpay as a connection. You will need the following credentials from Openpay:

  • public key
  • private key
  • ID

Required fields

The following fields are additionally required when creating a one-time-use token, processing a payment request, or creating an APM one-time-use token with Openpay:

  • data.currency
  • data.customer.firstName*
  • data.customer.lastName*
  • data.customer.email*
  • data.customer.billToAddressOne*
  • data.customer.billToCity*
  • data.customer.billToState*
  • data.customer.billToPostal*
  • data.customer.billToCountry*
  • data.customer.orderNumber
  • card.cardHolderName
  • card.securityCode
  • processingOptions.paymentType
  • processingOptions.requireCvc

📘

Note

* If these data points are included in the pay/v3/token call, they will be stored with the card token and will not need to be passed with the pay/v3/process call.

Testing data

Use the following test card information to test your Openpay configuration.

BrandCurrencyCard numberExpiration dateSecurity codeCardholder nameWorks with installmentTransaction result
VisaMXN4242424242424240AnyAnyAnyYesSuccess
MastercardMXN5105105105105100AnyAnyAnyYesSuccess

Installments

When testing installments, the minimum amount is 100 times the installment periods in MXN. For example, for 3 installment periods, the minimum amount is $300 MXN. For 6 installment periods, the minimum amount is $600 MXN. For more information, see the Run card transaction endpoint in the API.

Status workflows

The status of a successful transaction with Openpay varies, depending on the options you choose.

SaleWhen isAuthOnly is false, successful sale transactions will have the following statuses:
  • pending*
  • settled
Auth onlyWhen isAuthOnly is true, successful sale transactions will have the following status:
  • authOnly
CaptureSuccessful capture transactions will have the following statuses:
  • pending*
  • settled
VoidSuccessful void transactions will have the following status:
  • voided
RefundSuccessful refund transactions will have the following statuses:
  • pending*
  • settled

*Pending status displays as "authorized" or "AUTHORIZED" in the Nexio Dashboard; it displays as 10, meaning "authorized", in the response when querying transactions (for more information about transactionStatus, see the appropriate transactionStatus table).

If you have any additional questions or feedback, contact us.


Did this page help you?