MethodPathSummaryAuth
GET/v1/admin/recharge-payment-approvals稳定快照分页读取充值审批Session
POST/v1/admin/recharge-payment-approvals创建充值退款或撤销审批提议Session
GET/v1/admin/recharge-payment-approvals/export导出充值审批 CSVSession
GET/v1/admin/recharge-payment-approvals/statistics读取充值审批金额统计Session
GET/v1/admin/recharge-payment-approvals/{approval_id}读取单条充值审批事实Session
POST/v1/admin/recharge-payment-approvals/{approval_id}/approve由不同 operator 批准充值补偿Session
POST/v1/admin/recharge-payment-approvals/{approval_id}/reject拒绝充值补偿提议Session

Contract file:api/control-recharge-payment-approvals.openapi.yaml

Operation details

GET /v1/admin/recharge-payment-approvals

稳定快照分页读取充值审批

operationId
listRechargePaymentApprovals
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.read

Parameters

listRechargePaymentApprovals Parameters
NameInTypeRequiredDescription
X-Request-IDheaderstringYes—
pagequeryintegerYes—
limitqueryintegerYes—
kindquerystring: refund / voidNo—
statequerystring: pending / approved / rejected / expiredNo—
snapshot_atquerystring(date-time)No—

Responses

listRechargePaymentApprovals Responses
StatusDescription
200稳定快照分页

Fields:items: array<Approval> total: integer(int64) page: integer limit: integer snapshot_at: string(date-time)

400稳定错误码
401稳定错误码
403稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.

↑ Back to list

POST /v1/admin/recharge-payment-approvals

创建充值退款或撤销审批提议

operationId
proposeRechargePaymentApproval
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.compensate

Parameters

proposeRechargePaymentApproval Parameters
NameInTypeRequiredDescription
X-Request-IDheaderstringYes—
Idempotency-KeyheaderstringYes—

Request body

application/json · Required:Yes

proposeRechargePaymentApproval Request body
NameTypeRequiredDescription
order_idstring(uuid)Yes—
tenant_scope_idstring(uuid)Yes—
kindstring: refund / voidYes—
amount_minorinteger(int64)Yes—
expected_order_revisioninteger(int64)Yes—
reasonstringYes—

Responses

proposeRechargePaymentApproval Responses
StatusDescription
201新提议或精确重放

Fields:id: string(uuid) order_id: string(uuid) tenant_scope_id: string(uuid) kind: string: refund / void amount_minor: integer(int64) currency: string expected_order_revision: integer(int64) reason: string state: string: pending / approved / rejected / expired revision: integer: 1 / 2 proposed_by_scope_id: string(uuid) proposed_by_user_id: string(uuid) proposed_at: string(date-time) expires_at: string(date-time) decided_by_scope_id?: string(uuid) decided_by_user_id?: string(uuid) decided_at?: string(date-time) replayed: boolean

400稳定错误码
401稳定错误码
403稳定错误码
409稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.

↑ Back to list

GET /v1/admin/recharge-payment-approvals/export

导出充值审批 CSV

operationId
exportRechargePaymentApprovals
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.read

Parameters

exportRechargePaymentApprovals Parameters
NameInTypeRequiredDescription
X-Request-IDheaderstringYes—
kindquerystring: refund / voidNo—
statequerystring: pending / approved / rejected / expiredNo—
snapshot_atquerystring(date-time)No—

Responses

exportRechargePaymentApprovals Responses
StatusDescription
200UTF-8 CSV with stable snapshot
400稳定错误码
401稳定错误码
403稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.

↑ Back to list

GET /v1/admin/recharge-payment-approvals/statistics

读取充值审批金额统计

operationId
rechargePaymentApprovalStatistics
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.read

Parameters

rechargePaymentApprovalStatistics Parameters
NameInTypeRequiredDescription
X-Request-IDheaderstringYes—
kindquerystring: refund / voidNo—
statequerystring: pending / approved / rejected / expiredNo—
snapshot_atquerystring(date-time)No—

Responses

