如何在Quickbooks的托管付款页中包含订单信息?

时间:2014-06-03 15:08:17

标签: php quickbooks intuit-partner-platform intuit

我正在使用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);

感谢您的时间!

1 个答案:

答案 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
                );