Я пытаюсь передать пользовательскую ценность платежу с помощью PayPal – OmniPay
Вот код, который я использую:
$response = $gateway->purchase( array( 'cancelUrl'=>base_url().'checkout/cancel', 'returnUrl'=>base_url().'checkout/confirm', 'amount' => number_format($retn['invoiceDatas']['price'], 2, '.', ''), 'description' => 'Facture #'.$id, 'currency' => 'EUR', 'transactionid'=> $id, 'custom' => $id, 'description' => 'Facture' ) )->send(); $response->redirect();
И вот код со страницы проверки:
$response = $gateway->completePurchase(array('amount' => 75.00, 'currency' => 'EUR'))->send(); $data = $response->getData(); // this is the raw response object echo '<pre>'; print_r($data); echo '</pre>';
Но в печатном массиве данных у меня много информации, но нет информации о переменной «transactionID» или «custom».
Пожалуйста помоги. благодаря
В Omnipay / PayPal нет такого параметра, как custom
параметр.
Вы должны хранить эти данные в своей базе данных, а затем искать их на основе transactionId. параметр.
Поскольку PayPal не передает этого вам обратно, самым простым решением является создание настраиваемого returnUrl
. Например:
'returnUrl' => base_url().'checkout/confirm/'.$id,
Затем, когда ваш клиент приземляется на returnUrl, вы можете найти транзакцию из своей базы данных на основе сегмента 3 (идентификатор транзакции) и пометить ее как оплаченную.
Я думаю, вы должны передать 'transactionID'=> $id,
с capitals, а не 'transactionid'=> $id,