AppCan支付类插件使用文档之uexInAppPurchase
uexInAppPurchase调用苹果应用内支付接口(仅支持注册唯一appId 测试,例如, com..appcan.inapppurchase,不支持com.appcan.*),该功能只能在未越狱机器测试。
使用示例:
以下示例代码说明了如何使用uexInAppPurchase对象的方法。
应用内支付
应用内支付
Methods:
1、RegisterListening()
注册支付列队监听事件。
Parameters:
每次在调用应用内支付时,需要调用,系统会自动存储该应用的支付队列信息。
2、cancelListening()
取消支付队列监听事件。当你不需要处理支付的时候,可以调用取消注册事件。
3、canMakePay()
测试是否支持支付功能。每次在调用应用内支付时,需要调用,检查你手机是否支持应用内支付。
Return Value:
回调函数uexInAppPurchase.cbCanMakePay(opid,datatype,data),datatype为int, 0:不支持,1:支持。
4、getProducts(inPurchaseId,inPurchaseId,...)
获取注册到appstore的产品列表。自己注册的inPurchaseId,自己保存,然后如果需要从苹果获取,则将对应的InPurchaseId 获取,然后异步请求去苹果获取,返回json数据给js,自己在网页上处理展示,然后购买。
Parameters:
inPurchaseId:每一个产品在苹果注册的功能的inPurchaseId
Reruen Value:
inPurchaseId: uexInAppPurchase.cbGetProducts(opId,dataType,data) 接口,data 为json。
5、paymentProduct (inPurchaseId,quantity)
针对某个产品进行支付。调用支付功能,异步回调,自己处理UI。
Parameters:
inPurchaseId:cbGetProducts中有效的inPurchaseId
quantity:购买的数量
Reruen Value:
UexInAppPurchase.onTransaction(State,errorCode,error,transactionIdentifier,produc tId,transactionRecepit);
6、restoreCompletedTransations()
恢复所有的购买历史。
Reruen Value:
UexInAppPurchase.onTransaction(State,errorCode,error,transactionIdentifier,produc tId,transactionRecepit);
7、verfityProduct(inDis,receipt)
购买成功的产品向服务器发送测试,验证是否产品真实有效(可以自己验证自己实现)。
验证购买信息是否是正确的,以防被破解。
Parameters:
inDis:验证是否是发布版本:发布版本传1,测试版本传0
receipt:onTrasaction回调时返回的数据transactionReceipt,需要进行url转码
8、cbGetProduct (opId,dataType,data)
购买成功的产品向服务器发送测试,验证是否产品真实有效(可以自己验证自己实现)。
验证购买信息是否是正确的,以防被破解。
Parameters:
opId:操作ID。在此函数中不起作用,可忽略。
dataType:成功时返回数据的数据类型为uex.cJson。
data:
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的json,需要解码,再转换为JSON
{
“inValidIdentifier”:[‘传进的产品ID’,] //数组
“validProducts”:[
{
“id”:“传入的产品ID”,
“title”:“苹果注册注册标题”,
“description”:”苹果注册的描述”,
“price”:“苹果对应本地的报价”
},
{}
]
}
9、onTransaction (State,errorCode,error,transactionIdentifier,productId,transactionReceipt)
paymentProduct时候回调,或者restoreCompletedTransactions回调。
Parameters:
State:返回的状态,分别是
“PaymentTransactionStatePurchased”,“PaymentTransactionStateFailed”,“PaymentTransaction StateRestored”。
errorCode:失败时候,返回的错误码。
Error:失败时候,返回的错误描述。
transactionIdentifier:成功,或者从购物历史恢复的时候存在交易标识,在苹果服务器是唯一。
productId:购买传入的inPurchaseId。
transactionReceipt:成功,或者从购物历史恢复的时候苹果返回的信息,已进行base-64,加密,可以本地保存,以供验证使用。
10、cbCanMakePay (opId,datatype,data)
canMakePay时候回调,成功失败。
Parameters:
opId:忽略。
datatype:网络失败时返回数据的数据类型为uex.cInt。
data:1:支持支付,0:不支持支付。
11、cbVertifyProduct (opId,dataType,data)
验证购买产品是否支付的回调。进行验证返回数据,异步。
Parameters:
opId:操作ID。在此函数中不起作用,可忽略
dataType:成功时返回数据的数据类型为uex.cJson
{
“status”:0 //状态为0,说明是成功交易的,其余情况都是交易失败
“receipt”:{
“quantity” 购买商品的数量
“product_id” 商品的标识
“transaction_id” 交易的标识,对应onTransaction返回的的transactionIdentifier
属性
“purchase_date” 交易的日期
“original_-transaction_id” 对于恢复的transaction对象,该键对应了原始的transaction标识
original_purchase_-date 对于恢复的transaction对象,该键对应了原始的交易日期
app_Item_id App Store用来标识程序的字符串。一个服务器可能需要支持多个server的支付功能,可以用这个标识来区分程序。链接sandbox用来测试的程序的不到这个值,因此该键不存在。
version_external_-identifier 用来标识程序修订数。该键在sandbox环境下不存在
bid iPhone程序的bundle标识
bvrs iPhone程序的版本号
}
}
data:网络失败时返回数据的数据类型为uex.cInt,data为0。