|
@@ -218,8 +218,6 @@ class Payios extends Api
|
|
|
$receipt_data = input('apple_receipt', '', 'trim');
|
|
|
$transaction_id = input('transaction_id', '', 'trim');
|
|
|
|
|
|
-
|
|
|
-
|
|
|
if (!$receipt_data || !$original_transaction_id || !$transaction_id) {
|
|
|
$this->error('缺少参数');
|
|
|
}
|
|
@@ -228,6 +226,11 @@ class Payios extends Api
|
|
|
$prefix = 'iosVIP订阅'.',传入original_transaction_id:'.$original_transaction_id.',传入transaction_id:'.$transaction_id.'。';
|
|
|
filePut($prefix.'参数apple_receipt:'.$receipt_data);
|
|
|
|
|
|
+ //查找订单
|
|
|
+ $order_map = [
|
|
|
+ 'original_transaction_id' => $original_transaction_id,
|
|
|
+ ];
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
@@ -285,6 +288,7 @@ class Payios extends Api
|
|
|
$only_trans = [];
|
|
|
foreach($in_app as $key => $trans){
|
|
|
//非订阅信息,原始信息
|
|
|
+ // $trans['transaction_id'] == $transaction_id 这个不重要,重要的是后面2个。应该也重要,保证这次处理的是初始交易
|
|
|
if($trans['transaction_id'] == $transaction_id && $transaction_id == $trans['original_transaction_id'] && $trans['product_id'] == $order_info['bundle_id']){
|
|
|
$only_trans = $trans;
|
|
|
break;
|
|
@@ -292,8 +296,8 @@ class Payios extends Api
|
|
|
}
|
|
|
if(empty($only_trans)){
|
|
|
Db::rollback();
|
|
|
- filePut($prefix.'未找到匹配的交易,产品id'.$order_info['bundle_id'].',交易id'.$transaction_id);
|
|
|
- $this->error('未找到匹配的交易,产品id'.$order_info['bundle_id'].',交易id'.$transaction_id);
|
|
|
+ filePut($prefix.'未找到匹配的交易,产品id'.$order_info['bundle_id'].',原始交易id'.$transaction_id);
|
|
|
+ $this->error('未找到匹配的交易,产品id'.$order_info['bundle_id'].',原始交易id'.$transaction_id);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -356,11 +360,13 @@ class Payios extends Api
|
|
|
'days' => $args['days'],
|
|
|
'createtime' => time(),
|
|
|
'apple_receipt' => $receipt_data,
|
|
|
+ 'in_app_one' => json_encode($only_trans),
|
|
|
'original_transaction_id' => $only_trans['original_transaction_id'],
|
|
|
'transaction_id' => $only_trans['transaction_id'],
|
|
|
'status' => 1,
|
|
|
'times' => 1,
|
|
|
- 'notification_type' => 'INITIAL_BUY'.',首次订阅',
|
|
|
+ 'original_purchase_date_ms' => $only_trans['original_purchase_date_ms'],
|
|
|
+ //'notification_type' => 'INITIAL_BUY'.',首次订阅',
|
|
|
];
|
|
|
$task_id = Db::name('user_vipxufei_task')->insertGetId($task_data);
|
|
|
if($task_id)
|
|
@@ -375,10 +381,11 @@ class Payios extends Api
|
|
|
|
|
|
// 修改订单状态
|
|
|
$update_order = [
|
|
|
+ 'notifytime'=>time(),
|
|
|
'order_status'=>1,
|
|
|
- 'transaction_id' => $only_trans['transaction_id'],//理论上与 original_transaction_id 相等
|
|
|
+ 'original_transaction_id' => $only_trans['original_transaction_id'],//理论上与 transaction_id 相等
|
|
|
'in_app_one' => json_encode($only_trans),
|
|
|
- 'notifytime'=>time(),
|
|
|
+
|
|
|
];
|
|
|
$ros = Db::name('pay_order')->where(['id' => $order_info['id']])->update($update_order);
|
|
|
if($ros === false) {
|