DocuSign付款字段模板

时间:2020-02-07 04:51:49

标签: php docusignapi

我有一个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)
            ])
        );

在创建文档时更新公式

问题:

  1. 为什么setPaymentDetails被忽略(我已设置为模板货币:EUR,并且我想使用API​​调用将其更改为USD)?

  2. 是否可以将字段动态添加到现有模板?

编辑:我发现要点2: 我需要添加

                ->setDocumentId(1)
                ->setPageNumber(1)

使其具有动态感

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