【问题标题】:Getting errors while integrating paypal advanced using PHP使用 PHP 集成 paypal 高级时出错
【发布时间】:2014-07-09 13:00:05
【问题描述】:

我想将 Paypal Advanced 集成到 PHP 中。 成功传递值并提交表单后,得到一个 来自 Paypal 的错误消息响应。 错误消息是:RESPMSG=用户身份验证失败。

我用过这些代码:

$PF_HOST_ADDR = "https://pilot-payflowpro.paypal.com";
$post_data = 'USER=' . $PF_USER
              .  '&VENDOR= ' . $PF_USER
              .  '&PWD= ' . $PF_PWD
              .  '&PARTNER= ' . $PF_PARTNAR
              .  '&AMT=' . $PF_PACKAGE
              .  '&ACCT=' . $PF_CARD_NO
              .  '&ACCTTYPE='.$PF_CARD_TYPE
              .  '&CURRENCY='.$PF_CURRENCY_TYPE

              .  '&CVV2=' . $PF_CVV
              .  '&EXPDATE=' . $PF_EXP_DATE
              .  '&CREATESECURETOKEN=Y'
              .  '&SECURETOKENID=' . $PF_SECURE_TOKEN_ID
              .  '&CLIENTIP='. $PF_IP_ADDRESS
              .  '&TRXTYPE=S';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$PF_HOST_ADDR);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); // Ready the Post data to Send ....

    $response = curl_exec($ch); //Getting Response from Server

    print_r($response);

【问题讨论】:

    标签: php paypal


    【解决方案1】:

    $post_data 变量是查询字符串,因此请删除 VENDOR、PWD 和 PRANTER 旁边的空格

    应该是这样的

    $post_data = 'USER=' . $PF_USER
                  .  '&VENDOR=' . $PF_USER
                  .  '&PWD=' . $PF_PWD
                  .  '&PARTNER=' . $PF_PARTNAR
                  .  '&AMT=' . $PF_PACKAGE
                  .  '&ACCT=' . $PF_CARD_NO
                  .  '&ACCTTYPE='.$PF_CARD_TYPE
                  .  '&CURRENCY='.$PF_CURRENCY_TYPE
    
                  .  '&CVV2=' . $PF_CVV
                  .  '&EXPDATE=' . $PF_EXP_DATE
                  .  '&CREATESECURETOKEN=Y'
                  .  '&SECURETOKENID=' . $PF_SECURE_TOKEN_ID
                  .  '&CLIENTIP='. $PF_IP_ADDRESS
                  .  '&TRXTYPE=S';
    

    【讨论】:

    • 感谢您的建议。但同样的问题发生了
    • 请检查(打印)您的 $post_data 变量,可能其中一个变量为空或错误
    • USER=maxgold25&VENDOR=maxgold25&PWD=password&PARTNER=paypal&AMT=12.00&ACCT=4111111111111111&CVV2=205&EXPDATE=1014&CREATESECURETOKEN=Y&SECURETOKENID=53bd408f16b4XTYPE=span8852&TR010.00
    • 我在使用您的 postdata 字符串检查您的代码时收到false,但没有错误消息
    • 我的密码不是实际密码。它返回 false 可能是针对此问题的。请检查语法并告诉我它是否正确。
    【解决方案2】:

    检查您在 API 请求中使用的用户帐户的权限。听起来用户可能根本无权进行 API 调用。

    登录到您的http://manager.paypal.com 帐户,转到帐户管理 -> 管理用户,然后单击进入您正在使用的用户。

    在底部,您将看到“为用户分配权限”部分,其中包含以下选项...

    您需要确保将其设置为 API_FULL_TRANSACTIONS,否则 ADMIN 也应该可以工作。

    你能确认一下这个设置吗?

    【讨论】:

    • 是的,设置为 ADMIN。
    • 好吧,你确实摆脱了空间,对吧?这个错误很简单。这些价值观一定有问题。你能发布一个你最终得到的原始请求的样本吗?
    猜你喜欢
    • 1970-01-01
    • 2021-07-05
    • 2014-07-11
    • 2016-11-07
    • 2021-02-09
    • 1970-01-01
    • 2014-07-22
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多