Как я могу передать значение переменных PHP в код клиента для Paypal - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь интегрировать Paypal с моим сайтом и сталкиваюсь с этим.Проблема в том, что я не могу найти способ отправить значение переменных PHP, то есть ОБЩУЮ СУММУ в код Paypal

Предположим, у меня есть переменная

$finalAmount = 220;

Это значение является динамическими будет меняться с каждым пользователем.Мне нужно передать его ниже внутри кода Paypal

<script>

        paypal.Button.render({
          // Configure environment
          env: 'sandbox', // sandbox | production

           // PayPal Client IDs - replace with your own
           // Create a PayPal app: https://developer.paypal.com/developer/applications/create
          client: {
            sandbox: 'CODE_HERE',
        //    production: 'demo_production_client_id'
          },
          // Customize button (optional)
          locale: 'en_US',
          style: {
             layout: 'vertical',  // horizontal | vertical
             size:   'medium',    // medium | large | responsive
             shape:  'rect',      // pill | rect
             color:  'gold'
          },
          // Set up a payment
          payment: function (data, actions) {
            return actions.payment.create({
              transactions: [{
                amount: {
                  total: '1',
                  currency: 'USD'
                },
                invoice_number : 123111241, // invoice must be unique for each transaction.
                item_list: {
                      items: [
                      {
                        name: 'hat',
                        description: 'Brown hat.',
                        quantity: '2',
                        price: '3',             
                        sku: '1',
                        currency: 'INR'
                      },
                      {
                        name: 'handbag',
                        description: 'Black handbag.',
                        quantity: '1',
                        price: '7',             
                        sku: 'product34',
                        currency: 'INR'
                      }
                    ],
                    shipping_phone_number : '8888888888',
                    shipping_address: {           
                      recipient_name: 'Logan loga',
                      line1: '4th Floor',
                      line2: 'Unit #34',
                      city: 'Chennai',
                      country_code: 'IN',
                      postal_code: '600113',
                      phone: '9999999999',
                      state: 'Tamil Nadu'
                }
                }       
              }],
              payer: {
                payment_method: "paypal",
                payer_info : {
                email: 'test@gmail.com',
                first_name :'Logan',
                last_name  :'loga',
                billing_address : {                       
                      line1: '4th Floor',
                      line2: 'Unit #34',
                      city: 'Chennai',
                      country_code: 'IN',
                      postal_code: '600114',
                      phone: '7777777777',
                      state: 'Tamil Nadu'
                }       
                }
             },
            });
          },
          // Execute the payment
          onAuthorize: function (data, actions) {
            return actions.payment.execute()
              .then(function (res2) {
                // Show a confirmation message to the buyer
                console.log(res2);
                console.log(res2.transactions[0].related_resources[0].sale.state);
                //state codes - completed, partially_refunded, pending, refunded, denied
                if(res2.transactions[0].related_resources[0].sale.state == 'completed'){
                alert("Payment received for the invoice number" + res2.transactions[0].invoice_number); 

                }   
              });
          },
          onCancel: function (data, actions) {
            // Show a cancel page or return to cart
            alert("Payment  cancelled");
          },
           onError: function (err) {
            // Show an error page here, when an error occurs
            alert("Payment  error");
          }
        }, '#paypal-button');
        </script>

Я хочу передать значение $ finalAmount в скрипт PayPal по адресу

amount: {
   total: 'HERE'
}

Как я могу это реализовать?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

создайте новое скрытое поле ввода с уникальным идентификатором и получите значение этого поля в js.например

На вашей странице PHP:

<input type="hidden" id="finalAmount" value="<?php echo $finalAmount ?>">

В вашем коде js:

var finalAmount = $('#finalAmount').val();

Надеемся, вы получите сумму, которую выищем:)

0 голосов
/ 20 ноября 2018

Вы можете использовать ...
amount: { total : '<?php echo $finalAmount ?>' }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...