rechargePaymentApprovalStatistics Responses
StatusDescription
200稳定快照统计

Fields:snapshot_at: string(date-time) pending_count: integer(int64) approved_count: integer(int64) rejected_count: integer(int64) expired_count: integer(int64) refund_amount_minor: integer(int64) void_amount_minor: integer(int64)

400稳定错误码
401稳定错误码
403稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.

↑ Back to list

GET /v1/admin/recharge-payment-approvals/{approval_id}

读取单条充值审批事实

operationId
getRechargePaymentApproval
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.read

Parameters

getRechargePaymentApproval Parameters
NameInTypeRequiredDescription
approval_idpathstring(uuid)Yes—
X-Request-IDheaderstringYes—

Responses

getRechargePaymentApproval Responses
StatusDescription
200充值审批事实

Fields:id: string(uuid) order_id: string(uuid) tenant_scope_id: string(uuid) kind: string: refund / void amount_minor: integer(int64) currency: string expected_order_revision: integer(int64) reason: string state: string: pending / approved / rejected / expired revision: integer: 1 / 2 proposed_by_scope_id: string(uuid) proposed_by_user_id: string(uuid) proposed_at: string(date-time) expires_at: string(date-time) decided_by_scope_id?: string(uuid) decided_by_user_id?: string(uuid) decided_at?: string(date-time) replayed: boolean

400稳定错误码
401稳定错误码
403稳定错误码
404稳定错误码
503稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

POST /v1/admin/recharge-payment-approvals/{approval_id}/approve

由不同 operator 批准充值补偿

operationId
approveRechargePaymentApproval
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.approve

Parameters

approveRechargePaymentApproval Parameters
NameInTypeRequiredDescription
approval_idpathstring(uuid)Yes—
X-Request-IDheaderstringYes—
Idempotency-KeyheaderstringYes—

Request body

application/json · Required:Yes

approveRechargePaymentApproval Request body
NameTypeRequiredDescription
expected_revisionintegerYes—

Responses

approveRechargePaymentApproval Responses
StatusDescription
200批准或精确重放

Fields:id: string(uuid) order_id: string(uuid) tenant_scope_id: string(uuid) kind: string: refund / void amount_minor: integer(int64) currency: string expected_order_revision: integer(int64) reason: string state: string: pending / approved / rejected / expired revision: integer: 1 / 2 proposed_by_scope_id: string(uuid) proposed_by_user_id: string(uuid) proposed_at: string(date-time) expires_at: string(date-time) decided_by_scope_id?: string(uuid) decided_by_user_id?: string(uuid) decided_at?: string(date-time) replayed: boolean

400稳定错误码
401稳定错误码
403稳定错误码
409稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.

↑ Back to list

POST /v1/admin/recharge-payment-approvals/{approval_id}/reject

拒绝充值补偿提议

operationId
rejectRechargePaymentApproval
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:billing.recharges.approve

Parameters

rejectRechargePaymentApproval Parameters
NameInTypeRequiredDescription
approval_idpathstring(uuid)Yes—
X-Request-IDheaderstringYes—
Idempotency-KeyheaderstringYes—

Request body

application/json · Required:Yes

rejectRechargePaymentApproval Request body
NameTypeRequiredDescription
expected_revisionintegerYes—

Responses

rejectRechargePaymentApproval Responses
StatusDescription
200拒绝或精确重放

Fields:id: string(uuid) order_id: string(uuid) tenant_scope_id: string(uuid) kind: string: refund / void amount_minor: integer(int64) currency: string expected_order_revision: integer(int64) reason: string state: string: pending / approved / rejected / expired revision: integer: 1 / 2 proposed_by_scope_id: string(uuid) proposed_by_user_id: string(uuid) proposed_at: string(date-time) expires_at: string(date-time) decided_by_scope_id?: string(uuid) decided_by_user_id?: string(uuid) decided_at?: string(date-time) replayed: boolean

400稳定错误码
401稳定错误码
403稳定错误码
409稳定错误码

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.

↑ Back to list