定期付款到已经运行的贝宝脚本

Posted

技术标签:

【中文标题】定期付款到已经运行的贝宝脚本【英文标题】:recurring payment to already running paypal script 【发布时间】:2011-07-21 04:19:02 【问题描述】:

我看过很多相关的问题,但没有找到任何答案。

我已通过贝宝成功实施交易,但现在我被要求通过贝宝实施定期付款。我已经搜索但找不到任何可以帮助我实现这一点的材料。

首先我已经实现了。 我要求用户选择金额。用户选择金额,我将用户转移到贝宝,在那里他输入他的信息并进行交易。 交易成功后,我向用户显示交易 ID,并将 ipn 信息和用户信息存储在我的数据库中。

现在我想给用户一个选项来选择是或否的定期付款。如果用户选择定期付款,那么他的定期付款将使用他在上面选择的金额完成。

现在我想知道:

    在我已经运行的 paypal 脚本中进行哪些更改以定期进行 paypal 付款? 付款时将询问经常性详细信息。 现在要发送哪些附加参数才能获得此功能? 如何在已经运行的应用上测试它? paypal 会将哪些参数作为 ipn 发回给我? 我曾尝试从 paypal 网站了解,但不能。

【问题讨论】:

paypal.com/pdn-recurring 请提供您已经运行的贝宝脚本。 【参考方案1】:

在此列表中有您需要的所有文档。 theese 不是从网上获取的随意链接,theese 是我收集的一组链接,当我不得不做与您现在尝试做的完全相同的事情时。 ;)

Handling Recurring Payments (Official) Subscriptions and Recurring Payments Variables ( 3 ) Advanced Techniques - \"Subscribe\" Button html Code ( 1 ) PDN - Subscriptions Overview Adding PayPal Checkout to Your 3rd-party Shopping Cart HTML Variables for Website Payments Standard ( 3 ) Canceling Individual Subscriptions ( 2 ) IPN and PDT Variables ( 3 ) Instant Payment Notification (IPN) simulator ( 4 ) IPN Testing ( 4 ) Payment status – what does it mean? ( 5 ) Sample Code

快乐的编码。 ;)

【讨论】:

@user198989 感谢您的检查,我已经更新了。【参考方案2】:

这是一个使用 php 来使用 paypal 创建定期付款的即时示例代码

Instant paypal recurring payment code with NVP PHP

【讨论】:

【参考方案3】:

您可以从以下参考网址获得解决方案.....

http://www.techrepublic.com/article/handling-recurring-payments-with-paypal-subscriptions-and-ipn/5331883

http://help.wildapricot.com/display/DOC/Recurring+payments+with+PayPal+Standard 

https://www.paypal.com/cgi-bin/webscr?cmd=_payflow-recurring-billing-overview-outside

【讨论】:

@john2103 感谢老板的回复。但我认为你没有仔细阅读我的问题,我要求什么............我已经访问了你提供的链接......但是感谢您关注我的问题【参考方案4】:

尝试以下代码:

$paypalObj = 新的 paypal_class(); $itemName = 我的产品"; $itemNumber = $itemName 。 " - 溢价 ($amount$)"; $paypalObj->paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';// 测试paypal url //$paypalObj->paypal_url = 'https://www.paypal.com/cgi-bin/webscr';//实时paypal url $paypalObj->add_field('cmd','_xclick-subscriptions'); $paypalObj->add_field('txn_type', "recurring_payment"); $paypalObj->add_field('product_name', "我的产品订阅 - 每月($$amount)"); $paypalObj->add_field('desc', "Magic Niche Finder 订阅 - 每月 ($$amount)"); $paypalObj->add_field('business', "test@yahoo.com"); $paypalObj->add_field('return', "http://".$serverName . "/buy-now.php"); $paypalObj->add_field('cancel_return', "http://".$serverName."/return.php?action=cancel"); $paypalObj->add_field('notify_url', "http://" . $serverName . "/return.php?action=ipn"); $paypalObj->add_field('src', "1"); $paypalObj->add_field('sra', "1"); $paypalObj->add_field('a3', "$amount"); $paypalObj->add_field('t3', "M"); $paypalObj->add_field('p3', "1"); //$paypalObj->add_field('no_note', "1"); $paypalObj->add_field('currency_code', "USD"); $paypalObj->add_field('first_name', $firstName); $paypalObj->add_field('last_name', $lastName); $paypalObj->submit_paypal_post();

【讨论】:

@john2103 哈哈哈不错再试一次。但在提出我的问题之前,我搜索了整个***....... ;-)【参考方案5】:

您似乎需要开始为您的用户创建定期付款配置文件。

可以在here 找到相关文档。我还遇到了一个PHP Script,它看起来包含了您需要的所有代码。

【讨论】:

我已经访问了这些并实现了代码......但没有找到答案。我有创建配置文件失败的错误... 这意味着 curl_exec 正在返回失败。我会仔细检查 API 文档以确保您使用正确的参数调用该方法。【参考方案6】:

根据我从您的问题中了解到的情况,我认为 paypal 的 Preapproval API 肯定能够为您提供帮助。我目前也在处理这种经常性付款,我设法与贝宝工作人员会面,讨论他们的公式,这是他们推荐的。

您可以从我下面的链接中阅读更多关于他们的 API 的信息,以了解预先批准的工作原理以及它如何帮助您自动从客户的贝宝账户中扣款,只要他们不输入他们的贝宝账户来手动取消该选项后他们选择了它。

https://www.x.com/docs/DOC-1419

【讨论】:

【参考方案7】:

Q>要在我已经运行的贝宝脚本中进行哪些更改以进行定期贝宝付款?A>这取决于您当前的脚本。例如,如果您使用了 Paypal 托管的 立即购买 按钮,您可能希望对 订阅 按钮执行相同的操作。完成此操作后,您将看到需要提交的 HTML 表单之间的差异。只是有一些区别,但您要么需要进行一些 javascript hack 以确保发送正确的内容,要么创建单独的表单。

将在付款时询问定期详细信息。

不确定这是否是一个问题,但如果是这样,我不明白这里问的是什么:(

Q> 现在要发送哪些附加参数才能获得此功能?A> 正如我在上一个问题中回答的那样,这取决于您的表现它目前。如果您使用托管按钮,<INPUT type="hidden" name="hosted_button_id" ... 可能会有所不同,您可能还需要发送定期付款详细信息等。

Q>如何在已经运行的应用程序上测试它?A>与测试任何其他 IPN 支付的方法相同。

Q> paypal 会以 ipn 的形式发回给我哪些参数?A> 我收到了一个额外的参数,subscr_id。不过最好看看manual。

【讨论】:

以上是关于定期付款到已经运行的贝宝脚本的主要内容,如果未能解决你的问题,请参考以下文章

一次性付款的贝宝定期付款

即时付款的贝宝方法,稍后也收费和定期付款

用于定期付款的贝宝保险库

每月第一天的贝宝每月订阅计划设置并每月定期付款 - django python

奇怪的贝宝:身份验证失败

Paypal:非定期自动付款