我的主要帐户是英镑,而我的关联帐户是欧元。我的主要帐户先付钱,然后一定的百分比转入欧元。
如果客户用欧元付款,它将以一定的费用和汇率进入我的GBP帐户。计算佣金并将其转入欧元帐户。
我可以在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']
向我显示EUR值,但它向我显示一个负GBP值。
我就在那儿,但是我无法从关联帐户中获得欧元价值。有可能吗?
[编辑]
我尝试过但失败了的是通过某种方式使用destination_payment
来使用payment ID - py_****
$balance_other = \Stripe\Charge::retrieve($charge_id,[
'account' => $row['stripe_acc'],
'destination_payment' => $payment_id
]);
答案 0 :(得分:1)
您基本上想进行转账,获得其中的destination_payment
来查看已到达关联帐户的付款,然后获得与该关联帐户上的付款相关的balance_transaction
。为此,也将有助于使用API的expanding objects功能。
$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);