en zh

验证购买

iap/v6/receipt 可支持您的服务器和客户端应用程序,以验证所指定的应用程序内项目购买和付款交易是否已成功完成。

API 将返回一个 JSON 对象,其中包含成功状态和有关成功交易及项目的详细信息,
或包含失败状态。

此 API 有助于防止恶意购买,并确保在项目购买和付款交易之后,如果客户端应用程序遇到网络中断,购买和付款交易可成功进行。

请求

GET
https://iap.samsungapps.com/iap/v6/receipt?purchaseID={purchaseID value}

查询参数

参数

类型

说明

purchaseID

String

(必需)应用程序内项目购买交易的唯一标识符

注意:购买 ID 由 Samsung IAP 分配。您的应用程序将在 OnPaymentListener 接口的 PurchaseVo 对象中收到该 ID。
您的应用程序必须独立于 Samsung IAP 将该 ID 发送到服务器。


示例

GET
http://iap.samsungapps.com/iap/v6/receipt?purchaseID=7efef23271b0a48746a9d7c391e367c7a802980d391d7f9b75010e8138c66c36

响应


参数

参数

类型

说明

itemId

String

在卖家门户中注册的应用程序内项目的唯一标识符

paymentId

String

应用程序内项目付款交易成功时分配给交易的唯一标识符

orderId

String

分配给购买收据的唯一标识符

packageName

String

交易已完成的应用程序的程序包名称

itemName

String

在卖家门户中注册的应用程序内项目的标题

itemDesc

String

在卖家门户中注册的应用程序内项目的简要说明

purchaseDate

String

项目购买和付款交易的日期和时间
(YYYY-MM-DD HH:mm:ss GMT)

paymentAmount

String

总金额,包括应用程序内项目价格和向用户计费的所有适用税费

status

String

请求收据的处理结果:
"success"成功
"fail" 失败
"cancel" 购买交易已取消

注意:对于已取消的交易,旧版 iap/getPurchaseReceipt 仅传递 "fail",但 iap/v6/receipt 同时传递 "cancel" 和交易信息。

paymentMethod

String

用于购买项目的付款选项的类型
"Credit Card""Mobile Micro Purchase""Prepaid Card""PSMS""Carrier Billing" 及其他。

mode

String

购买时生效的 IAP 操作模式:
"TEST"开发者测试模式,始终返回成功失败结果
"PRODUCTION" 生产模式

consumeYN

String

仅适用于消耗性应用程序内项目,无论项目是否报告为已消耗,可以再次购买:
"Y"已消耗
"N" 未消耗

comsumeDate

String

消耗性项目报告为已消耗的日期和时间
(YYYY-MM-DD HH:mm:ss GMT)

consumeDeviceModel

String

将项目报告为已消耗的设备的型号名称

acknowledgeYN

String

Whether or not acknowledge that the user has been granted entitlement for the purchased non-consumable item or subscription:
"Y" Acknowledged
"N" Not Acknowledged

acknowledgeDate

String

Date and time when the purchase of non-consumable item or subscription was acknowledged
(YYYY-MM-DD HH:mm:ss GMT)

acknowledgeDeviceModel

String

Model name of the device that acknowledged non-consumable item or subscription

passThroughParam

String

自 IAP 6.4.0 起已弃用
您的应用程序出于安全原因而创建的交易 ID
仅当设置了直通参数时返回。

注意:旧版 iap/getPurchaseReceipt 传递 base64 编码值,但 iap/v6/receipt 传递游戏中设置的值。

currencyCode

String

购买者的本地货币的货币代码(3 个字符)。(例如 EUR、GBP、USD)

currencyUnit

String

购买者的本地货币的符号(例如 €、£ 或 $)

cancelDate

String

仅适用于已取消的交易,取消购买交易的日期和时间
(YYYY-MM-DD HH:mm:ss GMT)

注意:iap/v6/receipt 之后添加

obfuscatedAccountId

String

调用 startPayment()changeSubscriptionPlan() 时发送的经过混淆处理的帐户 ID

obfuscatedProfileId

String

调用 startPayment()changeSubscriptionPlan()时发送的经过混淆处理的个人资料 ID

errorCode

String

仅适用于失败的请求,错误代码

errorMessage

String

仅适用于失败的请求,详细的错误消息


示例

  • 成功

    {
       "itemId": "57515",
       "paymentId": "20191129013006730832TRAN",
       "orderId": "S20191129KRA1908197",
       "packageName": "com.samsung.android.test",
       "itemName": "Test Pack",
       "itemDesc": "IAP Test Item. Best value!",
       "purchaseDate": "2019-11-29 01:32:41",
       "paymentAmount": "100.000",
       "status": "success",
       "paymentMethod": "Credit Card",
       "mode": "PRODUCTION",
       "consumeYN": "Y",
       "consumeDate": "2019-11-29 01:33:28",
       "consumeDeviceModel": "SM-N960N",
       "acknowledgeYN": "Y",
       "acknowledgeDate": "2025-03-20 06:58:06",
       "acknowledgeDeviceModel": "SM-N960N",
       "passThroughParam": "TEST_PASS_THROUGH",
       "currencyCode": "KRW",
       "currencyUnit": "₩",
       "obfuscatedAccountId": "b2JmdXNjYXRlZEFjY291bnRJZA==",
       "obfuscatedProfileId": "b2JmdXNjYXRlZFByb2ZpbGVJZA=="
    }
    
  • 失败

    errorCode

    errorMessage

    1

    “失败”

    1000

    有关意外系统错误的详细消息
    (例如,“分析错误”

    9135

    “订单不存在”

    9153

    “参数错误(无效的 purchaseID)”

    {
        "status": "fail",
        "errorCode": 9135,
        "errorMessage": "not exist order"
     }
    
  • 取消的购买交易

    {
        "itemId": "57515",
        "paymentId": "ZPMTID20191128KRA1908196",
        "orderId": "S20191128KRA1908196",
        "itemName": "Test Pack",
        "itemDesc": "IAP Test Item. Best value!",
        "purchaseDate": "2019-11-28 10:18:09",
        "paymentAmount": "0.000",
        "paymentMethod": "Free",
        "mode": "PRODUCTION",
        "consumeYN": "Y",
        "consumeDate": "2019-11-28 10:18:11",
        "consumeDeviceModel": "SM-G965F",
        "acknowledgeYN": "Y",
        "acknowledgeDate": "2025-03-20 06:58:06",
        "acknowledgeDeviceModel": "SM-N960N",
        "passThroughParam": "TEST_PASS_THROUGH",
        "currencyCode": "KRW",
        "currencyUnit": "₩",
        "status": "cancel",
        "cancelDate": "2019-11-29 00:01:52"
    }
    

Additional Samsung IAP server APIs

Additional Samsung IAP server-to-server APIs are provided as part of the Galaxy Store Developer API and have different requirements:

The following Samsung IAP server SOAP APIs have been deprecated and are no longer supported: