首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hosted_button_id以单一形式向Paypal添加多个项目

使用hosted_button_id以单一形式向Paypal添加多个项目
EN

Stack Overflow用户
提问于 2011-07-19 07:50:11
回答 2查看 1.2K关注 0票数 4

我想在一个网站上设置一个单一的表单,通过PayPal购买多个产品。产品设置在PayPal帐户中,每个帐户都有一个hosted_button_id。

表单将包含一系列描述和数量字段,这些字段最初都设置为零。然后,客户可以根据每个产品添加所需的数量,并使用一个“立即购买”按钮提交表单。

这与PayPal是可能的吗?我并不特别想要“购物车”体验,我也不想传递产品价格(而是使用存储在PayPal的数据)。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-09-01 05:55:35

最后我得出结论你不能这么做。

我尝试了一切,包括AJAXing提交,并通过一个隐藏的iFrame发送提交,以保持用户在我的网站。什么都没用。PayPal似乎非常热衷于在使用他们的购物车时执行他们批准的购物工作流程。

票数 4
EN

Stack Overflow用户

发布于 2013-05-08 13:12:07

您可以这样做,但是您需要做一些服务器端编程。您可以通过编程方式构建一个“加密按钮”,并将其提交给PayPal。

我在https://secure.entrian.com/store/store.html的存储页面就是这样做的--它提示输入一些信息,将其发送到服务器,将其转换为加密按钮,然后将其提交给PayPal。

JavaScript如下所示,其中$license_name$quantity是我要提示的字段,formgen.py是一个服务器端Python脚本,根据PayPal的文档,它使用OpenSSL构建和签名请求:

代码语言:javascript
复制
$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;
}

该表单看起来如下(简化):

代码语言:javascript
复制
<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响应进行填充。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6743875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档