2016-12-02 8 views
1

Я использую JS script, рекомендованный PayPal. Он работает хорошо, однако он показывает «Корабль к» адрес покупателей.Удалить адрес почтового адреса в PayPal Express Checkout

Я пытаюсь найти в Интернете и обнаружил, что https://api.sandbox.paypal.com/v1/payment-experience/web-profiles/ запрошен у "no_shipping": 1, может сделать трюк. Но для этого нам нужно сделать запрос на завивание до payment.create, чтобы мы могли передать ему возвращаемый id в функции.

Возможно ли это в JS?

Или существует намного лучший и простой способ удалить его, используя следующий JS?

<script src="https://www.paypalobjects.com/api/checkout.js" data-version-4></script> 
<script> 

    paypal.Button.render({ 
     env: 'sandbox', // Optional: specify 'sandbox' or 'production' 
     client: { 
      sandbox: '{{$data['SandboxId']}}', 
      production: '{{$data['ProductionId']}}' 
     }, 

     payment: function() { 
      var amount = document.getElementById("amount").value; 
      var env = this.props.env; 
      var client = this.props.client; 

      return paypal.rest.payment.create(env, client, { 
       transactions: [ 
        { 
         amount: { 
          total: amount, 
          currency: "USD", 
          details: { 
           subtotal: amount, 
           tax: "0.00", 
           shipping: "0.00" 
          } 
         }, 
         description: "This is payment description.", 
         item_list: { 
          items:[ 
           { 
            quantity:"1", 
            name:"Orders", 
            price:amount, 
            sku:"product12345", 
            currency:"USD" 
           } 
          ], 
         }, 

        }], 

      }); 
     }, 

     commit: false, // Optional: show a 'Pay Now' button in the checkout flow 

     onAuthorize: function(data, actions) { 
       console.log(data); 
       alert('confirmation here'); 
       // Optional: display a confirmation page here 

      return actions.payment.execute().then(function() { 
       alert('Success here'); 
       // Show a success page to the buyer 
      }); 
     }, 
    }, '#paypal-button'); 
</script><div id="paypal-button" ></div> 

ответ

0

Вы можете передать параметры опыт следующим образом:

paypal.rest.payment.create({ 
    // payment options here 
}, { 
    // experience options here 
}); 
+0

Привет Blueprnum! Есть ли для этого документация? Я попробовал добавить NOSHIPPING как вариант опыта, но не повезло. – jhk

+0

Nevermind - нашел! – jhk

3

Чтобы расширить ответ Bluepnume, вот полный пример:

payment: function(data, actions) { 
     return actions.payment.create({ 
      payment: { 
       transactions: [ 
        { 
         amount: { total: '1.00', currency: 'USD' } 
        } 
       ] 
      }, 

      experience: { 
       input_fields: { 
        no_shipping: 1 
       } 
      } 
     }); 
    },