当前位置: 首页 > news >正文

网站制作的步骤可信网站验证服务证书

网站制作的步骤,可信网站验证服务证书,婚恋网站建设的目的,wordpress模板seo一、说明 由于本人在开发ios订阅类型支付接入的时候#xff0c;遇到了很多坑#xff0c;也查了不少资料#xff0c;逐步完善了整个ios订阅支付服务端接入的功能#xff0c;在这里写下总结和一些注意事项的记录#xff0c;方便未来需要重新接入或者避免一些不必要的坑,这里…一、说明 由于本人在开发ios订阅类型支付接入的时候遇到了很多坑也查了不少资料逐步完善了整个ios订阅支付服务端接入的功能在这里写下总结和一些注意事项的记录方便未来需要重新接入或者避免一些不必要的坑,这里主要讲的是服务端的接入。 二、接入原因 客户端实现ios订阅支付后支付成功会返回一个收据一大串随机字符串需要请求苹果服务器的接口来校验该收据的真实性同时校验完成后苹果服务器也会发通知告诉我们的自己的服务器ios后台配置的回调地址这个时候就需要服务端来接入苹果服务器并处理该支付逻辑。这里不使用客户端直接接入苹果服务器校验收据接口的原因大概就是因为订阅类型需要共享密钥防止该密钥暴露同时服务器接入能更好处理逻辑。 三、接入必要配置 1.订阅类型需要从苹果后台获取一个共享密钥 2.需要在苹果后台配置好回调地址 3.需要配置订阅产品周期价格我自己没什么了解这个需要注意的是订阅有按组分同一个组和不同组的产品是有区别的例如同一个组的不同产品进行购买他们的原始订单可能相同 四、接入必要资源 简体中文文档 - Apple Developer 校验收据通过 App Store 验证收据 - 简体中文文档 - Apple Developer 回调通知启用 App Store 服务器通知 - 简体中文文档 - Apple Developer 退款处理处理退款通知 - 简体中文文档 - Apple Developer 收据校验沙箱环境https://sandbox.itunes.apple.com/verifyReceipt 收据校验生产环境https://buy.itunes.apple.com/verifyReceipt 五、接入流程 1.服务端接入apple校验收据接口 注意事项防止相同数据重复校验或者相同请求大量请求导致的不稳定因素建议使用时间戳校验预防不要将共享密钥暴露在客户端共享密钥同时也可以对回调通知进行校验校验收据后不要做为订单处理最好一切以回调为主。 接口地址https://buy.itunes.apple.com/verifyReceipt 接口类型POST 接口格式appliaction/json 功能说明该接口主要是用来恢复订阅和支付校验校验完成会有回调通知到商户服务器 请求参数 官方Apple Developer Documentation {password:这里是共享密钥,receipt-data:这里是收据的字符串 } 返回结果: 状态码Apple Developer Documentation 失败 {status:21000} 成功 成功结果参数文档responseBody | Apple Developer Documentation 主要参数说明: {environment: Production, //请求环境receipt: {receipt_type: Production,adam_id: xxx,app_item_id: xxx,bundle_id: com.xxx,application_version: 2,download_id: xxx,version_external_identifier: xxx,receipt_creation_date: 2022-10-24 07:14:36 Etc/GMT,receipt_creation_date_ms: 1666595676000,receipt_creation_date_pst: 2022-10-24 00:14:36 America/Los_Angeles,request_date: 2023-02-24 03:29:47 Etc/GMT,request_date_ms: 1677209387760,request_date_pst: 2023-02-23 19:29:47 America/Los_Angeles,original_purchase_date: 2022-07-04 03:24:29 Etc/GMT,original_purchase_date_ms: 1656905069000,original_purchase_date_pst: 2022-07-03 20:24:29 America/Los_Angeles,original_application_version: 2,in_app: [ //所有订单都可能存在主要是非订阅订单{quantity: 1,product_id: xxxx,transaction_id: xxxx,original_transaction_id: xxx,purchase_date: 2022-07-04 03:25:29 Etc/GMT,purchase_date_ms: 1656905129000,purchase_date_pst: 2022-07-03 20:25:29 America/Los_Angeles,original_purchase_date: 2022-07-04 03:25:30 Etc/GMT,original_purchase_date_ms: 1656905130000,original_purchase_date_pst: 2022-07-03 20:25:30 America/Los_Angeles,expires_date: 2022-07-11 03:25:29 Etc/GMT,expires_date_ms: 1657509929000,expires_date_pst: 2022-07-10 20:25:29 America/Los_Angeles,web_order_line_item_id: xxx,is_trial_period: false,is_in_intro_offer_period: false,in_app_ownership_type: PURCHASED}]},latest_receipt_info: [ //订单订阅集合从上往下订单时间倒序第一个为最新的支付订单{quantity: 1,product_id: xxx, //订单产品idapple后台支付配置的参数transaction_id: xxx, //apple当前订单号original_transaction_id: xxx, //apple原始订单号该用户在该产品第一笔支付订单可当做同一批订单朔源purchase_date: 2022-11-25 08:19:27 Etc/GMT, //订单时间purchase_date_ms: 1669364367000,purchase_date_pst: 2022-11-25 00:19:27 America/Los_Angeles,original_purchase_date: 2022-07-04 03:25:30 Etc/GMT, //最初购买时间original_purchase_date_ms: 1656905130000,original_purchase_date_pst: 2022-07-03 20:25:30 America/Los_Angeles,expires_date: 2023-11-25 08:19:27 Etc/GMT, //订阅过期时间expires_date_ms: 1700900367000,expires_date_pst: 2023-11-25 00:19:27 America/Los_Angeles,web_order_line_item_id: xxx,is_trial_period: false, //是否是试用订单is_in_intro_offer_period: false,in_app_ownership_type: PURCHASED,subscription_group_identifier: xxx}],latest_receipt: ------------加密串------------,pending_renewal_info: [{auto_renew_product_id: xxx,product_id: xxx,original_transaction_id: xxx,auto_renew_status: 0}],status: 0 //状态成功 } 2.apple支付回调通知接入 回调通知配置:苹果后台可配置生产环境和沙箱环境的APPLE回调通知地址 接入文档responseBodyV1 | Apple Developer Documentation 提示:接入apple支付回调apple提供了v1和v2两种类型v2需要多一步加解密的操作 功能说明该通知主要是订单状态的变更等包括续订付费通知取消订阅退款等通知 可进行订单处理 通知类型说明: INITIAL_BUY 首次购买 REFUND 退款 CANCEL 取消订阅 DID_RENEW 自动续订 INTERACTIVE_RENEWAL 应用界面或appstore手动续订 DID_RECOVER 恢复订阅 回调请求参数示例 {notification_type:DID_RENEW, //通知类型,该类型为续订通知auto_renew_product_id:xxx,password:xxx, //共享密钥可以验证是否真实通知environment:Sandbox,original_transaction_id:xxx,unified_receipt:{status:0,environment:Sandbox,latest_receipt_info:[ //第一笔为最新的通知订单{quantity:1,product_id:xxx,transaction_id:xxx, //当前订单号purchase_date:2022-06-08 09:51:55 Etc/GMT,purchase_date_ms:1654681915000,purchase_date_pst:2022-06-08 02:51:55 America/Los_Angeles,original_purchase_date:2022-06-08 04:36:20 Etc/GMT,original_purchase_date_ms:1654662980000,original_purchase_date_pst:2022-06-07 21:36:20 America/Los_Angeles,expires_date:2022-06-08 09:54:55 Etc/GMT,expires_date_ms:1654682095000,expires_date_pst:2022-06-08 02:54:55 America/Los_Angeles,web_order_line_item_id:xxx,is_trial_period:false,is_in_intro_offer_period:false,original_transaction_id:xxx, //原始订单号该产品首次的订单号in_app_ownership_type:PURCHASED,subscription_group_identifier:xxx},{quantity:1,product_id:xxx,transaction_id:xxx,purchase_date:2022-06-08 09:48:03 Etc/GMT,purchase_date_ms:xxx,purchase_date_pst:2022-06-08 02:48:03 America/Los_Angeles,original_purchase_date:2022-06-08 04:36:20 Etc/GMT,original_purchase_date_ms:1654662980000,original_purchase_date_pst:2022-06-07 21:36:20 America/Los_Angeles,expires_date:2022-06-08 09:51:03 Etc/GMT,expires_date_ms:1654681863000,expires_date_pst:2022-06-08 02:51:03 America/Los_Angeles,web_order_line_item_id:xxx,is_trial_period:false,is_in_intro_offer_period:false,original_transaction_id:xxx,in_app_ownership_type:PURCHASED,subscription_group_identifier:xxx}],pending_renewal_info:[{auto_renew_status:1,auto_renew_product_id:xxx,product_id:xxx,original_transaction_id:xxx}]},bvrs:xxx,bid:com.xxx,auto_renew_status:true } 六、接入问题说明 1.latest_receipt_info集合订单按时间倒序排序所以第一笔为最新的订单 2.ios收据为账户维度即收据和通知获取的数据为该账户的历史订单集合非当前支付 3.ios订单未返回金额等参数需要自己做处理 4.ios退款通知不支持订阅类型 5.apple支付为全球性支付需要自己处理货币转换 6.同一个产品包括同产品组在同一个账户支付会生成一个原始订单号可根据该订单号溯源 7.订单校验只适用于恢复订阅和收据校验具体支付处理按通知为主 8.状态码21007为测试环境的收据请求到了正式环境
http://www.w-s-a.com/news/394223/

