Получение позиций из Braintree Transactions

API транзакций Braintree имеет поле для элементов строки, но как я его использую? Ответ транзакции не возвращает строки, панель управления транзакциями.

Похоже, позиции на самом деле нигде не хранятся. Я прав? Если да, то какой в ​​них смысл?

Я хочу показать клиентам детализированную квитанцию ​​о транзакции (это действительно очевидный вариант использования, верно?). Есть ли способ заставить Braintree сгенерировать это как часть транзакции?

Я использую SDK Braintree Node.js версии 2.5.


person Keith Ng    schedule 04.02.2018    source источник


Ответы (2)


Я не уверен, было ли это так месяц назад, когда вы задали вопрос, но кажется, что ответ транзакции действительно возвращает позиции:

https://developers.braintreepayments.com/reference/response/transaction/node#line_items

person Mike Davlantes    schedule 06.03.2018

ОБНОВЛЕННЫЙ ОТВЕТ

Начиная с версии 2.6.0 Braintree Node SDK, lineItems является атрибутом объекта ответа Transaction. См. соответствующую документацию Braintree здесь.

ИСХОДНЫЙ ОТВЕТ

Вы можете использовать gateway.transactionLineItem.findAll(someTransactionId, function(err, response) {}) для получения позиций, связанных с транзакцией. Это задокументированы в тестах SDK:

specHelper.defaultGateway.transactionLineItem.findAll(response.transaction.id, function (err, response) {
    assert.equal(response.length, 1);
    let lineItem = response[0];

    assert.equal(lineItem.quantity, '1.0232');
    assert.equal(lineItem.name, 'Name #1');
    assert.equal(lineItem.kind, 'debit');
    assert.equal(lineItem.unitAmount, '45.1232');
    assert.equal(lineItem.totalAmount, '45.15');
    done();
});

Мы находимся в процессе обновления наших документов для разработчиков и Панель управления, чтобы отразить это поведение.

person Shea    schedule 05.02.2018
comment
как будет выглядеть объект для объявления ваших позиций в транзакции? - person Tank12; 09.09.2019
comment
@Tank12 на основе документов разработчиков lineItems представляет собой массив объекты, которые вы можете включить в transaction.sale(). - person Shea; 06.02.2020