我试图使用此脚本获取有关付款状态(成功,失败,已取消)的消息。
$status = $_POST['status'];
if $status == "success" (
?> CONGRATS! <? AND SO ON
但我没有成功。 这是我第一次和instamojo一起,所以我很乐意请你们帮助我。
谢谢&amp;问候
Bhaamb
答案 0 :(得分:2)
考虑到您正在使用PHP,那么您应该使用$_GET
而不是$_POST
来获取查询参数的值。
目前,我们使用重定向网址返回两个查询参数:payment_id
和status
。
此处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'))