skip to Main Content

I’m creating an order using paypal API. I need to put the value of an item inside the “amount” object, as is provided by the example code in the paypal page. The code is as follows:

paypal.Buttons({
    createOrder: function(data, actions) {
      // Set up the transaction
      return actions.order.create({
        purchase_units: [{
          amount: {
            value: '0.01'
          }
        }]
      });
    }
  }).render('#paypal-button-container');

I need to pass the value (currently shown as 0.01) from a select field that is inside a form above. I’m also concerned the security issues related with the front end ¿taking a variable from a form, storing into a variable and then pass it to an object could let the value exposed to being altered? I’m trying to find a flow where I jump from my form to a handler in php, but this step that paypal does in the front end calling paypal website and passing variables from the form doesn’t suit me at all…

Maybe the flow “fill form- pass values to variables – pass variables to paypal object that does the call to paypal web” is not the adequate..

2

Answers


  1. Chosen as BEST ANSWER

    Well, it turns out to be a obvious answer with a little more javascript knowledge.

    It is enough to declare the variable amount outside the functions let amount so it becomes a global variable. Then assign it the value that you get from the post request to your database (using ajax) and then you can simply assign it to the value variable inside the paypal function paypal.Buttons


  2. you can declare an variable, let amount = 0; upon the from value change the amount variable and use like this, im assuming that you take value from an form

    // if in js
    var amount = 0;

     $("#myTextBox").on("change paste keyup", function() {  
       amount = $(this).val();  
     });
    
    
    paypal.Buttons({
        createOrder: function(data, actions) {
          // Set up the transaction
          return actions.order.create({
            purchase_units: [{
              amount: {
                value: amount
              }
            }]
          });
        }
      }).render('#paypal-button-container');
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search