我有一个DocuSign模板
我在那里有付款字段,并且我正在使用公式(我必须在此处设置货币,因为这是强制性的,但是我想使用API调用更改它)
我正在使用PHP和docusign-php-client进行集成 我已经成功地更新了公式,但是我想更改Payment_details货币,但我无法做到这一点
$client->setTabs((new Tabs)
->setNumberTabs([(new Number())->setTabLabel('TOTAL_PRICE')->setValue(1000)])
->setFormulaTabs([(new FormulaTab())
->setRequired(true)
->setFormula('([TOTAL_PRICE]) * 3')
->setRoundDecimalPlaces(2)
->setTabLabel('PAYMENT_PRICE')
->setPaymentDetails((new PaymentDetails())
->setCurrencyCode('USD')
->setLineItems([
(new PaymentLineItem())
->setName('TOTAL_PRICE')
->setAmountReference('TOTAL_PRICE')
])
->setGatewayAccountId('xxxx-xxxxx-xxxx-xxxx')
)
->setXPosition(482) // i was testing if i can add dynamic field but i cannot
->setYPosition(798)
])
);
在创建文档时更新公式
问题:
为什么setPaymentDetails被忽略(我已设置为模板货币:EUR,并且我想使用API调用将其更改为USD)?
是否可以将字段动态添加到现有模板?
编辑:我发现要点2: 我需要添加
->setDocumentId(1)
->setPageNumber(1)
使其具有动态感
答案 0 :(得分:0)
从我看到的内容来看,setPaymentDetails采用JSON,如下所示:
$payment_details = new \DocuSign\eSign\Model\PaymentDetails([
'gateway_account_id' => $args['gateway_account_id'],
'currency_code' => "USD",
'gateway_name' => $args['gateway_name'],
'line_items' => [$payment_line_iteml1, $payment_line_iteml2]]);
因此,我不确定您对每个参数进行单独调用的方式。 在这里查看代码示例: https://github.com/docusign/eg-03-php-auth-code-grant/blob/master/src/EG014CollectPayment.php