ACI integration guide
ACI is a gateway that allows you to collect card payments. This guide is intended to help you implement ACI based on your preferred integration workflow.
Services and compatibility
Supported payment types |
|
Supported transaction types | |
Supported processing currencies | AED, ALL, ARS, AUD, AWG, BBD, BDT, BGN, BHD, BND, BOB, BRL, BWP, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DOP, EGP, EUR, GBP, GHS, GTQ, HKD, HNL, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KRW, KWD, KYD, KZT, LKR, MOP, MUR, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NZD, PAB, PEN, PHP, PKR, PLN, PYG, QAR, RON, RUB, SAR, SEK, SGD, THB, TRY, TTD, TWD, UAH, USD, UYU, VND, XCD, ZAR |
3D Secure 1.x supported | Yes |
3D Secure 2.x supported | Yes |
External 3D Secure supported | No |
Installments supported | No |
Gateway-specific information
paymentType
is supported.- There are several different ACI connections and processors, which may impact what features are available and what fields are required.
- The
aci_planet
andaci_planet_mcp
connections do not immediately settle. The system settles transactions after 24 hours. Theaci_auto
connection does immediately settle. aci_planet_mcp
supports multi-currency pricing.
Configuration
Work with Integrations Support to add ACI as a connection. You will need the following credentials from ACI:
- User ID
- Password
- Entity ID
In addition, there are different types of ACI integrations. Work with Integrations Support to add the type or types that you need:
aci_auto
- This connector is used when you need transactions to settle immediately.aci_planet
- This is the default connector for most integrations.aci_planet_mcp
- This connector is used when the account has the multi-currency pricing feature.
Required fields
The following fields are required when processing a payment request with ACI:
card.cardHolderName
(not required foraci_planet_mcp
)data.amount
data.currency
processingOptions.paymentType
For ACI, if you provide orderNumber
, it must be unique. Also, orderNumber
cannot be longer than 25 characters.
If you are having issues with transactions that are rejected by ACI because of potential fraud, include the clientIp
parameter in the payment request and explicitly set the value as the IP address of the device where the customer is submitting the payment information. If you do not explicitly set a value, it looks to ACI as if the exact same IP address is sending out an inordinate amount of traffic and it is not possible to separate out the valid and invalid requests.
Some ACI processors may require additional parameters. For example, a Brazilian one requires data.customer.nationalIdentificationNumber
. Check with ACI for more information, and check the error response (HTTP error 400 with Nexio error code 436--See Common errors) that lists any missing required fields.
Testing data
Use the following test card information to test your ACI configuration.
Connector | Brand | Card number | Expiration date | Security code | Cardholder name | Mobile | SMS code | 3DS | Transaction result |
---|---|---|---|---|---|---|---|---|---|
aci_auto | Visa | Any future date | 111 | Any | N/A | Success | |||
aci_planet | Mastercard | 5451408260008261 | Any future date | 123 | Any | N/A | Success | ||
aci_planet_mcp | Visa | 4051700000003926 | 12/ | 123 | Any | N/A | Success | ||
aci_planet_mcp | Mastercard | 5204730000008404 | 12/ | 123 | Any | N/A | Success | ||
aci_planet_mcp | Amex | 373953192351004 | 12/ | 1234 | Any | N/A | Success | ||
aci_planet_mcp | JCB | 3566000027552371 | 12/ | 123 | Any | N/A | Success | ||
UnionPay(credit card) | 6250947000000014 | 12/33 | 123 | +852 11112222 | 111111 | N/A | Success | ||
UnionPay(credit card) | 6222821234560017 | 12/33 | 123 | +86 13012345678 | 111111 | N/A | Success | ||
UnionPay(debit card) | 6216261000000000018 | +852 13552535506 | 111111 | N/A | Success | ||||
UnionPay(credit card) | 6250946000000016 | +852 13688888888 | 111111 | N/A | Success |
Status workflows
The status of a successful transaction with ACI 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.
See also
Updated 3 days ago