Instamojo - 如何控制重定向页面消息

Instamojo - How to control redirect page message

我试图使用此脚本获取有关付款状态(成功、失败、已取消)的消息。

$status = $_POST['status'];

if $status == "success" (
?> CONGRATS! <? AND SO ON

但我没有成功。 这是我第一次使用 instamojo,所以我恳请你们帮助我。

感谢和问候
巴姆

考虑到您正在使用 PHP,那么您应该使用 $_GET 而不是 $_POST 来获取查询参数的值。


目前我们 return 两个带有重定向 URL 的查询参数:payment_idstatus

这里的status参数只是为了向后兼容,你不应该依赖它的值来标记支付成功,因为任何人都可以修改它的值。

正确的方法是使用payment_id并查询我们的API得到payment details.

示例响应可能如下所示:

{
    "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也是return和"success": true,但不要将其与实际付款状态混淆。

检查url中的状态是否存在

if(isset($_GET['status']))
   $status =$_GET['status'];

现在检查状态是失败还是成功

if($status != 'failure')
{
   "redirect to success url"
}
else{
   "redirect to failure url"
}