完成CheckoutSession后调用Create Charge提示ChargePermission状态无效
问题:调用Create Charge时提示ChargePermission状态无效
调用CompleteCheckoutSession()获取ChargeId和ChargePermissionId后,执行授权操作(Create Charge)时遇到错误:
'ChargePermission is not in a valid state to execute this operation'
错误详情
- reasonCode: InvalidChargePermissionStatus
- message: ChargePermission状态无效,无法执行此操作
相关代码示例
var result = client.CompleteCheckoutSession(amazonCheckoutSessionId, request); ChargePermissionResponse result1 = client.GetChargePermission(result.ChargePermissionId); var request = new CreateChargeRequest(result1.ChargePermissionId, Convert.ToDecimal(Total), currencyCode) { CaptureNow = false, CanHandlePendingAuthorization = true, }; ChargeResponse chargeResponse = client.CreateCharge(request);
常见原因及解决办法
- 检查ChargePermission状态:调用
GetChargePermission后,必须确认返回的ChargePermission.Status为Active,只有该状态下才能执行Create Charge。若状态为Canceled、Expired或Pending,均无法完成授权。 - 确认会话完成状态:
CompleteCheckoutSession执行后,检查返回的CheckoutSession.Status是否为Completed,确保会话已成功结束,ChargePermission已被激活。 - 校验有效期:若ChargePermission已过期,需重新发起CheckoutSession流程获取新的ChargePermission。
- 确认用户授权流程:用户可能未完成亚马逊支付的授权步骤,导致ChargePermission未激活,需引导用户完成授权操作。
内容的提问来源于stack exchange,提问作者sachinpawar013
相关产品推荐
相关产品推荐

