Skip to content

Static IP Renewal Order Creation ​

Create a renewal order for the specified proxy IP, supporting pure wallet payment, online payment and mixed payment. Only static residential IPs and static datacenter IPs support renewal and auto-renewal; dynamic IPs are not applicable.

Interface Address:

text
/papi/order/ip/renewal/create

Request Method:

text
POST

Content-Type:

text
application/json

Header Parameters:

ParameterTypeRequiredDescription
X-Access-KeystringYesAPI access key ID. See API Rules for authentication
X-SignaturestringYesSignature value, Base64-encoded HMAC-SHA256 result
X-TimestampstringYesMillisecond-level Unix timestamp (13 digits)
X-NoncestringYesRandom string, 10~32 lowercase letters and digits

Body Parameters:

ParameterTypeRequiredDescription
uidstringYesUID of the proxy IP
packageCodestringYesRenewal package code
payCodestringYesPayment method code; WALLET for pure wallet payment, actual code for online payment
providerCodestringYesPayment provider code; INTERNAL for wallet payment
autoRenewintegerNoAuto-renewal setting: 0 disabled, 1 enabled; current setting is kept when omitted
walletPayAmountlongNoWallet payment amount for mixed payment, in cents; must be greater than 0 and less than the order's actual payment amount

Request Example:

json
{
  "uid": "actual proxy IP uid",
  "packageCode": "actual package code",
  "payCode": "WALLET",
  "providerCode": "INTERNAL",
  "autoRenew": 1
}

Response Parameters:

ParameterTypeDescription
codeintegerError code. See Error Codes
dataobjectReturn data
├─ orderNostringAssociated order number
├─ payAmountlongOrder actual payment amount, in cents
├─ walletPayAmountlongWallet payment amount, in cents
├─ onlinePayAmountlongOnline payment amount, in cents
├─ payUrlstringPayment URL provided by the channel
├─ paymentStatusintegerPayment status
├─ fulfillmentStatusstringFulfillment status
msgstringError message

Response Example:

json
{
  "code": 0,
  "data": {
    "orderNo": "",
    "payAmount": 0,
    "walletPayAmount": 0,
    "onlinePayAmount": 0,
    "payUrl": "",
    "paymentStatus": 0,
    "fulfillmentStatus": ""
  },
  "msg": ""
}

Notes:

  • For mixed payment, pass the actual online payCode, providerCode plus walletPayAmount; the online amount is calculated by the backend. payParams can be passed per channel.
  • If the IP has no auto-renewal policy yet, an explicit autoRenew creates a policy under the existing renewal rules.
  • Auto-renewal policies can also be managed via Update Auto-Renewal Switch.

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.

OpenAPI Docs