Я интегрировал процесс оплаты с чередованием полос. Я снимаю с учетной записи администратора, она работает нормально, но при подключении к учетной записи возвращен недостаточный баланс ошибки - PullRequest
0 голосов
/ 09 мая 2019

У меня есть интегрированный процесс оплаты с полосой подключения Я снимаю с учетной записи администратора, она работает нормально, но при подключении к учетной записи возвращен недостаточный баланс ошибка

$payableAmount = $payableAmount * 100;

//Stripe admin account charge process

$charge = \Stripe\Charge::create(array(
      "amount" => 100, // $15.00 this time
      "currency" => 'GBP',
      "customer" => $stripeDetails['stripe_customer_id']
));

//charge working fine (In Dashboard currency converted GBP to UD)

$splitAmount = 100 * 2 / 100;
$splitAmount = 90 - $splitAmount;

$transfer = \Stripe\Transfer::create(array(
    'amount' => $splitAmount * 100,
    'currency' => 'GBP',
    'destination' => $storeData['stripe_account_id']
));

//transfer return Insufficient funds in Stripe account. In test mode, you can add funds to your available balance.

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Вы взяли с клиента 1 фунт стерлингов, Stripe принимает значения amount в минимальной валюте, в данном случае 100 пенсов.Затем вы пытаетесь перевести £ 88 фунтов стерлингов на подключенный аккаунт, где у вас есть только £ 1.

Вам следует пересмотреть свою логику $splitAmount, так как она всегда будет составлять 88 независимо от того, сколько вы берете с клиента.

0 голосов
/ 09 мая 2019

подлежащая оплате сумма всегда больше суммы перевода, Подробнее изменилась сумма к оплате. поэтому $ payable всегда больше, чем splitAmount.

     $payable=100*100;  

      $charge = \Stripe\Charge::create(array(
            "amount" => $payable, // $100.00 this time
            "currency" => 'GBP',
            "customer" => $stripeDetails['stripe_customer_id']
      ));

      //charge working fine (In Dashboard currency converted GBP to UD)
           //Can only transfer up to the platform’s available account balance (with an exception when using source_transaction),before check it

       $balance = \Stripe\Balance::retrieve(
             ["stripe_account" => CONNECTED_STRIPE_ACCOUNT_ID]
       );


      $splitAmount = 100 * 2 / 100;
      $splitAmount = 90 - $splitAmount;

      $transfer = \Stripe\Transfer::create(array(
          'amount' => $splitAmount * 100,
          'currency' => 'GBP',
          'destination' => $storeData['stripe_account_id']
      ));
...