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

时间:2016-01-08 13:03:44

标签: instamojo

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

$status = $_POST['status'];

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

但我没有成功。 这是我第一次和instamojo一起,所以我很乐意请你们帮助我。

谢谢&amp;问候
Bhaamb

2 个答案:

答案 0 :(得分:2)

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

目前,我们使用重定向网址返回两个查询参数: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也会返回"success": true,但不要将其与实际付款状态混淆。

答案 1 :(得分:1)

检查网址中的状态是否存在

for c, i in enumerate(product(zip(l1,l2), repeat = 2), 1):
    print(i, '\n' if c % 4 == 0 else '')

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

((1, 'a'), (1, 'a')) 
((1, 'a'), (2, 'b')) 
((1, 'a'), (3, 'c')) 
((1, 'a'), (4, 'd')) 

((2, 'b'), (1, 'a')) 
((2, 'b'), (2, 'b')) 
((2, 'b'), (3, 'c')) 
((2, 'b'), (4, 'd')) 

((3, 'c'), (1, 'a')) 
((3, 'c'), (2, 'b')) 
((3, 'c'), (3, 'c')) 
((3, 'c'), (4, 'd')) 

((4, 'd'), (1, 'a')) 
((4, 'd'), (2, 'b')) 
((4, 'd'), (3, 'c')) 
((4, 'd'), (4, 'd'))