Php 削减;数组";从邮政信息
在这个问题之后,我们刚刚开始开发一个支付网关,不幸的是,目标api的文档几乎不存在,银行的支持也很糟糕 在文档中的“消息格式授权请求”下,我们可以找到以下示例:Php 削减;数组";从邮政信息,php,forms,post,gateway,Php,Forms,Post,Gateway,在这个问题之后,我们刚刚开始开发一个支付网关,不幸的是,目标api的文档几乎不存在,银行的支持也很糟糕 在文档中的“消息格式授权请求”下,我们可以找到以下示例: mid=12345&terminal=1234&version=3.1&command=CRAUTH&ref_no=3421_14120348_14120348&ref_date=20141203061048&service_id=11&cust_id=1&cur_abbr
mid=12345&terminal=1234&version=3.1&command=CRAUTH&ref_no=3421_14120348_14120348&ref_date=20141203061048&service_id=11&cust_id=1&cur_abbr=THB&amount=300.00&backURL=https://www.yourshopreturnurl.com/
因此,我们创建了网关(WooCommerce),并使用此表单传递数组值:
$scb_args_array = array();
foreach($ccavenue_args as $param => $value) { $scb_args_array[] = "$param=$value"; }
$paramsJoinedNew = implode('&', $scb_args_array);
return '<form action="'.$live_url.'" method="post" id="ewire_payment_form">
<input type="hidden" name="bank_Values" value="'. $paramsJoinedNew .'" />
<input type="submit" class="button-alt" id="submit_ewire_payment_form" value="'.__('Pay via bank', 'woothemes').'" /> <a class="button cancel" href="'.$order->get_cancel_order_url().'">'.__('Cancel order & restore cart', 'woothemes').'</a>
</form>';}
提交给银行,会导致银行的空白页没有任何调试信息
我们假设ARRAY([bank\u Values]=>
是问题所在,是否有任何方法将该部分从post信息中剥离出来,因此它只发送原始值,如他们的示例所示
也可能有人有另一个解决问题的办法
感谢您的帮助!如果您想发送原始数据,请为每个数据创建一个单独的输入字段,如下所示
<input type="hidden" name="mid" value="12345" />
<input type="hidden" name="version" value="3.1" />
no这不是问题-->数组([bank\u Values]您发送的是bank\u Values=ENCODED\u STRING
,而不是a=1&b=2&……
。您应该使用名称mid
,terminal
等创建N个表单字段,填充它们的值,然后执行常规POST(GET?)。使用HTTP Post将导致向银行发送查询字符串,例如….但是,查看使用该银行的其他商户,他们似乎以不同的方式解析变量(跟踪重定向)。这是其他商户的普通url检查Post数据,这将是此建议的结果:数组([mid]=>12345[版本]=>3.1)
但是银行要求:mid=1234&version=3.1&……
还有其他想法吗?您可以使用http\u build\u query()构建数据,然后使用CURL将数据发布到银行url
<input type="hidden" name="mid" value="12345" />
<input type="hidden" name="version" value="3.1" />