【问题标题】:Get fee amount from Braintree Transaction.search()从 Braintree Transaction.search() 获取费用金额
【发布时间】:2018-05-14 06:53:48
【问题描述】:

是否可以在使用Transaction.search() 方法搜索交易时获得 Braintree 费用金额?我专门用 Braintree Node.js SDK API,所以当我调用该方法时:

const gateway = braintree.connect({
    environment: braintree.Environment.Production,
    merchantId : process.env.BRAINTREE_merchantId,
    publicKey  : process.env.BRAINTREE_publicKey,
    privateKey : process.env.BRAINTREE_privateKey,
});

// start and end are well formatted dates, irrelevant here
const stream = gateway.transaction.search((search) => {
    search.createdAt().between(start, end)
});

let result = [];

stream.on("data", (transaction) => {
    result.push(transaction);
});
stream.on("end", () => {

    console.log(result[0]);

});
stream.on("error", reject);
stream.resume();

我的console.log(result[0]) 显示了相当大的(160 行代码)单个transaction 对象,其中transaction.serviceFeeAmount: null

console.log({
  "id": "1egncjr5",
  "status": "settled",
  "type": "sale",
  "currencyIsoCode": "EUR",
  "amount": "799.00",
  "merchantAccountId": "mycompanyEUR",
  "subMerchantAccountId": null,
  "masterMerchantAccountId": null,
  "orderId": "54144",
  "createdAt": "2018-03-07T08:55:09Z",
  "updatedAt": "2018-03-07T19:41:10Z",
  "customer": {
    "id": null,
    "firstName": null,
    "lastName": null,
    "company": "Kunlabora NV",
    "email": "client@email.com",
    "website": null,
    "phone": null,
    "fax": null
  },
  "billing": {
    "id": null,
    "firstName": null,
    "lastName": null,
    "company": "Kunlabora NV",
    "streetAddress": "Veldkant 33 A",
    "extendedAddress": null,
    "locality": "Kontich",
    "region": null,
    "postalCode": "2550",
    "countryName": "Belgium",
    "countryCodeAlpha2": "BE",
    "countryCodeAlpha3": "BEL",
    "countryCodeNumeric": "056"
  },
  "refundId": null,
  "refundIds": [],
  "refundedTransactionId": null,
  "partialSettlementTransactionIds": [],
  "authorizedTransactionId": null,
  "settlementBatchId": "2018-03-08_mycompanyEUR_ecwhvhcf",
  "shipping": {
    "id": null,
    "firstName": null,
    "lastName": null,
    "company": null,
    "streetAddress": null,
    "extendedAddress": null,
    "locality": null,
    "region": null,
    "postalCode": null,
    "countryName": null,
    "countryCodeAlpha2": null,
    "countryCodeAlpha3": null,
    "countryCodeNumeric": null
  },
  "customFields": "",
  "avsErrorResponseCode": null,
  "avsPostalCodeResponseCode": "U",
  "avsStreetAddressResponseCode": "U",
  "cvvResponseCode": "M",
  "gatewayRejectionReason": null,
  "processorAuthorizationCode": "735709",
  "processorResponseCode": "1000",
  "processorResponseText": "Approved",
  "additionalProcessorResponse": null,
  "voiceReferralNumber": "",
  "purchaseOrderNumber": null,
  "taxAmount": "0.00",
  "taxExempt": false,
  "creditCard": {
    "token": null,
    "bin": "CENSORED",
    "last4": "CENSODER",
    "cardType": "MasterCard",
    "expirationMonth": "CENSORED",
    "expirationYear": "CENSORED",
    "customerLocation": "CENSORED",
    "cardholderName": "",
    "imageUrl": "https://assets.braintreegateway.com/payment_method_logo/mastercard.png?environment=production",
    "prepaid": "No",
    "healthcare": "No",
    "debit": "No",
    "durbinRegulated": "No",
    "commercial": "No",
    "payroll": "No",
    "issuingBank": "BNP PARIBAS FORTIS",
    "countryOfIssuance": "BEL",
    "productId": "MCB",
    "uniqueNumberIdentifier": null,
    "venmoSdk": false,
    "maskedNumber": "CENSORED",
    "expirationDate": "04/2020"
  },
  "statusHistory": [
    {
      "timestamp": "2018-03-07T08:55:10Z",
      "status": "authorized",
      "amount": "799.00",
      "user": "office@mycompany.com",
      "transactionSource": "api"
    },
    {
      "timestamp": "2018-03-07T08:55:10Z",
      "status": "submitted_for_settlement",
      "amount": "799.00",
      "user": "office@mycompany.com",
      "transactionSource": "api"
    },
    {
      "timestamp": "2018-03-07T19:41:10Z",
      "status": "settled",
      "amount": "799.00",
      "user": null,
      "transactionSource": ""
    }
  ],
  "planId": null,
  "subscriptionId": null,
  "subscription": {
    "billingPeriodEndDate": null,
    "billingPeriodStartDate": null
  },
  "addOns": [],
  "discounts": [],
  "descriptor": {
    "name": null,
    "phone": null,
    "url": null
  },
  "recurring": false,
  "channel": "woocommerce_bt",
  "serviceFeeAmount": null,
  "escrowStatus": null,
  "disbursementDetails": {
    "disbursementDate": null,
    "settlementAmount": null,
    "settlementCurrencyIsoCode": null,
    "settlementCurrencyExchangeRate": null,
    "fundsHeld": null,
    "success": null
  },
  "disputes": [],
  "authorizationAdjustments": [],
  "paymentInstrumentType": "credit_card",
  "processorSettlementResponseCode": "",
  "processorSettlementResponseText": "",
  "threeDSecureInfo": null,
  "shipsFromPostalCode": null,
  "shippingAmount": null,
  "discountAmount": null,
  "paypalAccount": {},
  "coinbaseAccount": {},
  "applePayCard": {},
  "androidPayCard": {},
  "visaCheckoutCard": {},
  "masterpassCard": {}
})

问题:我如何在这里获得交易费?

【问题讨论】:

    标签: javascript node.js braintree


    【解决方案1】:

    您可能会在 transactionFeeAmount 字段中找到它

    【讨论】:

      【解决方案2】:

      这是我从 Braintree 支持团队收到的答复:


      很遗憾,目前无法使用 API 搜索 Braintree 费用金额意思是 2018 年 5 月 14 日)。

      您可以通过执行高级交易搜索来计算单个交易的费用。

      1. 登录Control Panel
      2. 在高级搜索下,点击交易
      3. 取消选中创建日期范围旁边的框
      4. 选中已支付日期范围旁边的框
      5. 选择您想要的日期范围
      6. 点击搜索
      7. 在结果页面上,点击下载
      8. 在您选择的电子表格程序中打开 CSV 文件

      从这里,您可以为您的交易费用创建额外的列。要查找您的具体交易费用,请查看您对帐单上的定价表。确保四舍五入,然后将费用应用于您的个人交易。


      看来我要实现一些 PhantomJS 模块来做到这一点。

      【讨论】:

        猜你喜欢
        • 2018-12-08
        • 2016-08-22
        • 2016-05-30
        • 2016-12-28
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 1970-01-01
        • 2014-06-02
        相关资源
        最近更新 更多