PayPal Цепной платеж с использованием динамических переменных - PullRequest
0 голосов
/ 02 мая 2018

У меня работает платеж PayPal в цепочке, поэтому он работает путем ввода адресов электронной почты получателей и суммы в кавычках в коде, но я не могу заставить это работать динамически, используя переменные, которые сохранили данные из строки запроса.

Я использую: https://github.com/braintreedev/paypal-adaptive-payments-wrapper-php в качестве основы кода ниже:

$price = $_GET['price'];
$projectid =$_GET['projid'];
$developeremail = $_GET['devemail'];

$devprice = $price * 0.9;

$paypal = new PayPal($config);

$result = $paypal->call(
  array(
'actionType'  => 'PAY',
'currencyCode'  => 'GBP',
'feesPayer'  => 'EACHRECEIVER',
'memo'  => 'Payment for project',

'cancelUrl' => 'cancel.php',
'returnUrl' => 'success.php',

'receiverList' => array(
  'receiver' => array(
      array(
      'amount'  => '100',
      'email'  => 'pay@websource.com',
      'primary' => 'true',
      ),

      array(
      'amount' => '90',
      'email'  => 'developer@websource.com',
    ),
  ),
),
  ),

  'Pay'
);

Приведенный выше код работает, но я хочу поменять адрес электронной почты "developer@websource.com" на переменную $ developeremail, а значение $ devprice и значение для "pay@websource.com" равны значению $ цена, но она не обрабатывается.

После некоторых исследований это связано с тем, что это ассоциативный массив, а механизм PHP не может читать переменные. Ребята, знаете ли вы какие-либо способы обойти это? Я не могу быть первым человеком с этой проблемой, верно?

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Чтобы выяснить, в чем проблема var_dump $ result, в моем случае проблема заключалась в том, что для цепного платежа вам требуется более одного вторичного получателя, поэтому я переключился на параллельный платеж, спасибо за вашу помощь, ребята

0 голосов
/ 02 мая 2018

Что происходит, когда вы делаете это?

$price = $_GET['price'];
$projectid =$_GET['projid'];
$developeremail = $_GET['devemail'];

$devprice = $price * 0.9;

$paypal = new PayPal($config);

$result = $paypal->call(
  array(
'actionType'  => 'PAY',
'currencyCode'  => 'GBP',
'feesPayer'  => 'EACHRECEIVER',
'memo'  => 'Payment for project',

'cancelUrl' => 'cancel.php',
'returnUrl' => 'success.php',

'receiverList' => array(
  'receiver' => array(
      array(
      'amount'  => $price,
      'email'  => 'pay@websource.com',
      'primary' => 'true',
      ),

      array(
      'amount' => $devprice,
      'email'  => $developeremail,
    ),
  ),
),
  ),

  'Pay'
);
...