【问题标题】:Is PayPal permission required to use SetExpressCheckout for a third party?为第三方使用 SetExpressCheckout 是否需要 PayPal 权限?
【发布时间】:2017-03-28 16:01:37
【问题描述】:

我们正在使用 SetExpressCheckout 代表第三方处理付款。即使第三方没有授予我们权限,它似乎也能正常工作。我们做得对吗?

据我了解,为了为第三方处理付款,第三方应在其 PayPal 帐户中转到 工具 > API 凭据 > 授予 API 权限 并授予我们 API 用户名的权限使用 Express Checkout 处理付款。但是,我们注意到了两个问题:

  1. 如果第三方 PayPal 账户只是个人账户(而非企业账户),则无法授予 API 权限
  2. 即使非商业第三方 PayPal 帐户未授予此权限,我们仍然可以将款项存入他们的帐户。

所以问题是,第三方是否真的有必要授予我们此权限,以便我们能够处理记入其 PayPal 帐户的付款?

如果您需要更多信息,这里是我们用来启动 SetExpressCheckout 请求的 PHP 代码的精简版本。我们使用请求的SUBJECT参数指定第三方,该参数填写第三方PayPal账户的邮箱地址。

    // Parameters for SetExpressCheckout
    $requestParams = array(
        'METHOD' => 'SetExpressCheckout',
        'VERSION' => $this->_version,
        'PAYMENTREQUEST_0_DESC' => "Order number",
        'PAYMENTREQUEST_0_AMT' => 10,
        'PAYMENTREQUEST_0_CURRENCYCODE' = 'EUR',
        'PAYMENTREQUEST_0_ITEMAMT' => 10,
        'RETURNURL' => "http://SUCCESS_URL_TO_RETURN_TO",
        'CANCELURL' => "http://FAILURE_URL_TO_RETURN_TO",
        'USER' => 'OUR_API_USERNAME',
        'PWD' => 'OUR_API_PASSWORD',
        'SIGNATURE' => 'OUR_API_SIGNATURE',
        'SUBJECT' => 'THIRD_PARTY_EMAIL'
    );

    // Options for curl
    $curlOptions = array (
        CURLOPT_URL => 'https://api-3t.paypal.com/nvp',
        CURLOPT_VERBOSE => 1,
        CURLOPT_SSL_VERIFYPEER => true,
        CURLOPT_SSL_VERIFYHOST => 2,
        CURLOPT_CAINFO => 'cacert.pem', //CA cert file
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => http_build_query($requestParams)
    );

    // Send the curl request
    $ch = curl_init();
    curl_setopt_array($ch,$curlOptions);
    $response = curl_exec($ch);

    // Handle possible errors
    if (curl_errno($ch)) {
        //Handle errors
    } else  {
        // Handle success
    }
    curl_close($ch);

如果不需要第三方帐户授予我们权限,那么我们可以通过简单地询问他们的 PayPal 帐户的电子邮件地址来简化 PayPal 的设置,而不必打扰他们授予权限。

非常感谢您提供的任何信息。

【问题讨论】:

    标签: api paypal permissions


    【解决方案1】:

    有两种方法可以代表他人进行 API 调用。 1) 将商家 PayPal 帐户的 API 权限授予 API 调用者或 2) 将 SUBJECT NVP 变量与商家 PayPal 帐户电子邮件地址一起使用 ('SUBJECT' => 'THIRD_PARTY_EMAIL')。

    因此,您只需使用带有商家 PayPal 帐户电子邮件地址的 SUBJECT NVP 变量即可代表商家进行 API 调用,此处商家无需授予您 API 权限。

    【讨论】:

    • 好的,在这种情况下,在选项 2 中(使用 SUBJECT NVP 变量)我不需要授予任何权限?如果是这样,那么它简化了接收第三方的付款。是否有任何其他限制,例如他们必须拥有企业 PayPal 帐户?
    • 是的,您不需要使用选项 2 授予任何权限。这也适用于个人帐户。但 PayPal 会建议他们拥有用于接收付款的商业账户。个人帐户、高级帐户和企业帐户不收取任何设置费。
    猜你喜欢
    • 2013-05-03
    • 1970-01-01
    • 2018-06-03
    • 2017-04-07
    • 1970-01-01
    • 2020-01-07
    • 2016-08-23
    • 1970-01-01
    • 2018-04-27
    相关资源
    最近更新 更多