我试图使用此脚本获取有关付款状态(成功、失败、取消)的消息。
$status = $_POST['status'];
if $status == "success" (
?> CONGRATS! <? AND SO ON
但我没有成功。这是我第一次使用 instamojo,所以我恳请你们帮助我。
感谢和问候
Bhaamb
我试图使用此脚本获取有关付款状态(成功、失败、取消)的消息。
$status = $_POST['status'];
if $status == "success" (
?> CONGRATS! <? AND SO ON
但我没有成功。这是我第一次使用 instamojo,所以我恳请你们帮助我。
感谢和问候
Bhaamb
考虑到您使用的是 PHP,那么您应该使用$_GET
not$_POST
来获取查询参数的值。
目前,我们返回两个带有重定向 URL 的查询参数:payment_id
和status
.
这里的status
参数只是为了向后兼容,你不应该依赖它的值来标记支付成功,因为任何人都可以修改它的值。
正确的方法是使用payment_id
并查询我们的 API 来获取付款详情。
示例响应可能如下所示:
{
"payment": {
"payment_id": "MOJO3815000J72853518",
"quantity": 1,
"status": "Credit", <---- Payment status
"link_slug": "hello-api-inr-link",
"link_title": "Hello API INR Link",
"buyer_name": "A Gehani",
"buyer_phone": "+9100000000",
"buyer_email": "akash@instamojo.com",
"currency": "INR",
"unit_price": "9.00",
"amount": "9.00",
"fees": "0.45",
"shipping_address": null,
"shipping_city": null,
"shipping_state": null,
"shipping_zip": null,
"shipping_country": null,
"discount_code": null,
"discount_amount_off": null,
"variants": [],
"custom_fields": null,
"affiliate_id": "hiway",
"affiliate_commission": "3.00",
"created_at": "2014-12-16T13:17:27.943Z"
},
"success": true
}
这里如果payment
->的值status
是"Credit"
,则支付成功,否则不是。
同样,如果您使用的是 PHP,那么您可能需要使用我们的 API 包装器:Get Details of a Payment using Payment ID
请注意,API 也会返回"success": true
,但不要将其与实际付款状态混淆。
检查url中的状态是否存在
if(isset($_GET['status']))
$status =$_GET['status'];
现在检查状态是失败还是成功
if($status != 'failure')
{
"redirect to success url"
}
else{
"redirect to failure url"
}