如何在 laravel 中使用 jquery 自动填写 PayPal Guest Checkout 表单

Posted

技术标签:

【中文标题】如何在 laravel 中使用 jquery 自动填写 PayPal Guest Checkout 表单【英文标题】:How to auto fill the PayPal Guest Checkout form using jquery in laravel 【发布时间】:2020-11-27 09:29:22 【问题描述】:

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

    名字 姓氏 地址 城市 状态 国家 电话号码 电子邮件

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>

【问题讨论】:

【参考方案1】:

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

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

您需要一个虚拟终端或网关解决方案,如 Braintree。

【讨论】:

以上是关于如何在 laravel 中使用 jquery 自动填写 PayPal Guest Checkout 表单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 5.7 中将多个数据库数据传递到 jQuery 的自动完成(AJAX)中

如何在 laravel 5.3 中使用 ajax

Laravel 5.2 - 使用 jquery 自动完成下拉菜单

如何在 Laravel 5 中使用我自己的 Jquery

如何在 laravel 中使用 jquery 在 paypal 中传递帐单地址或用户详细信息

如何在laravel中使用json将json数组打印到jquery表?