#php #laravel #paypal #braintree
Вопрос:
Я создал ecommerce
сайт laravel
, я хочу интегрировать оплату paypal
, я установил пакет braintree/braintree_php
по команде compose require braintree/braintree_php
, я добавляю форму paypal
по коду javascript
, но она не отображается. Я уже интегрировал PayPal на другом веб-сайте таким же образом, но теперь я не могу. Я не знаю, изменится ли версия или что.
CheckoutController.php
$gateway = new BraintreeGateway([ 'environment' =gt; config('services.braintree.environment'), 'merchantId' =gt; config('services.braintree.merchantId'), 'publicKey' =gt; config('services.braintree.publicKey'), 'privateKey' =gt; config('services.braintree.privateKey') ]); try { $paypalToken = $gateway-gt;ClientToken()-gt;generate(); } catch (Exception $e) { $paypalToken = null; }
checkout.blade.php
lt;form method="post" id="paypal-payment-form" action="{{ route('checkout.paypal') }}"gt; @csrf lt;sectiongt; lt;div class="bt-drop-in-wrapper"gt; lt;div id="bt-dropin"gt;lt;/divgt; lt;/divgt; lt;/sectiongt; lt;input id="nonce" name="payment_method_nonce" type="hidden" /gt; lt;button class="button-primary" type="submit"gt;lt;spangt;Pay with PayPallt;/spangt;lt;/buttongt; lt;/formgt; lt;script src="https://js.braintreegateway.com/web/dropin/1.13.0/js/dropin.min.js"gt;lt;/scriptgt; lt;scriptgt; var form = document.querySelector('#paypal-payment-form'); var client_token = "{{ $paypalToken }}"; braintree.dropin.create({ authorization: client_token, selector: '#bt-dropin', paypal: { flow: 'vault' } }, function (createErr, instance) { if (createErr) { console.log('Create Error', createErr); return; } // remove credit card option var elem = document.querySelector('.braintree-option__card'); elem.parentNode.removeChild(elem); form.addEventListener('submit', function (event) { event.preventDefault(); instance.requestPaymentMethod(function (err, payload) { if (err) { console.log('Request Payment Method Error', err); return; } // Add the nonce to the form and submit document.querySelector('#nonce').value = payload.nonce; form.submit(); }); }); }); lt;/scriptgt;
Комментарии:
1. появляются ли какие-либо ошибки в консоли браузера при попытке загрузить форму? Можете ли вы поделиться ими в своем вопросе