Как создать несколько платежей с помощью PHP SDK Quickbooks - PullRequest
0 голосов
/ 06 февраля 2019

Я создаю приложение для Quickbook на PHP

Я использую https://github.com/intuit/QuickBooks-V3-PHP-SDK/

Я хочу совершать платежи по нескольким счетам за один вызов API.Я вижу их пример, но они делают единый платеж.Мне нужно несколько платежей для разных счетов для разных клиентов.

Как это возможно?

Ответы [ 2 ]

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

Наконец-то я нашел решение для себя.

API имеет пакетную опцию для добавления нескольких объектов в один пакет.

Спасибо всем

0 голосов
/ 06 февраля 2019

Их пример кода здесь:

Так вот фрагмент:

$theResourceObj = Payment::create([
  "CustomerRef" =>
  [
      "value" => "1"
  ],
  "TotalAmt" => 100.00,
  "Line" => [
  [
      "Amount" => 100.00,
      "LinkedTxn" => [
      [
          "TxnId" => "210",
          "TxnType" => "Invoice"
      ]]
  ]]
]);
$resultingObj = $dataService->Add($theResourceObj);

Тогда, если вы обратитесь к ихдокументация:

Вы можете видеть, что элемент Line состоит из Zero or more transactions accounting for this payment., включая The invoice to which payment is applied.то есть вы можете повторить операции в течение Line, чтобы применить платеж к более чем одному счету.

Таким образом, при применении платежа к более чем одному счету каждый отдельный счет-фактура и сумма применяемого платежа указываются в массиве повторяющегося узла Line:

$theResourceObj = Payment::create([
  "CustomerRef" =>
  [
      "value" => "1"
  ],
  "TotalAmt" => 100.00,
  "Line" => [
    [
        "Amount" => 50.00,
        "LinkedTxn" => [
        [
            "TxnId" => "210",
            "TxnType" => "Invoice"
        ]]
    ],
    [
        "Amount" => 25.00,
        "LinkedTxn" => [
        [
            "TxnId" => "211",
            "TxnType" => "Invoice"
        ]]
    ],
    [
        "Amount" => 25.00,
        "LinkedTxn" => [
        [
            "TxnId" => "212",
            "TxnType" => "Invoice"
        ]]
    ],
  ]
]);
$resultingObj = $dataService->Add($theResourceObj);
...