我可以使用 URL 参数作为 Paypal 按钮文本的输入吗?

Posted

技术标签:

【中文标题】我可以使用 URL 参数作为 Paypal 按钮文本的输入吗?【英文标题】:Can I use an URL parameter as input for Paypal button text? 【发布时间】:2020-08-23 17:16:21 【问题描述】:

我正在尝试建立我的第一个网站。我没有太多经验,需要一些有关 PayPal 按钮的帮助。

我的网站是使用 Elementor 在 Wordpress 上创建的。 我在 URL 中有可用参数的页面上有一个 PayPal 按钮,例如:

www.mywebsite.com/page/?your-email=name.surname@mail.com

参数“your-email”是从输入表单发送的。 我希望这封电子邮件填写 Paypal 按钮文本。

我在 PayPal 网站上创建了一个 PayPal 按钮并收到以下代码:

<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="XXXXXXXXXX">
<table>
<tr><td><input type="hidden" name="on0" value="Text">Text</td></tr><tr><td>
<input type="text" name="os0" maxlength="200"></td></tr>
</table>
<input type="image" src="https://www.paypalobjects.com/en_US/BE/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" >
<img  border="0" src="https://www.paypalobjects.com/nl_NL/i/scr/pixel.gif"  >
</form>

我想从文本字段中的 URL 自动填充电子邮件参数。 有没有办法可以更改 PayPal 按钮以从 URL 中获取值“name.surname@mail.com”并将其填写在文本字段中?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您可以向您的网站添加一些 javascript 来执行此操作。

类似:

<script type="text/javascript">
function getUrlParameter(name) 
    name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
    var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
    var results = regex.exec(location.search);
    return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));

document.addEventListener("DOMContentLoaded", function(event)  
    document.querySelector('input[name="os0"]').value = getUrlParameter('your-email');
);
</script>

我在一个平面 html 文件中尝试了这个,它适用于您的按钮代码,所以理论上它应该在您的网站上工作,如果放置在接受 Javascript 的地方。

【讨论】:

以上是关于我可以使用 URL 参数作为 Paypal 按钮文本的输入吗?的主要内容,如果未能解决你的问题,请参考以下文章

paypal 按钮/IPN 发票名称

Paypal 沙盒 IPN 问题

Paypal 立即购买按钮交易响应问题

如何从asp.net中的paypal(Sandbox)获取返回url中的参数

如何在Android上将多个参数传递给IPN url到PayPal?

Woocommerce 和 Paypal | Paypal 结帐后的空白页