相关文章:

  • 做宣传海报网站专业网站设计速寻亿企邦
  • 秦皇岛市住房和城乡建设局网站有关网站开发的参考文献
  • 晋城城乡建设局网站深圳外贸业务员工资
  • 招聘网站开发的公司销售运营主要做什么
  • 徐州网站无障碍建设wordpress证书
  • c语言可以做网站吗请人做网站收费多少
  • 中英双语网站怎么做网站为什么做静态
  • 毕业设计做音乐网站可以吗网站运营方案
  • windos 下做网站工具网站右侧返回顶部
  • 点餐网站怎么做济源网站建设济源
  • 嘉兴公司网站制作文明网站的建设与管理几点思考
  • 扬州公司做网站徐州网站建设优化
  • 手机网站弹出层插件有哪些wordpress 文章标签
  • 网站建设详细合同范本长沙注册公司流程与费用
  • 搜索引擎网站录入wordpress怎么修改导航
  • 业务接单网站重庆网站制
  • 绿色农产品网站景区网站建设策划方案
  • 服务器做ssr后还可以做网站吗品牌形象设计公司
  • 太原网站制作计划wordpress创建文章
  • 网站优化要怎么做seo网站关键词优化报价
  • 公司网站友情链接怎么做副链华为荣耀手机官网
  • 一条龙做网站旅游网页设计模板图凡科
  • 中山网站建设哪家便宜在中国做外国网站怎么收钱
  • 网站优化大计孝感注册公司
  • 设计接单app平台有哪些在线网站seo诊断
  • 兰州网站建设推广现代营销手段有哪些
  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路
  • 重庆自助建站模板网络服务器配置与管理
  • 外贸网站怎样做小程序买量平台