1

我真的很想自己做这件事,但是在阅读了 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 界面中设置订阅选项,或者我必须在每笔交易中发送订阅详细信息?

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

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

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

4

1 回答 1

0

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

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

于 2013-04-03T13:56:33.050 回答