我想在一个网站上设置一个单一的表单,通过PayPal购买多个产品。产品设置在PayPal帐户中,每个帐户都有一个hosted_button_id。
表单将包含一系列描述和数量字段,这些字段最初都设置为零。然后,客户可以根据每个产品添加所需的数量,并使用一个“立即购买”按钮提交表单。
这与PayPal是可能的吗?我并不特别想要“购物车”体验,我也不想传递产品价格(而是使用存储在PayPal的数据)。
谢谢
发布于 2011-09-01 05:55:35
最后我得出结论你不能这么做。
我尝试了一切,包括AJAXing提交,并通过一个隐藏的iFrame发送提交,以保持用户在我的网站。什么都没用。PayPal似乎非常热衷于在使用他们的购物车时执行他们批准的购物工作流程。
发布于 2013-05-08 13:12:07
您可以这样做,但是您需要做一些服务器端编程。您可以通过编程方式构建一个“加密按钮”,并将其提交给PayPal。
我在https://secure.entrian.com/store/store.html的存储页面就是这样做的--它提示输入一些信息,将其发送到服务器,将其转换为加密按钮,然后将其提交给PayPal。
JavaScript如下所示,其中$license_name和$quantity是我要提示的字段,formgen.py是一个服务器端Python脚本,根据PayPal的文档,它使用OpenSSL构建和签名请求:
$paypal_form.submit(function () {
var response = $.ajax({
type: "GET",
url: 'formgen.py?' + serialize({
licenseName: $license_name.val(),
quantity: $quantity.val()
}),
async: false
}).responseText;
if (response.indexOf('PKCS7') >= 0) {
$encrypted.val(response);
} else {
$payment_errors.text(response).show(easing_duration);
return false;
}
return true;
}该表单看起来如下(简化):
<form id="paypal-form" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="upload" value="1">
<input type="hidden" id="encrypted" name="encrypted" value="">
<button id="buynow" class="submit-button btn" type="submit">Buy Now</button>
</form>在表单提交给<input name="encrypted" ...>之前,该PayPal将使用AJAX响应进行填充。
https://stackoverflow.com/questions/6743875
复制相似问题