使用PHP集成paypal高级时出错

时间:2014-07-09 13:00:05

标签: php paypal

我想将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);

2 个答案:

答案 0 :(得分:0)

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

就像这样

$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';

答案 1 :(得分:0)

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

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

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

enter image description here

您需要确保将其设置为API_FULL_TRANSACTIONS,或者ADMIN也应该有效。

你能确认一下吗?