如何在 laravel 中使用 jquery 自动填写 PayPal 访客结账表格

How to auto fill the PayPal Guest Checkout form using jquery in laravel

我有客户的所有个人数据,现在我想填充/自动填写 PayPal 结账表格。当我点击黑色按钮“借记卡或信用卡”时,我会重定向到该表格。如何做到这一点? 请看附件中的图片

  1. 名字
  2. 姓氏
  3. 地址
  4. 城市
  5. 国家
  6. Phone个数
  7. 电子邮件

paypal.blade.php

 <!-- Buttons container -->
 <table border="0" align="center" valign="top" bgcolor="#FFFFFF" style="width:39%">
 <tr>
    <td colspan="2">
        <div id="paypal-button-container"></div>
    </td>
 </tr>
 <tr><td colspan="2">&nbsp;</td></tr>
 </table>

 <input type='hidden' id='card-billing-first-name' name='card-billing-first-name' value="{{$order_detail->first_name}}"/>  
 <input type='hidden' id='card-billing-last-name' name='card-billing-last-name' value="{{$order_detail->last_name}}"/> 
 <input type='hidden' id='card-billing-address' name='card-billing-address' value="{{$order_detail->address}}"/> 
 <input type='hidden' id='card-billing-address-city' name='card-billing-address-city' value="{{$order_detail->city}}"/>
 <input type='hidden' id='card-billing-address-zip_code' name='card-billing-address-zip_code' value="{{$order_detail->zip_code}}"/>
 <input type='hidden' id='card-billing-address-country_name' name='card-billing-address-country_name' value="{{$country_name}}"/>
 <input type='hidden' id='card-billing-address-state_name' name='card-billing-address-state_name' value="{{$state_name}}"/>

Jquery代码

<script src="https://www.paypal.com/sdk/js?client-id=AZ5...&currency=USD"></script>

<script>
// Render the PayPal button into #paypal-button-container
paypal.Buttons({

    // Set up the transaction
    createOrder: function(data, actions) {
        return actions.order.create({
            purchase_units: [{
                amount: {
                    value: '{{$order_detail->grand_total}}',
                },
            }]
        });
    },

    // Finalize the transaction
    onApprove: function(data, actions) {
        return actions.order.capture().then(function(details) {
            // Show a success message to the buyer
            alert('Transaction completed by ' + details.payer.name.given_name + '!');
        });
    },

    //Changes credit/debit button behavior to "old" version
    onShippingChange: function(data,actions){
        //if not needed do nothing..
        return actions.resolve();
    }


}).render('#paypal-button-container');
</script>

无论是自动还是手动填写,PayPal 的标准结帐不是设计的,也不允许以这种方式使用,这样做违反了其服务条款。交易将被拒绝,您的客户信息将在 PayPal 系统中被标记为欺诈。联系 PayPal 的支持,他们会告诉你这个。

这些结账单应由客户自己在自己的设备上操作填写,并且只能由客户自己填写。

对于您想做的事情,您需要一个虚拟终端或网关解决方案,例如 Braintree。