如何在Netsuite中创建新的销售订单时设置Paypal授权ID

时间:2012-01-12 16:03:57

标签: php api paypal netsuite

我尝试使用PHPtoolkip_v2010.php在Netsuite中创建新的销售订单,并在其付款方式中添加授权ID。

我可以创建销售订单并将付款方式设置为PayPal,但我无法设置AuthId。如果我尝试设置事务ID我成功了,但是一旦我切换代码进行身份验证就失败了。

以下是我正在尝试的代码片段:

$sales_order_data = array(
    'entity'=> new nsRecordRef(array('internalId' => $customer_id)),
    'tranDate'=>date('c', strtotime($order_date)),
    'itemList'=>array('item'=>array()),
);

//...

$sales_order_data['paymentMethod'] = array('internalId'=>7);

//$sales_order_data['payPalTranId'] = $paypal_transaction_id;
$sales_order_data['paypalAuthId'] = $paypal_transaction_id;

$sales_order = new nsComplexObject('SalesOrder', $sales_order_data);
$new_sales_order = $ns->add($sales_order);

如果我通过API和var_dump获得现有的Paypal订单,我会看到字段payPalTranIdpaypalAuthId已设置。请注意,Paypal中的秒数P对于TranId是大写的,但对于AuthId则不是。但我已经为AuthId尝试了上限和无上限,没有结果。

2 个答案:

答案 0 :(得分:1)

看起来我想做的事情是不可能的。

我在Celigo发现了这个声明,这是一家专门将Magento与Netsuite整合在一起的公司。

  

授权和捕获都必须在Magento方面完成。   NetSuite不利于捕获已经支付的款项   NetSuite外部授权。需要设置的NetSuite字段   表示授权状态“PayPal Status”是只读的   因而无法设定。除非事务无法处理   此字段已设置。

虽然他们没有明确声明我无法设置AuthId,但我这样做的目的是在Netsuite之外验证付款并在其中捕获。如果那是不可能的,那么设置AuthId对我来说毫无意义。

答案 1 :(得分:0)

希望你把它理顺并成功。 您是否尝试启用"覆盖PayPal设置"领域? 我正在尝试从外部网站商店和authid引入PayPal信息,将此字段视为阅读您的帖子。