事务重试

Yuno 为商家提供了重试捕获和退款的功能,以处理遇到错误或被供应商拒绝的交易。该功能旨在提高交易成功率,改善用户体验。通过设置 simplified_mode 字段改为 true捕捉退款 在 96 小时内,Yuno 最多会自动重试七次失败的交易。在重试过程中,系统会处理以下情况:

捕获交易

捕获事务在重试过程中和重试后可能会遇到各种状态。下表详细介绍了这些状态:

在重试过程中付款重试成功后付款重试失败后付款
SUCCEEDED / capture_retry_in_processSUCCEEDED / CAPTURED 或 PARTIALLY_CAPTURED (视金额而定)。SUCCEEDED / 捕获_重试_处理_失败

退款交易

退款交易在重试过程中和重试后也有特定的状态。下表概述了这些状态:

在重试过程中付款重试成功后付款重试失败后付款
SUCCEEDED /退款重试中REFUNDED /REFUNDED 或SUCCEEDED / PARTIALLY_REFUNDED (视金额而定)。SUCCEEDED /批准

益处

这一功能有几个优点:

  • 提高交易成功率:自动重试提高了交易成功完成的可能性,从而提高了批准率并增加了收入。
  • 增强用户体验:通过自动重试失败的交易,减少了用户摩擦,提高了整体客户满意度和客户保留率。
  • 运行效率:重试尝试自动化可最大限度地减少对失败事务的人工干预,从而优化时间和资源,使团队能够专注于战略任务。

重试计划

重试计划是通过在战略间隔内安排重试来最大限度地提高交易成功率。

下表描述了每次重试之间的时间间隔。请注意,每次重试都是根据上次尝试的时间安排的,这意味着重试之间的时间是累计的:

活动初试后的截止日期
第一次尝试-
第二次尝试5 分钟
第三次尝试50 分钟
第四次尝试6 小时
第五次尝试24 小时
第六次尝试48 小时
第七次尝试96 小时

该表说明,每次重试都是根据上次尝试后的时间而不是首次尝试后的时间进行的。例如,第四次重试发生在第三次重试后 6 小时,而不是第一次重试后 6 小时。整个计划总共跨越 7 天 7 小时。

实例

以下是使用简化模式进行采集授权和退款申请的示例。

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"
}
'