我正在为我的支付网关的woocommerce创建一个支付网关插件。 我通过我的支付网关点击结账页面。我收到语法错误。我认为我没错,下面是我的process_payment函数代码
/**
* Process the payment and return the result
**/
function process_payment($order_id){
global $woocommerce;
$order = new WC_Order($order_id);
$order_id = $order_id;
$the_order_total = $order->order_total;
$mercahntId=$this->merchant_id;
$merchantPassword=$this ->merchant_password;
$retrunUrl=$this->notify_url;
$paymentGatewayUrl=$this ->liveurl;
echo '<form name="Generator" method="post" action="' . $paymentGatewayUrl . '">';
echo '<input type="hidden" name="UID" value="' . $mercahntId . '">';
echo '<input type="hidden" name="PWD" value="' . $merchantPassword . '">';
echo '<input type="hidden" name="ProductDesc" value="' . $order_id . '">';
echo '<input type="hidden" name="returnURL" value="' . $retrunUrl . '">';
echo '<input type="hidden" name="Amount" value="' . $the_order_total . '">';
echo'</form>';
die();
//return array('result' => 'success', 'redirect' => $order->get_checkout_payment_url( true ));
}
它给我一个错误 SyntaxError:意外的令牌&lt;
我认为我在woocommerce中使用正确的语法来打印表单。任何想法?
还有一个问题,我如何能够找出哪个页面和行号的错误。在woocommerce。
答案 0 :(得分:0)
可能不是HTML的语法产生错误。服务器可能正在生成HTML响应(从<
开始),而执行请求的客户端不期望它。响应可能类似于用HTML包装的HTTP状态代码,也可能是您打印的HTML表单。
答案 1 :(得分:0)
当用户在WooCommerce中提交订单时,会触发支付网关的process_payment方法。该函数与Ajax一起运行。我相信尝试在该函数内打印任何内容都会导致错误。如果您在开发和调试插件时需要查看数据,请尝试使用wc_add_notice函数,并且不要将结果返回为成功。