Stripe: как получить информацию о переводе с подключенного аккаунта - PullRequest
0 голосов
/ 16 апреля 2019

Мой основной счет в фунтах стерлингов, и у меня есть связанный счет в евро. Мой основной счет сначала оплачивается, а затем проценты переводятся в ЕВРО.

Если клиент платит в евро, он зачисляется на мой счет в фунтах стерлингов по обменному курсу. Комиссия рассчитывается и переводится на счет в ЕВРО.

Я могу видеть на 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                                                                         
]);

1 Ответ

1 голос
/ 16 апреля 2019

В основном вы хотите получить перевод, получить 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);
...