Шаблон платежного поля DocuSign - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть шаблон DocuSign

У меня есть поле платежа, и я использую формулу (мне пришлось установить там валюту, потому что это обязательно, но я хочу изменить его с помощью вызова API)

Я использую PHP и docusign- php -клиент для интеграции. Мне удалось обновить формулу, но я хочу изменить валюту 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 и хочу изменить его на USD с помощью вызова API )?

  2. Можно ли динамически добавить поле в существующий шаблон?

РЕДАКТИРОВАТЬ: я понял пункт 2: мне нужно было добавить

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

, чтобы сделать его динамичным c

1 Ответ

0 голосов
/ 07 февраля 2020

Из того, что я вижу, 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...