php服务端处理IOS自动续费

本文总结了使用PHP处理iOS应用内购买(IAP)订阅支付的自动续费功能。服务端需要验证客户端传来的receipt,创建订单并处理苹果的自动回调。文中包含订单创建和自动回调接口的PHP代码示例。

公司做的app需要做IAP订阅支付,自己做完总结一下,希望对小伙伴们有帮助我就很欣慰了。代码写的不好 不要喷我。
首先讲一下我的业务逻辑:
先上图
在这里插入图片描述
下面详细讲一下,作为服务端具体要做些什么,并贴上对应的代码:
第一步:通过客户端传过来的recept(票据)进行生成订单的操作【注意这里需要验证订单是否已存在】,订单生成返回客户端相关信息;

 public function pay()
    {
   
   
        $uid = $this->request->header('uid');
        $receipt_data = $this->request->post('receipt');
        if (!$uid || !$receipt_data) return $this->rep(400);

        $info = $this->getReceiptData($receipt_data, $this->isSandbox);//去苹果进行验证,防止收到的是伪造的数据

        Log::info(['uid'=>$uid,'receipt'=>$receipt_data,'iap_info'=>$info]);

        if (is_array($info) && $info['status'] == 0) {
   
   //没有错误就进行生成订单的业务逻辑的处理
         
        } elseif (is_array($info) && $info['status'] == 21007) {
   
   
            $new_info = $this->getReceiptData($receipt_data, true);//接着去苹果官网进行二次验证(沙盒)
           // 进行生成订单的业务逻辑的处理
        }
    }
private function getReceiptData($receipt, $isSandbox = false)
    {
   
   
        if ($isSandbox) {
   
   
            $endpoint = 'https://sandbox.itunes.apple.com/verifyReceipt';//沙箱地址
        } else {
   
   
            $endpoint = 'https://buy.itunes.apple.com/verifyReceipt';//真实运营地址
        }
        $postData = json_encode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值