Openpay integration guide
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 |
|
Supported transaction types | |
Supported processing currencies | MXN |
3D Secure 1.x supported | Yes |
3D Secure 2.x supported | Yes |
External 3D Secure supported | No |
Installments supported | Yes |
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.
Brand | Currency | Card number | Expiration date | Security code | Cardholder name | Works with installment | Transaction result |
---|---|---|---|---|---|---|---|
Visa | MXN | 4242424242424240 | Any | Any | Any | Yes | Success |
Mastercard | MXN | 5105105105105100 | Any | Any | Any | Yes | Success |
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.
Sale | When isAuthOnly is false , successful sale transactions will have the following statuses:
|
Auth only | When isAuthOnly is true , successful sale transactions will have the following status:
|
Capture | Successful capture transactions will have the following statuses:
|
Void | Successful void transactions will have the following status:
|
Refund | Successful refund transactions will have the following statuses:
|
*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.
Updated about 1 year ago