我正在使用Quickbooks' Hosted Paypage,到目前为止,除了订单信息之外,我还设法让一切工作正常。我没有收到任何错误。无论是否有与订单相关的代码,付款都会继续有效。
我不确定如何解决这个问题,我找不到任何相关的例子。我假设我正在格式化错误,但我不知道如果我是是什么。
以下是相关代码。我拿出了applogin和authticket,但那些都是正确的。
<?php
$order = '{"Items":[
{"ItemSku":"NA","ItemDesc":"Party Hats","ItemPrice":"1.00","ItemQty":"1","ItemIsShippable":"0","ItemIsTaxable":"0"},
{"ItemSku":"NA","ItemDesc":"Extra Guests","ItemPrice":"1.08","ItemQty":"1","ItemIsShippable":"0","ItemIsTaxable":"0"}],
"EstDeliveryDate": "01/01/2080"}';
// I've tried with and without this line
$order = json_decode($order, true);
/*---------------------------------------
Paypage
---------------------------------------*/
if ($NoErrors = true) {
// Intuit Base URL
$base_url = 'https://paymentservices.intuit.com/';
// Construct URL for Intuit ticket
$ticket = array(
'AuthModel' => 'desktop',
'AppLogin' => 'xxx.xxx.com',
'AuthTicket' => 'xxx-xxx-xxxx',
'TxnType' => 'Sale',
'Amount' => $Amount,
'CustomerName' => $CustomerFullName,
'CustomerStreet'=> $CustomerStreet,
'CustomerCity' => $CustomerCity,
'CustomerState' => $CustomerState,
'CustomerPostalCode'=> $CustomerPostalCode,
'IsCustomerFacing' => '1'
);
array_push($ticket, $order);
// Go to Intuit ticket URL
$ticket_url = $base_url . "paypage/ticket/create?" . http_build_query($ticket);
$print_ticket = file_get_contents($ticket_url);
感谢您的时间!
答案 0 :(得分:1)
重新阅读文档后,我发现错过了URL中的'Order ='。我删除了json_decode行,然后将“'Order'=&gt; $ order”添加到我的$ ticket数组的末尾。这让它发挥作用。
$ticket = array(
'AuthModel' => 'desktop',
'AppLogin' => 'xxxx',
'AuthTicket' => 'xxxx',
'TxnType' => 'Sale',
'Amount' => $Amount,
'CustomerName' => $CustomerFullName,
'CustomerStreet'=> $CustomerStreet,
'CustomerCity' => $CustomerCity,
'CustomerState' => $CustomerState,
'CustomerPostalCode'=> $CustomerPostalCode,
'IsCustomerFacing' => '1',
'Order' => $order
);