我必须做的事情:
客户定义了一个非常棘手的产品。
价格根据不同的参数通过javascript计算。 客户说,他想用PayPal付款并发送表格。
在查看表单内容时,我想对他希望通过PayPal付款做出反应。
我使用了集成向导。我实现了paypals expresscheckout.php和paypalfunctions.php。 我在paypalfunctions.php(沙箱)的开头设置变量。将剩下的代码作为给定并跟踪它直到paypal-call。
在他们自己的函数“hash_call”中调用PayPal,他们使用这些变量。 但他们是空的。
paypalfunctions.php中的代码
Defines all the global variables and the wrapper functions
********************************************/
$PROXY_HOST = '127.0.0.1';
$PROXY_PORT = '808';
$SandboxFlag = true;
//'------------------------------------
//' PayPal API Credentials
//' Replace <API_USERNAME> with your API Username
//' Replace <API_PASSWORD> with your API Password
//' Replace <API_SIGNATURE> with your Signature
//'------------------------------------
$API_UserName="myemail";
$API_Password="mypw";
$API_Signature="mysignature";
...
hash_call中的代码:函数hash_call是paypalfunctions.php的一部分
function hash_call($ methodName,$ nvpStr)
{
...
//声明全局变量
全球$ API_Endpoint,$ version,$ API_UserName,$ API_Password,$ API_Signature;
...
出了什么问题?
向导有一个链接:https://devtools-paypal.com/integrationwizard/ecpaypal/code.php
皮特
答案 0 :(得分:0)
您可能使用了错误的API凭据 我在你的例子中注意到你提出以下内容:
$API_UserName="myemail";
$API_Password="mypw";
$API_Signature="mysignature";
要明确您的API用户名不是您的电子邮件地址。您的API密码不是您的PayPal密码
如果您需要它,以下是API凭证的外观以及如何从您的PayPal帐户请求它们的示例。您也可以在沙盒帐户中使用这些相同的说明:
API Credential Information
还要确定您的终端。端点是您指向客户的位置。您是将它们指向实时站点还是沙箱站点?
如果您需要它们,这里是API端点信息:
PayPal API Endpoint Information
确保如果您使用Sandbox凭据,则使用的是沙盒端点,如果您使用的是实时凭据,请确保使用实时端点。