从PHP

时间:2018-04-05 14:27:23

标签: php http crud

我试图将银行的虚拟支付系统整合到我的网站中。

银行系统对我定义的URL(PHP文档)进行异步HTTP调用,然后从那里尝试获取订单ID并将订单标记为已付款。

我面临的问题是,只有HTTP调用我似乎无法获得此ID参数,因为预期的结果(couchdb documnt标记为已付款)不是那里。

但是,当我浏览我的文档并在其后面粘贴HTTP调用的内容时,它就会起作用,如下所示:

http://example.com/crud.php?Ds_SignatureVersion=xxx&Ds_MerchantParameters=xxx&Ds_Signature=xxx

在我的crud.php我执行以下操作:

$test = $_GET['Ds_MerchantParameters'];

为什么我在浏览网址时设法获取此参数,而不是在银行系统进行HTTP POST呼叫时?

1 个答案:

答案 0 :(得分:1)

如果银行系统向您的网站发出POST请求,则传递的参数不在$_GET中,而在$_POST中。所以改变

$test = $_GET['Ds_MerchantParameters'];

$test = $_POST['Ds_MerchantParameters'];

如果您希望能够对页面使用GET和POST请求,还可以使用$ _REQUEST:

$test = $_REQUEST['Ds_MerchantParameters'];