- Get Started
- Guides
- Integrations
- References
- API Reference
- Basic Payment
- Forex
- Authentication
- Card Account
- Apple Pay
- Virtual Account
- Bank Account
- Token Account
- Customer
- Billing Address
- Merchant Billing Address
- Shipping Address
- Merchant Shipping Address
- Merchant
- Corporate
- Recipient
- Marketplace & Cart
- Airline
- Lodging
- Passenger
- Tokenization
- Recurring Migration
- 3D Secure
- Custom Parameters
- Async Payments
- Webhook notifications
- Job
- Risk
- Point of Sale
- Response Parameters
- Card On File
- Chargeback
- Result Codes
- Payment Methods
- Transaction Flows
- Regression Testing
- Data Retention Policy
- API Reference
- Support
Smart Retry Integration Guide
Last updated:December 27, 2024
This guide is here to help you optimize your payment processing with Smart Retry. Your transactions will be intelligently routed to the best acquirers, boosting acceptance rates and conversions. To get started, simply enable the necessary configuration settings:- Soft Bank Reject Codes: Customize or use the default list to retry failed transactions.
- Standalone Payments: Automatically retry failed transactions with a fallback acquirer.
- Card on File Payments: Automatically retry unscheduled, recurring, or installment payments.
- Fallback Merchant Account: Configure a fallback account to direct transactions to your preferred acquirer.
Please engage with your Customer Success Manager to understand which acquirers are compatible as fallbacks for COF payments.
Use cases
Fallback acquirer
The merchant initiates the payment authorization with Acquirer A and due to a Soft Bank Reject the payment is automatically retried with the fallback Acquirer B.How it works
Smart retry with the fallback acquirer
Retry the payment request with the fallback acquirer upon a soft bank reject.
Manage the payment
Send the back-office payment request to the fallback acquirer if the original payment was processed there.
1. Smart retry with the fallback acquirer
Initiate a server-to-server POST request with the required payment data. If the default acquirer is temporarily unavailable, the transaction is routed to the fallback acquirer. The response to a successful request includes anid
that should be stored and used in subsequent back-office operations.
Simulating a Soft Bank Reject
To simulate a soft bank reject, use thecard.holder
parameter in your request with the appropriate soft bank reject
code. Select the desired code from the dropdown below to correspond to the type of soft bank reject you want to simulate.
Simulate decline:
Sample request:
Language:
curl https://test.oppwa.com/v1/payments \
-d "entityId=Configuration not ready. Please reset in Administration > OPP > Developer Portal." \
-d "paymentBrand=VISA" \
-d "card.holder=800.100.100" \
-d "amount=19.99" \
-d "paymentType=DB" \
-d "currency=EUR" \
-d "testMode=EXTERNAL" \
-d "card.number=4242428756079383" \
-d "card.expiryMonth=12" \
-d "card.expiryYear=2025" \
-d "card.cvv=123" \
-d "customer.email=john.smith@gmail.com" \
-d "customer.givenName=Smith" \
-d "customer.ip=192.168.0.0" \
-d "customer.surname=John" \
-d "customer.language=DE" \
-d "billing.city=MyCity" \
-d "billing.country=DE" \
-d "billing.postcode=712121" \
-d "billing.state=DE" \
-d "billing.street1=MyStreet" \
-d "threeDSecure.eci=05" \
-d "threeDSecure.authenticationStatus=Y" \
-d "threeDSecure.version=2.2.0" \
-d "threeDSecure.dsTransactionId=c75f23af-9454-43f6-ba17-130ed529507e" \
-d "threeDSecure.acsTransactionId=2c42c553-176f-4f08-af6c-f9364ecbd0e8" \
-d "threeDSecure.verificationId=MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=" \
-d "threeDSecure.amount=19.99" \
-d "threeDSecure.currency=EUR" \
-d "threeDSecure.flow=challenge" \
-H "Authorization: Bearer OGE4Mjk0MTc0ZWQ5YzJiNTAxNGVkZTY3ZTkzMjA2ZjN8SjR5SnhUYkNncw=="
2. Manage the payment
Initiate a back-office server-to-server POST request over the authorized payment. If the original payment was processed with the fallback acquirer, the request will be handled by the fallback acquirer.- refund either the full captured amount or a part of the captured amount (see refund)
- reflect the chargeback processed by the bank (see chargeback)
- reflect the chargeback reversal processed by the bank (see chargeback)
Operation:
Sample request:
Language:
https://test.oppwa.com/v1/payments/
curl https://test.oppwa.com/v1/payments/{id} \
-d "entityId=Configuration not ready. Please reset in Administration > OPP > Developer Portal." \
-d "amount=19.99" \
-d "paymentType=RF" \
-d "currency=EUR" \
-d "testMode=EXTERNAL" \
-H "Authorization: Bearer OGE4Mjk0MTc0ZWQ5YzJiNTAxNGVkZTY3ZTkzMjA2ZjN8SjR5SnhUYkNncw=="