很多站长朋友们都不太清楚phpios内购验证,今天小编就来给大家整理phpios内购验证,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 iOS实现App内购步骤以及注意事项 2、 ios内购如何开通微信支付你必须输入有效 3、 iOS 内购集成与遇到的坑,添加新内购项目 4、 iOS苹果内购(详细步骤) 5、 苹果内购服务器验证凭证回执Data iOS实现App内购步骤以及注意事项1、在开发者账号设置协议、打开itunes Connect,选择协议,税务和银行业务。
2、点击Request Contracts(申请合同)下面的,request,点了几个确定和下一步后回到主界面。
Contact info:联系人信息
Bank info:银行信息
Tax info:税务信息
3、首先设置联系人信息,点击Contact info下面的 Set up(设置),点击Add New Contract(增加先的联系方式)。
4、填写详情,填写完成后点击save(保存)。
5、在下面的所有项目中都选择刚刚填写的信息,选择后点击右下角的done(完成),你可以创建很多联系人,在不同的职务选择不同的联系人。因为我是独立开发,所以我全部填写的我自己。
6、设置银行信息,点击Back info下面的Set up,弹出页面,点击Add Bank Account(添加银行账号)
6.1、选择china,后点击next。
6.2、填写了CNAPS Code后点击Next
查询现代化支付行号
6.3、会弹出你的银行卡开户地的信息,确认一下点击next
6.4、填写银行卡信息,注意:户主名只能写拼音,比如:李三(Li San)。填完后点击Next
6.5、弹出确定信息页面,在下面打钩后点击Save
6.6、点击了save后就可以在弹出的页面中选择刚刚填写的卡了。选择后点击Save
7、设置税务信息,点击Tax info下面的Set up,此时联系人信息已经变成可以编辑状态,银行信息为浏览状态。
7.1、弹出的界面中,税务分为三种 U.S Tax Forms: 美国税务、Australia Tax Forms:澳大利亚税务、Canada Tax Forms: 加拿大税务
这里我选择的美国税务,就是第一个
弹出第一个选择,点击submit(提交)后,弹出第二个选择
弹出第二个选择,选择后点击submit
弹出第三个页面,填写的资料后点击提交,记得勾选页面上的几个复选框
在提交成功后,状态就变成processing成功
1.进入到项目的APP信息页面,点击功能,在弹出的页面点击App内购买项目后面的➕。
2.在弹出的新对话框中选择你需要哪一种服务,由于我的项目需要兑换成消耗的金币,所以我选择第一个。选择后点击创建。
3.开始填写内购项目信息。填完后点击右上角的存储(所有信息必须填写完整)。
4.点击存储后,内购列表就会有刚刚创建的内购条目。
1.点击用户和职能
2.点击沙盒测试员,然后点击左边的➕按钮
3.设置好信息点击右上角存储就可以,记住里面的邮箱和密码用于支付的时候登陆Apple id
注意:
1.必须用真机测试。
2.测试的时候必须退出自己的apple ID。弹出页面后登陆沙盒的测试apple id。
// 1.首先导入支付包#import Storekit
[iOS]应用内支付(内购)的个人开发过程及坑!
APP内购集成详解
ios内购如何开通微信支付你必须输入有效1、打开【设置】,向下滑动屏幕,找到【iTunesStore与AppStore】,进入页面后,点击【AppleID】。
2、选择【查看AppleID】,进入到【账户设置】页面,点击【管理付款方式】,在【管理付款方式】页面,会显示你已绑定的付款方式和可以添加的付款方式,选择后者进入到【添加付款方式】页面,在【添加付款方式】页面选择【微信支付】。
3、再点击下方的【请前往微信验证】,接着页面会跳转到微信,并提示你开通微信免密支付,我们点击【下一步】,进入身份验证,因为我默认使用的是指纹支付,所以验证方式也是使用指纹验证,如果你没有开通指纹支付功能,那么就需要你输入支付密码,同样也能完成验证。
4、验证完成后,微信会提示你绑定成功并跳回到管理付款方式页面,最后我们在AppStore中购入项目的时候,使用的就是微信支付了。
iOS 内购集成与遇到的坑,添加新内购项目1.集成
集成内购的流程网上还是有很多的,在这我就不班门弄斧了。
附上几个比较好的链接:
(1) 这个写的相当详细,里面也有一些细节,作者很好,给了我很多帮助。
(2) 这个也是比较详细
(3)
以上三个链接足够你集成走通整个内购流程了。
2.遇到的坑
(1)集成税务时添加的银行卡必须是大银行的银行卡,因为是需要填写CNAPS CODE。一些小银行和地区银行查不到或者不好查。首选中国银行。附上查询链接:
(2)提交税务最后时,需要重新弄一次信息,这里16年底有了更新,需要注意的是tax information的第三条选择身份(type of beneficial owner)要选择公司
总的来说这最后一部分协议 大体上是1,2,3,14(选a)part xxx勾选上最后勾选上就行
(3)添加内购项目时,注意只能购买苹果规定价格的商品,不能自定义价格。还有下方的图片必须添加,那个是内购弹窗的图片,不添加的话会显示元数据丢失
(4)添加内购时,构架新版本下方有个添加app内购买项目,只有添加后应用内才能获取到,否则获取不到产品信息。如果后续需要添加新内购项目也可以提交新版本,新版本会和第一次提交一样会出现添加内购项目。还有一种方法是不提交版本 只在后面添加内购的地方提交审核。在审核通过后不会直接能使用。我之前是上午九点左右通过新项目审核,但是直到12点才能购买新内购项目。
(5)沙盒账号使用方法:在App Store中退出自己的账户,然后点击支付会提示你登录,这时可以登录自己的沙盒账号。链接:
(6)验证,验证方式分为两种,一种是单机验证,一种是服务器验证。一般情况下我们都是弄成服务器验证。这是需要获得本地返回的
receipt编码后传入服务器,这个有个固定格式,需要注意是服务器处理还是前端处理
(7)如果请求商品数量为0,且商品在不可用商品数组里面。有好几种原因。
1.没有使用Explicit App ID。
2.在iTunes Connect中,苹果拒绝了你最新向iTunes Connect提交的二进制码。
3.你没有清除iTunes Connect中在售的IAP产品。
4.没有使用与正确的App ID相关联的Provisioning Profile注册你的应用程序。
5.可能修改了商品,但是这些修改没有在所有App Store的服务器中生效。
6.未能完成所有财政需求表。更多信息请查看: Contracts, Tax, and Banking
7.你的商品由苹果托管上,内容尚未上传至iTunes Connect上。更多关于上传托管内容的信息请查看: Hosting Non-Consumable Products with Apple
注:商品内容上传到iTunes Connect上之前,你的商品标识符将是无效的。如果内容还没准备好,那么可在iTunes Connect中禁用Hosting Content with Apple功能便可以解决这个问题。一旦内容准备好可以上传了,就可重新启用该功能。
8.在iTunes Connect中指定的商品标示符与应用程序中SKProductsRequest对象所使用的标示符不匹配。更多关于商品标示符的信息请查看: Technical QA, QA1329, 'In-App Purchase Product Identifiers' 。
但是一般情况下只要bundle id 和上面的一致 切商品已经处理好 就可以请求到。
9.提交新内购项目时,如果和新版本一起提交,新类型一定要在新版本中显示,否则新内购不能显示展示。会出现被拒的情况。一般新的内购买新项目可以单独提交。这样可以规避。
iOS苹果内购(详细步骤)1.进入开发者平台,点击如下图所示:
设置
2.查看付费同意条款
添加这3个信息
4.添加银行账户
5.选择报税表
默认美国
6.根据报税表填写报税情况,根据自己实际情况,在这里我们需要选择NO,后面选了几个勾,以为可以,后面报错了!
三者必须填写 注意 :这里可以随便填写。
7.填写联系人,这几个部分可以填写同一人
2.选择内购项目类型
根据功能选择
3.设置产品价格及名称
4.显示信息
5.审核信息
注意:这些信息都要填完整,否则会提示元数据丢失。
内购项目
添加账号
在需要购买的控制器内
四.注意事项
1.内购必须用真机测试
2.测试时必须退出App Store自己的Apple ID,登录沙盒的测试Apple ID .
3.本身请求美国服务器就慢,为防止审核人员误解,我们需要在购买时加载动画。
苹果内购服务器验证凭证回执Data基本上所有的 操作都可以再前端完成操作,包括对支付凭证的验证,但是如果在客户端验证凭证可能存在被篡改的危险,
服务器去重验证和加款,是建立在 用户已经在前端支付成功,然后由ios会得到一个字节流,然后 base64后转给 后台。
后台通过这个字符串 去请求苹果的服务器,然后得到一个json字符串去给用户加款,其中注意事项为
//沙箱static final String testUrl = "";
//正式 static final String product = "";
请求苹果地址 返回的 内容为
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 0 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"
}
关于phpios内购验证的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpios内购验证 苹果内购验证的详细内容...