Stripe API:您如何找到跨境转账到 Connect Account 的汇率和外币金额?

Stripe API: How do you find the exchange rate and amount in foreign currency of a cross border transfer to a Connect Account?

我正在使用 Stripe 处理付款。我有一个平台,国际 Connect 帐户可以通过我的平台向其他人出售商品。

我的平台是美元。在此特定示例中,Connect 帐户使用 CAD(加拿大元)。当有人从这个 CAD Connect 帐户购买商品时,Stripe 将钱存入我的平台帐户,将我的应用程序费用留在那里,然后将正确的金额转入 CAD Connect 帐户。它将此金额转换为 CAD。在条纹 GUI 中,我可以找到 汇率 加元转账金额 ,如下面的屏幕截图中圈出的。 但是我在API中找不到这些属性。

我见过的唯一具有 exchange_rate 属性的对象是 balance transaction。但是,当我获取截图中交易的余额交易时,我得到了这个响应对象:

要求: https://api.stripe.com/v1/balance_transactions/txn_1IBNiNLLBOhef2QNqIeaNg9o

响应:

{ 
"id": "txn_1IBNiNLLBOhef2QNqIeaNg9o", 
"object": "balance_transaction", 
"amount": -7777, 
"available_on": 1611619200, 
"created": 1611076199, 
"currency": "usd", 
"description": null, 
"exchange_rate": null, 
"fee": 0, 
"fee_details": [], 
"net": -7777, 
"reporting_category": "transfer", 
"source": "tr_1IBNiNLLBOhef2QNcNqv3IlS", 
"status": "pending", 
"type": "transfer" }

这里的问题是,上面的余额交易对象只显示了美元交易:77.77美元从我的平台账户中出来。

但它不显示兑换率或加元金额。当这 77.00 美元进入 CAD Connect 帐户时,正如我们在 GUI 屏幕截图中看到的那样,77.77 美元被转换为 98.02 加元,汇率为 1.26039(美元-> 加元)。

如何通过API找到这个加元金额和汇率?

在此屏幕截图中向关联帐户进行的转帐以美元为单位。转换发生在 Transfer 本身之后。资金以美元发送,然后在连接的账户中转换为该账户的默认货币。

您想查看转帐的 destination_payment property,它具有关联帐户上的费用的 py_123 ID。该 Charge 有一个 BalanceTransaction 对象(类似于您共享的 Transfer 对象)。该 BalanceTransaction 将反映从 USD 到 CAD 的转换,并显示 exchange_rate 属性 在这种情况下使用的汇率。

如果您需要在实际交易发生之前了解货币汇率,他们会提供货币汇率 here

但是,它只是一个前端页面,需要授权。最重要的是,它每 12 小时更新一次。 returns 没有官方 API 货币汇率。

有一个小型 SaaS 产品可以提供条带货币汇率作为 REST API。 https://striperates.com/

在Java你可以做到

Stripe.apiKey = "sk_live_...";
Transfer transfer = Transfer.retrieve("tr_...");
RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("acct_...").build();
Charge charge = Charge.retrieve(transfer.getDestinationPayment(), requestOptions);
BalanceTransaction balanceTransaction = BalanceTransaction.retrieve(charge.getBalanceTransaction(), requestOptions);
balanceTransaction.getExchangeRate();
balanceTransaction.getNet();
balanceTransaction.getCurrency();