[英]Get fee amount from Braintree Transaction.search()
是否可以在使用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": {} })
问题:我如何在这里获得交易费?
您可能会在 transactionFeeAmount 字段中找到它
这是我从 Braintree 支持团队收到的答案:
您可以通过执行高级交易搜索来计算单笔交易的费用。
从这里,您可以为您的交易费用创建额外的列。 要查找您的具体交易费用,请查看您对账单上的定价表。 确保四舍五入,然后将费用应用于您的个人交易。
所以看起来我要实现一些 PhantomJS 模块来做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.