iOS苹果内购(详细步骤)

iOS苹果内购(详细步骤),第1张

1.进入开发者平台,点击如下图所示:

设置

2.查看付费同意条款

添加这3个信息

4.添加银行账户

5.选择报税表

默认美国

6.根据报税表填写报税情况,根据自己实际情况,在这里我们需要选择NO,后面选了几个勾,以为可以,后面报错了!

三者必须填写 注意 :这里可以随便填写。

7.填写联系人,这几个部分可以填写同一人

2.选择内购项目类型

根据功能选择

3.设置产品价格及名称

4.显示信息

5.审核信息

注意:这些信息都要填完整,否则会提示元数据丢失。

内购项目

添加账号

在需要购买的控制器内

四.注意事项

1.内购必须用真机测试

2.测试时必须退出App Store自己的Apple ID,登录沙盒的测试Apple ID .

3.本身请求美国服务器就慢,为防止审核人员误解,我们需要在购买时加载动画。

基本上所有的 操作都可以再前端完成操作,包括对支付凭证的验证,但是如果在客户端验证凭证可能存在被篡改的危险,

服务器去重验证和加款,是建立在 用户已经在前端支付成功,然后由ios会得到一个字节流,然后 base64后转给 后台。

后台通过这个字符串 去请求苹果的服务器,然后得到一个json字符串去给用户加款,其中注意事项为

//沙箱static final String testUrl = "https://sandbox.itunes.apple.com/verifyReceipt"

//正式 static final String product =  "https://buy.itunes.apple.com/verifyReceipt"

请求苹果地址 返回的 内容为

conten-type = application/json

请求的苹果的内容为String param = "{\"receipt-data\":\""+客户端返回的base64+"\"}"

{

"receipt": {

"receipt_type": "ProductionSandbox",

"adam_id": 0,

"app_item_id": 0,

"bundle_id": "com.rtjk.xshl",//当前的产品的包名,一定要验证返回的包名和此包名要一致

"application_version": "2018101001",

"download_id": 0,

"version_external_identifier": 0,

"receipt_creation_date": "2018-10-19 10:50:48 Etc/GMT",

"receipt_creation_date_ms": "1539946248000",

"receipt_creation_date_pst": "2018-10-19 03:50:48 America/Los_Angeles",

"request_date": "2018-10-31 01:58:21 Etc/GMT",

"request_date_ms": "1540951101844",

"request_date_pst": "2018-10-30 18:58:21 America/Los_Angeles",

"original_purchase_date": "2013-08-01 07:00:00 Etc/GMT",

"original_purchase_date_ms": "1375340400000",

"original_purchase_date_pst": "2013-08-01 00:00:00 America/Los_Angeles",

"original_application_version": "1.0",

"in_app": [

{

"quantity": "1",

"product_id": "6hongliao",//对应产品id,自己做一个金额的映射就行,对应到具体的金额,建议命名要规则

"transaction_id": "1000000460004095",//一定要进行去重验证,一个订单号只能加一次款

"original_transaction_id": "1000000460004095",

"purchase_date": "2018-10-19 10:50:48 Etc/GMT",

"purchase_date_ms": "1539946248000",

"purchase_date_pst": "2018-10-19 03:50:48 America/Los_Angeles",

"original_purchase_date": "2018-10-19 10:50:48 Etc/GMT",

"original_purchase_date_ms": "1539946248000",

"original_purchase_date_pst": "2018-10-19 03:50:48 America/Los_Angeles",

"is_trial_period": "false"

}

]

},

"status": 0, //表示当前请求返回正常

"environment": "Sandbox"

}

做iOS内购,偶尔会碰到内购几天前是很正常的,几天后就一直提示无法连接iTunes Store,可以试试以下的解决办法

1、确认一下是否Bundle ID填写错误,是否未打开内购选项,是否未填写build

2、确认一下是否切换过沙盒账号,如果切换过,登录回原来的沙盒账号尝试一下

2、确认一下是否自己网络问题,切换个网络环境尝试一下

3、确认一下是否 苹果服务器 问题

4、确认一下是否沙盒账号问题,退出当前手机登录的账号和沙盒账号,重新生成一个沙盒账号登录尝试一下

5、最后还是无法解决,升级手机系统后重新尝试一下


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/213824.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存