如何在 laravel 中使用 jquery 自动填写 PayPal 访客结账表格
How to auto fill the PayPal Guest Checkout form using jquery in laravel
我有客户的所有个人数据,现在我想填充/自动填写 PayPal 结账表格。当我点击黑色按钮“借记卡或信用卡”时,我会重定向到该表格。如何做到这一点? 请看附件中的图片
- 名字
- 姓氏
- 地址
- 城市
- 州
- 国家
- Phone个数
- 电子邮件
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"> </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...¤cy=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。
我有客户的所有个人数据,现在我想填充/自动填写 PayPal 结账表格。当我点击黑色按钮“借记卡或信用卡”时,我会重定向到该表格。如何做到这一点? 请看附件中的图片
- 名字
- 姓氏
- 地址
- 城市
- 州
- 国家
- Phone个数
- 电子邮件
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"> </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...¤cy=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。