我有一个自定义的paypal购物车,在我被重定向到paypal购买物品之前,我想在后台自动发送带有购物车商品的电子邮件(商品标题,地址,图片链接)。
这是paypal形式
<div id="thebasket">
<form method="post" action="https://www.paypal.com/uk/cgi-bin/webscr">
...
<input type="submit" value="Buy Now" class="pplbuynowbtn">
</form>
</div>
这是js
$(theDiv).html(theform).ready(function () {
$(this).find('input').keypress(function (e) {
if (e.which == 13) {
var thisitem = $(this).attr("name");
var thisval = $(this).val();
$(theDiv).PayPalCart('update', thisitem, thisval);
return false;
}
});
});
现在,如果我按现在购买,将转到paypal.com,我无法从那里获得他的地址和项目图像。这就是我在paypal之前需要这封电子邮件的原因。
请帮忙吗?
答案 0 :(得分:4)
我认为提交两个表单将是一个坏主意。
有两种方法:
<强> 1。 AJAX 强>
显示一个提交按钮,触发提交邮件的AJAX调用,因为ajax请求已完成,现在触发JS函数提交第二个paypal形式。
<强> 2。 PHP 强>
您应该在SUBMIT上触发PHP脚本,其中包含:
<?php
function form()
{
//form submitting that sends shipping data
}
function paypal()
{
//curl script for form posting
$url = 'https://www.paypal.com/uk/cgi-bin/webscr';
$data = array('amount' => '50');
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
var_dump($result);}
?>
答案 1 :(得分:0)
显示虚假提交按钮“立即购买”,触发发送电子邮件的Ajax调用,然后在成功的Ajax回调中使用$('#thebasker form').submit()
来验证您的Paypal表单。