【问题标题】:PayPal Hosted Pages and Recurring Billing (additional: Recurring Billing Suspension)PayPal 托管页面和定期计费(附加:定期计费暂停)
【发布时间】:2013-03-24 08:27:54
【问题描述】:

我真的很想自己做,但是在阅读了 Paypal 关于他们的服务和 API 和插件服务的文档将近一周后,我放弃了。我需要帮助。

我有一个网站,每月订阅三个不同的套餐,我想使用 PayPal 的托管页面。现在,我面临一些问题。

首先,他们的文档非常混乱,以至于我仍然不明白他们提供什么以及我需要什么。因此,任何帮助将不胜感激。目前我已经设置了带有定期计费插件和托管结帐页面的高级付款。我的第一个问题是,当我进行 API 调用以获取 SecureTokenID 时,我得到响应 1(用户身份验证失败),但登录详细信息是正确的,我检查了多次。 这是我进行此调用的代码:

/* - build NVP to be sent to paypal - */
$post['PARTNER']='paypal';
$post['VENDOR']='*';
$post['USER']='*';
$post['PWD']='*';
$post['TRXTYPE']='S';
$post['AMT']='5';
$post['CREATESECURETOKEN']='Y';
$post['SECURETOKENID']=md5(time().rand().time());
$post['MODE']='TEST';

$url='https://pilot-payflowpro.paypal.com';
/* - do cURL request to PayPal's API - */
 $ch = curl_init();
 curl_setopt ($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_VERBOSE, 1);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
// I know, inhere should be a certificate and it will be in final version

 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch, CURLOPT_POST, 1);

 curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);

// curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10); // 3 seconds to connect
// curl_setopt ($ch, CURLOPT_TIMEOUT, 10); // 10 seconds to complete

 $output = curl_exec($ch);
 if(curl_errno($ch)){
  echo'error:' . curl_error($ch);
 }
 curl_close($ch);

第二个问题是,我在哪里可以输入一个自定义变量字段,它代表一个数据库条目,所以我会从 IPN 知道哪个用户订阅/取消订阅?

第三,是否可以在 PayPal Manager 界面中设置订阅选项,或者我必须在每笔交易中发送订阅详细信息?

第四,我走对了吗?从他们的网站和文档中,我了解到我需要高级付款和定期计费,仅此而已。 要求是用户不能离开网站,所以我想使用托管结帐页面。

编辑:我解决了第一个和第二个问题(这是我在此处发布问题后第二次自己解决问题 :)),但我需要第三点和第四点的帮助。

我还有其他问题。是否可以在用户选定的期间暂停定期计费?

【问题讨论】:

    标签: php curl paypal paypal-subscriptions


    【解决方案1】:

    要回答您的第三个问题,您需要发送详细信息。您将无法在管理器中将订阅选项设置为每次创建配置文件时的默认配置。您在管理器中唯一能做的就是登录并在需要时根据您每次手动设置的条款设置个人资料。

    至于您的其他问题,您可以使用 pro 并让买家留在您的网站上并进行 API 调用并完全控制流程,或者您可以使用托管页面,其中信用卡部分位于 PayPal 页面上.您可以在您网站的 iFrame 中包含此部分,因此商家似乎仍在您的网站上。如果您愿意,也可以使用透明重定向。

    【讨论】:

    • 所以基本上我每次创建个人资料时都需要发送订阅详细信息。对于 Payments Standard,我知道有一个选项可以预定义所有可用的包。关于第四个问题。我不想使用 Pro,因为我需要我的网站符合 PCI 标准,所以我使用的是托管页面。
    • 你也可以回答我的附加问题吗?是否可以选择暂停定期计费,还是我必须终止定期计费然后设置新的?
    • 您可以使用 ManageRecurringPaymentsProfileStatus API 调用来暂停配置文件。
    • 感谢您的所有回答。
    猜你喜欢
    • 2010-12-13
    • 1970-01-01
    • 2015-10-04
    • 2020-04-11
    • 2012-12-03
    • 2014-12-23
    • 2018-04-27
    • 2013-02-24
    相关资源
    最近更新 更多