verifyPurchase

本节包含验证购买API(Verify Purchase API)的参考资料和示例请求代码片段。

描述

verifyPurchase API用于在将IAP产品分配给用户前,验证应用内产品的购买。

重要信息

  • 此API须从您应用的后端服务器调用。

基础URL(Base URL)

 https://payments-api.now.gg/

请求路径(Request Path)

 v2/seller/order/verifyPurchase

请求方法(Request Method)

 POST

请求头(Request Header)

 'Authorization': '<payment_api_key_here>',
  'Content-Type': 'application/x-www-form-urlencoded'

请求主体(Request Body)

以下参数须包含于 verifyPurchase API的请求主体中。

 "purchaseToken": "<purchase_token_here>",
  "productId": "<product_id_here>", // 仅适用于多商店
  "type": "<store>"  

注意: 如果type不存在,默认值将为 nowgg。


示例请求

以下示例代码阐明了使用 verifyPurchase API的相关请求。

import requests

url = "https://payments-api.now.gg/v2/sellers/order/verifyPurchase"

headers = {
    "Authorization": "<payment_api_key_here>",
    "Content-Type": "application/x-www-form-urlencoded"
}

data = {
    "purchaseToken": "<purchase_token_here>", 
    "productId": "<product_id_here>", // 仅适用于多商店
    "type": "<store>"  
}

response = requests.post(url, headers=headers, data=data)

print("响应状态码:", response.status_code)
print("响应正文:", response.text)
curl -X \
  POST "https://payments-api.now.gg/v2/sellers/order/verifyPurchase" \
   -H \
  "Authorization: <payment_api_key_here>" \
   -H \
  "Content-Type: application/x-www-form-urlencoded" \
   -d "purchaseToken=<purchase_token_here>" \
   -d "productId=<product_id_here>" \ // Required only for multi-store
   -d "type=<store>"

重要信息

  • API秘钥 – Payments API Key 可以在nowStudio的证书板块找到。更多信息
  • purchaseToken 在成功购买后返回。您可以参考下列文档获取更多信息:
  • 用于原生Android –
  • 用于Unity –

  • 预期响应

    以下是 verifyPurchase API的示例响应。

    {
        "success": true,
        "code": 0,
        "codeMsg": "success",
        "data": {
          "purchaseTimeMillis": "1630529397125", // 此字段已被弃用,请改用 purchaseTime。
          "purchaseTime": "1630529397",
          "purchaseState": 0,
          "consumptionState": 0,
          "developerPayload": "<developer_payload>",
          "orderId": "<orderId_here>",
          "appId": "3", 
          "kind": "nowgg#productPurchase",
          "regionCode": "US",
          "packageName": "<package_name>",
          "payStatusTxt": "Unpaid",
          "orderAmount": "25.15",
          "isTestOrder": false,
          "payTimeTxt": "2024 - 10 - 3006: 08: 01",
          "sellerGoodsId": "11223343",
          "purchaseToken": "241028222221SGP61717", 
          "productId": "11223343" 
        }
     }
    

    重要信息

    • 某些响应值可能会根据多商店环境的配置返回为 null 或特定于所选的商店。

    响应参数

    参数 类型 描述
    success boolean 返回是否成功,true或false。
    code int 成功返回0,失败返回非0
    codeMsg string 返回错误码关联的消息。(错误码参考此处
    purchaseTimeMillis(弃用) string 购买产品的时间,以自纪元(epoch)以来的毫秒数表示。此字段已弃用,请使用 purchaseTime 代替
    purchaseTime string 产品的购买时间,自纪元以来的秒数。
    purchaseState int 订单的购买状态。可能的取值有:
    0:未支付,1:已支付,2:失败
    consumptionState int 应用内产品的消费状态。可能的取值有:
    0:还未消费,1:已消费
    developerPayload string 由开发者指定的字符串,包含订单的补充信息。
    orderId string 关联每个应用内购买产品的订单ID(唯一交易标识符)。
    appId string 应用的唯一标识符。与支付ID相同。
    kind string 购买的应用内产品的硬编码类型 nowgg#productPurchase
    regionCode string 产品被授予时,用户的计费区域代码(ISO 3166-1 alpha-2)。
    packageName string 您应用关联的 packageName
    payStatusTxt string 已支付或未支付的状态。
    orderAmount string 您购买的 orderAmount
    isTestOrder boolean 返回是否是测试订单。
    payTimeTxt string 购买关联的支付日期和时间。
    sellerGoodsId string 购买产品的唯一标识符,与 `productId` 相同。这是为了向后兼容而提供的。
    productId string 已购买产品的唯一标识符。
    purchaseToken string 与购买相关联的purchaseToken

    错误代码映射

    错误代码 消息 描述
    3900 INVALID_AUTHORIZATION_KEY 提供的用于授权的API秘钥无效。
    3901 INVALID_PURCHASE_TOKEN 提供的购买令牌无效。
    5014 MULTISTORE_UNKNOWN_ERROR 表示来自Multistore API的通用错误。
    5015 MULTISTORE_AUTH_ERROR 表示在生成Multistore API的认证/凭据时发生错误。
    ×
    文本已复制到剪贴板
    copyLinkText
    有疑问?请通过以下方式联系我们: dev-support@now.gg