Cloud Phone Renewal Order Creation
Cloud phone renewal order creation.
Interface Address:
/papi/order/renewal/createRequest Method:
POSTContent-Type:
application/jsonHeader Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Access-Key | string | Yes | API access key ID. See API Rules for authentication |
| X-Signature | string | Yes | Signature value, Base64-encoded HMAC-SHA256 result |
| X-Timestamp | string | Yes | Millisecond-level Unix timestamp (13 digits) |
| X-Nonce | string | Yes | Random string, 10~32 lowercase letters + digits |
Body Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| payCode | string | Yes | Payment method code; WALLET for pure wallet payment |
| providerCode | string | Yes | Payment provider code; INTERNAL for wallet payment |
| walletPayAmount | long | No | Wallet payment amount for mixed payment, in cents; must be greater than 0 and less than the order's actual payment amount |
| autoRenew | integer | No | Auto-renewal setting: 0 disabled, 1 enabled; current setting is kept when omitted |
| payParams | object | No | Payment parameters |
| ├─ key | object | No | key |
| skuGroups | array[object] | Yes | Renewal SKU group list |
| ├─ skuCode | string | Yes | SKU code |
| ├─ containerSids | array[string] | Yes | Cloud phone ID list |
| ├─ packageCode | string | Yes | Package code |
Request Example:
{
"payCode": "wxpayUs",
"providerCode": "Wallyt412",
"payParams": {
"key": {}
},
"skuGroups": [
{
"skuCode": "c94t9g2dzy",
"containerSids": ["tERS5CXqCPU2+UPnoACjpA=="],
"packageCode": "jeur2yj52s"
}
]
}Response Parameters:
| Parameter | Type | Description |
|---|---|---|
| code | integer | Error code. See Error Codes |
| data | object | Response data |
| ├─ orderNo | string | Order number |
| ├─ qrcodeUrl | string | QR code URL |
| ├─ payUrl | string | Payment URL |
| ├─ payParams | object | Payment parameters (specific parameters for various payment methods, such as APP payment parameters) |
| ├─├─ key | object | key |
| ├─ payAmount | integer | Payment amount (US cents) |
| ├─ payAmountYuan | number | Payment amount (USD) |
| ├─ walletPayAmount | long | Wallet payment amount (US cents) |
| ├─ onlinePayAmount | long | Online payment amount (US cents) |
| ├─ currency | string | Currency (USD) |
| ├─ expireTime | integer | Order expiration time (timestamp) |
| ├─ payMethod | string | Payment method |
| ├─ payIcon | string | Payment method icon |
| ├─ payType | integer | Payment type |
| ├─ payScene | integer | Payment scene |
| ├─ transactionId | string | Transaction ID |
| ├─ productName | string | Product name |
| ├─ description | string | Order description |
| msg | string | Error message |
Response Example:
{
"code": 0,
"data": {
"orderNo": "",
"qrcodeUrl": "",
"payUrl": "",
"payParams": {
"": {}
},
"payAmount": 0,
"payAmountYuan": 0.0,
"walletPayAmount": 0,
"onlinePayAmount": 0,
"currency": "",
"expireTime": 0,
"payMethod": "",
"payIcon": "",
"payType": 0,
"payScene": 0,
"transactionId": "",
"productName": "",
"description": ""
},
"msg": ""
}Notes:
- Pure wallet payment: pass
payCode=WALLETandproviderCode=INTERNAL; the full order amount is used whenwalletPayAmountis omitted. - Mixed payment: pass the actual online payment channel in
payCode/providerCodepluswalletPayAmount(in cents); it must be greater than 0 and less than the order's actual payment amount, and the online amount is calculated by the backend. It is recommended to get the actual price via Cloud Phone Renewal Price Calculation first. autoRenewkeeps the current setting when omitted or null; an explicit value creates a policy under the existing renewal rules when the resource has no policy yet.
Wallet payment rules
Wallet payment uses payCode=WALLET and providerCode=INTERNAL. Mixed payment uses the actual online channel plus an integer walletPayAmount in USD cents, greater than zero and below the calculated payable total; do not submit onlinePayAmount. Recharge orders cannot use wallet or mixed payment. On timeout or uncertain payment status, query the original order and transactions before retrying. Cancellation or switching to wallet payment requires reliable confirmation that an existing online payment is closed. Wallet deductions are returned against the original transaction when cancellation is permitted.
