Transaction Retries

Yuno allows merchants to retry capture and refund transactions that received an error or declined responses from the provider by adding a field to the transaction request. This feature is designed to enhance transaction success rates and improve user experience. By setting the simplified_mode field to true in capture and refund requests, Yuno will automatically retry failed transactions up to seven times within a 96-hour period. The system manages the following scenarios during the retry process:

Capture transactions

Payment while retry is ongoingPayment after succeeded retriesPayment after failed retries
SUCCEEDED / CAPTURE_RETRY_IN_PROCESSSUCCEEDED / CAPTURED or PARTIALLY_CAPTURED depending on the amount.SUCCEEDED / CAPTURE_RETRY_PROCESS_FAILED

Refund transactions

Payment while retry is ongoingPayment after succeeded retriesPayment after failed retries
SUCCEEDED / REFUND_RETRY_IN_PROCESSREFUNDED / REFUNDED or SUCCEEDED / PARTIALLY_REFUNDED depending on the amount.SUCCEEDED / APPROVED

Benefits

  • Improved Transaction Success Rates: Automatic retries increase the likelihood of successful transaction completions, leading to higher approval rates and revenue generation.
  • Enhanced User Experience: Reduces user friction by automatically retrying failed transactions, improving overall customer satisfaction and retention.
  • Operational Efficiency: Automating retry attempts optimizes time and resources by reducing manual intervention for failed transactions, allowing teams to focus on strategic tasks.

Retry scheme

The following table describes the intervals between each retry. It is important to note that each retry is scheduled based on the timing of the last attempt, meaning the time between retries is cumulative:

EventDeadline after the first try
First try-
Second try5 minutes
Third try50 minutes
Fourth try6 hours
Fifth try24 hours
Sixth try48 hours
Seventh Try96 hours

The table shows that each retry is performed based on the time elapsed since the previous attempt, not the initial attempt. For example, the fourth retry happens 6 hours after the third retry rather than 6 hours after the first attempt.

Examples

The following code block presents examples of capture authorization and refund requests using the simplified mode.

curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments/id/transactions/transaction_id/capture \
     --header 'X-Idempotency-Key: <Your X-Idempotency-Key>' \
     --header 'accept: application/json' \
     --header 'charset: utf-8' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
  "amount": {
    "currency": "JPY",
    "value": 300
  },
  "simplified_mode": true,
  "description": "Confirmed",
  "reason": "PRODUCT_CONFIRMED",
  "merchant_reference": "AAB01-432245"
}
'
curl --request POST \
     --url https://api-sandbox.y.uno/v1/payments/id/transactions/transaction_id/refund \
     --header 'X-Idempotency-Key: <Your X-Idempotency-Key>' \
     --header 'accept: application/json' \
     --header 'charset: utf-8' \
     --header 'content-type: application/json' \
     --header 'private-secret-key: <Your private-secret-key>' \
     --header 'public-api-key: <Your public-api-key>' \
     --data '
{
  "simplified_mode": true,
  "description": "Refund",
  "reason": "REQUESTED_BY_CUSTOMER",
  "merchant_reference": "AAB01-432245"
}
'