大佬教程收集整理的这篇文章主要介绍了IOS内购--后台PHP认证,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_6@一、苹果APP支付到服务端验证流程
@H_301_6@1. 用户在app中点击购买; @H_301_6@3. app获取到服务端订单生成成功后弹出支付窗口; @H_301_6@5. app接收支付后apple应用商店返回的支付凭证;@H_301_6@6. app将支付凭证传回服务器,调用服务器接口验证凭证是否有效;
@H_301_6@7. app获取服务器端的验证结果,反馈用户支付结果状态。@H_301_6@说明:苹果支付的商品,需要先在 itunes Connect 中配置APP内购项目,配置后对应会生成一个商品ID,在苹果APP端调用苹果支付时,就需要给苹果商店传送这个商品ID(product_id)参数。然后支付过程是在苹果商店中进行,支付完成后,返回一个支付凭证给APP,表示支付完成,但一般会再次调用自己的服务器(商家服务器)端进行支付验证,这时候在服务器写个验证接口,判断凭证是否有效,如果有效,对应修改订单状态和购买的商品状态等等。
@H_301_6@二、凭证验证函数
);
|
@H_301_6@三、应用示范(ThinkPHP3.2控制器)
public
function
verify()
{
// 获取订单号
$order_no
= I(
‘post.order_no‘
);
$user_id
= I(
‘post.uid‘
);
//苹果内购的验证收据
$apple_receipt
= I(
‘post.apple_receipt‘
);
// 判断是否缺少参数
if
(
empty
(
$order_no
) ||
empty
(
$user_id
) ||
empty
(
$apple_receipt
) ) {
$message
=
"缺少请求参数"
;
$status
=
"400"
;
}
else
{
// 代码思路
// 1. 判断订单是否存在并且有效
// 2. 判断用户是否存在
$verify_result
= validate_apple_pay(
$apple_receipt
);
// 4.判断验证结果
if
(
$apple_result
[
‘status‘
] ) {
// 凭证验证成功
// 其他code,修改订单状态、购买商品状态……
$message
=
"ok"
;
$status
=
"200"
;
}
else
{
// 凭证验证失败
$status
=
"401"
;
$message
=
"验证失败"
;
}
}
// 返回接口数据
$result
=
array
();
if
( !
empty
(
$apple_receipt
) ) {
$result
[
‘verify_result‘
] =
$verify_result
[
‘message‘
];
$result
[
‘apple_receipt‘
] =
$apple_receipt
;
}
$result
[
‘status‘
] =
$status
;
$result
[
‘message‘
] =
$message
;
$this
->response(
$result
,
‘json‘
);
//以json方式返回数据
}
@H_301_537@
@H_301_6@四、参考文档@H_301_6@1. HTTP标准状态码;
@H_301_6@2. 苹果内购买项目配置流程;@H_301_6@3. iOS应用内支付(IAP)详解
@H_301_6@@H_301_6@转自:http://code.js-code.com/PHP-weizijiaocheng-394625.html
以上是大佬教程为你收集整理的IOS内购--后台PHP认证全部内容,希望文章能够帮你解决IOS内购--后台PHP认证所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。