php - Stripe:如何从连接的帐户中检索转移信息
问题描述
我的主账户是英镑,我有一个欧元的关联账户。我的主账户首先被存入,然后一个百分比被转移到欧元。
如果客户以欧元付款,它会以一定的费用和汇率进入我的英镑账户。计算佣金并将其转入欧元账户。
我可以在 EURO->GBP 兑换中看到,在 EURO 账户中我可以看到 GBP->EURO 兑换。
我可以从每个账户转账过程中检索所有详细信息,除了最后一次在关联账户上兑换回欧元。
这是我到目前为止所尝试的:
// To retrieve data from main GBP account
$charge = \Stripe\Charge::retrieve($charge_id);
$transfer = \Stripe\Transfer::retrieve($transfer_id);
$balance = \Stripe\BalanceTransaction::retrieve($charge['balance_transaction']);
// To retrieve data from EURO connected account
$transfer_eur= \Stripe\Transfer::retrieve($transfer_id,[
'account' => $eur_acc_number
]);
$balance_eur= \Stripe\BalanceTransaction::retrieve($transfer_eur['balance_transaction'],[
'account' => $eur_acc_number
]);
这是我的结果:
$charge['amount'] // shows customer EUR amount
$balance['amount'] // shows the convert customers amount in GBP
$transfer_eur['amount'] // shows the GBP amount in the connect EUR account
$balance_eur['amount'] // just show the a negative GBP value of the EUR account
我希望它$balance_eur['amount']
会向我显示欧元值,但它只是向我显示负的英镑值。
我就在那儿,但我无法从连接的帐户中获取欧元值。是否可以?
[编辑]
我尝试过但失败的方法是destination_payment
通过某种方式使用payment ID - py_****
$balance_other = \Stripe\Charge::retrieve($charge_id,[
'account' => $row['stripe_acc'],
'destination_payment' => $payment_id
]);
解决方案
您基本上想要进行转帐,获取其中destination_payment
的一个以查看到达连接帐户的付款,然后在连接帐户上获取balance_transaction
与该付款相关联。它还有助于为此使用 API 的扩展对象功能。
$t = \Stripe\Transfer::create([
"amount" => 400,
"currency" => "eur",
"destination" => "acct_1EPRDuFk3qO2dNo1"
]);
$transfer_id = $t->id;
$transfer_eur= \Stripe\Transfer::retrieve([
'id' => $transfer_id,
'expand' => ['destination_payment.balance_transaction']
]);
$balance_transaction_eu = $transfer_eur->destination_payment->balance_transaction;
print_r($balance_transaction_eu);
您还可以通过在进行转移时获取相关数据来简化这一点:
$t = \Stripe\Transfer::create([
"amount" => 400,
"currency" => "eur",
"destination" => "acct_1EPRDuFk3qO2dNo1",
'expand' => ['destination_payment.balance_transaction']
]);
$balance_transaction_eu = $t->destination_payment->balance_transaction;
print_r($balance_transaction_eu);
推荐阅读
- python - 扭曲的 python 挂在大型多部分消息上
- reactjs - Facebook社交评论插件在反应单页应用程序中加载太慢
- css - CSS 转换期间边框半径不起作用
- javascript - Angular将字典传递给更改事件
- vb.net - 如何让图片框随机出现在屏幕上
- ios - IOS 14 XCode Beta 4 中的 UISwitch 行为发生了变化
- java - 如何在多个活动中实现夜间模式的保存?
- python - Scrapy:网页下一个按钮使用 WebForm_DoPostBackWithOptions()
- arrays - 如何将修改后的数组与原始数组(在 Lua 中)进行比较?
- javascript - 我试图在 JavaScript 中找到一个多态性的例子——OOP 的 4 个支柱之一。这是一个吗?