如何设置具有多种货币的捐赠贝宝按钮?

Posted

技术标签:

【中文标题】如何设置具有多种货币的捐赠贝宝按钮?【英文标题】:How to setup a donation paypal button with multiple currencies? 【发布时间】:2016-12-04 01:48:38 【问题描述】:

因此,paypal 创建按钮网站一次只允许使用一种货币。我想允许捐赠者以他们愿意捐赠的任何货币进行捐赠。我该怎么做呢?我在互联网上发现我应该把这个 html 行放在表单中

<input type="hidden" name="currency_code" value="GBP">

但这不起作用,有什么帮助吗?

这是我目前拥有的html

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="PYU4WP4DSWQXN">
<input type="image" src="http://lolo.works/Support%20Button/Support%20Button.png" border="0" name="submit" alt= "Support button" class="paypalbutton">
<input type="hidden" name="currency_code" value="GBP">
</form>

【问题讨论】:

【参考方案1】:

使用注册按钮可以提高安全性,并且每种货币只有一个按钮可以避免您在货币汇率上损失金钱。

以下是我将几个已注册的 PayPal 按钮集成到多币种下拉列表中的方法。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
  <input type="hidden" name="cmd" value="_s-xclick" />
  <select name="hosted_button_id" 
onclick="if (this.selectedIndex==0)if (confirm('Do you want being redirected to PayPal to proceed to the payment?'))this.form.submit()" 
onchange="if (confirm('Do you want being redirected to PayPal to proceed to the payment?'))this.form.submit();">
    <option value="G***********4" >79&nbsp;EUR</option>
    <option value="8***********4" >89&nbsp;CHF</option>
    <option value="F***********N" >93&nbsp;USD</option>
    <option value="X***********4" >69&nbsp;GBP</option>
  </select>
</form>

onchange 检测下拉列表中的更改。

列表中的第一个元素,默认被选中,所以它没有“变化”。因此,添加了 onclick 事件处理器,如果点击下拉列表中的第一个元素,也会调用 PayPal。

在重定向到 PayPal 之前,系统会通过对话框询问确认。

【讨论】:

可能的代码改进: 1. 如果用户在列表中选择了某种货币,取消重定向并再次选择列表中的第一个选项。应避免在 onclick 事件之外发生 onchange 事件。 2. 通过更优雅的代码减少冗余。 onclick 可以触发 onchange 而不是调用相同的方法。 一个问题是下拉箭头上的点击也会被 onclick 处理器捕获,并且不应该。不幸的是,onclick 仅在放入 【参考方案2】:

我正在添加一个多币种捐赠按钮示例供您参考,您可以在业务参数中替换您自己的贝宝帐户:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="business" value="YOUR EMAIL ADDRESS">
<label for="currency_code">Select the currency:</label>
<select name="currency_code" id="currency_code">
<option value="USD">USD</option><option value="EUR">EUR</option>
</select><br/><input type="hidden" name="bn" value="PP-DonationsBF:btn_donateCC_LG.gif:NonHostedGuest">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" >
<img  border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif"  >
</form>

【讨论】:

当我输入我的公司名称和地址时,它会在此页面显示以下文字:“我们无法处理此交易,因为卖家提供的 PayPal 电子邮件地址有问题。请联系卖家以解决问题。如果这笔付款是针对 eBay 列表的,您可以通过列表页面上的“向卖家提问”链接联系卖家。当您拥有正确的电子邮件地址后,可以在 www.paypal.com 进行付款。”我还有一个商家帐户 ID,我想用它来代替我的电子邮件。 我现在有了保存的按钮。 "

以上是关于如何设置具有多种货币的捐赠贝宝按钮?的主要内容,如果未能解决你的问题,请参考以下文章

贝宝捐赠表格新样式(大额编辑框)

接受付款的常用 Paypal 按钮

如何只添加一种货币进行贝宝付款

带有内置贝宝捐赠按钮的网络表单

如何在 Paypal 电子商务网站中处理多种货币?

贝宝和货币汇率