Skip to content

退款说明

需要退钱到 BALANCE 钱包时,请使用 POST /esim/refund
仅需作废 eSIM、不涉及钱包退款时,可使用 POST /esim/profile/cancel(或 /revoke)。

接口明细见 订单退款取消 Profile


两种能力对比

订单退款 /esim/refundProfile 取消 /esim/profile/cancel
作用计算可退金额并退回 BALANCE取消 / 撤销 Profile
钱包自动退款不自动退钱
定位方式orderNo / transactionId + 可选 items[]profileIdiccid
典型场景用户退款、对账仅作废卡、已与用户线下结算

订单退款

路径: POST /open-api/v1/esim/refund

定位订单

orderNotransactionId 至少填一项(来自下单或查单)。

退款规则

场景怎么传
整单退不传 items,退订单内全部可退子项
订单部分退items,只包含要退的 itemNo(可多个子项)
子项整退items[].itemNo + 不传 profiles
Profile 部分退items[].itemNo + profiles[],每项填 profileIdiccid(二选一)

itemNo 来自查单 / Webhook 的 items[].itemNo
profileId / iccid 来自 items[].profiles[]

退款请求不支持 esimTranNo,也不要在订单根级传 profiles[]

请求示例

整单退:

json
{
  "orderNo": "MO2075463266738958338",
  "remark": "用户申请退款"
}

按子项退(该子项下全部可退 Profile):

json
{
  "orderNo": "MO2075463266738958338",
  "items": [
    { "itemNo": "2075463266738958340" }
  ]
}

按 Profile 部分退(iccid):

json
{
  "orderNo": "MO2075463266738958338",
  "items": [
    {
      "itemNo": "2075463266738958340",
      "profiles": [
        { "iccid": "8943108170003452385" }
      ]
    }
  ]
}

按 Profile 部分退(profileId):

json
{
  "orderNo": "MO2075463266738958338",
  "items": [
    {
      "itemNo": "2075463266738958340",
      "profiles": [
        { "profileId": 2075464693179805698 }
      ]
    }
  ]
}

响应说明

字段说明
statusREFUNDED = 已入账;REFUNDING = 处理中
refundAmount本次或累计退款金额
items[].itemNo子项编号
items[].refundStatusPENDING / COMPLETED
items[].profileIds本次退款的 Profile ID
items[].iccids本次退款的 ICCID

statusREFUNDING 时,请查单或等待 REFUND_COMPLETED Webhook(见 Webhook 回调)。

响应示例

json
{
  "code": "000000",
  "message": "success",
  "data": {
    "orderNo": "MO2075463266738958338",
    "transactionId": "TX2025061800011",
    "status": "REFUNDED",
    "refundAmount": "2.62",
    "currency": "USD",
    "items": [
      {
        "itemNo": "2075463266738958340",
        "refundStatus": "COMPLETED",
        "profileIds": [2075464693179805698],
        "iccids": ["8943108170003452385"]
      }
    ]
  }
}

Profile 取消 / 撤销

路径: POST /open-api/v1/esim/profile/cancel/revoke(语义相同)

用于作废 Profile,不会自动把金额退回 BALANCE。需要退钱请走上方 订单退款

请求示例

profileIdiccid 二选一

json
{ "profileId": 2075464693179805698 }
json
{ "iccid": "8943108170003452385" }

响应 asyncStatus

含义
COMPLETED同步处理完成
PENDING异步处理中,请稍后查单或等待 Webhook

怎么选

  • 要退钱/esim/refund
  • 只作废 eSIM、不退钱/esim/profile/cancel

eSIM Dealer Open API v1