当前位置: 首页 > 知识库问答 >
问题:

第三方使用SetExpressCheckout是否需要PayPal许可?

卢树
2023-03-14

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

据我所知,要为第三方处理支付,第三方应该使用工具

  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的设置,而不必打扰他们授予权限。

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

共有1个答案

竺和洽
2023-03-14

代表他人进行API调用有两种方法。1) 从商户PayPal帐户向API调用方授予API权限或2)将SUBJECT NVP变量与商户PayPal帐户电子邮件地址(“SUBJEC”)一起使用=

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

 类似资料:
  • 我正在开发一个向第三方付款的应用程序。我正在使用的源代码可以在这里找到: http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreateThirdPartyPayment.html 我还为我的客户端ID和客户端秘密添加了以下内容: 当使用我的沙盒凭据时,代码会成功。但是,当切换到live凭据时,我得到一个无效的客户端,身份验证失败

  • 我使用testAd ID(ca-app-pub-3940256099942544/1033173712)从admob不是我的admob ID,我需要使用addTestDevice()太,而在移动设备测试?它甚至显示了测试广告屏幕,而不是实时广告。 因为我这样做了,我整天都在使用我的应用程序进行测试,晚上我收到了账户暂停邮件。

  • 我正在尝试使用它的RESTAPI创建Paypal支付(https://developer.paypal.com/docs/integration/direct/payments/paypal-payments/),但我找不到如何将付款发送到第三方Paypal业务帐户。可以使用RESTAPI吗?我知道这可以通过使用Paypal SDK for Asp来完成。net,但不幸的是,没有可用于asp的sd

  • 问题内容: 当我浏览一些代码时,我注意到使用logger的方式如下, 但是在某些代码中,我是这样观察的。 当我查看log4j的源代码时,已检查了Logger本身的方法 。那为什么我们需要这些不必要的开销呢? 问题答案: 当传递给您的字符串花费时间评估时,这很有用,在这种情况下,如果未启用调试,则可以跳过此评估。 IMO使得代码的可读性大大降低,因此只有在性能有了显着提高时才应使用它。

  • 问题内容: 众所周知,Windows使用带反斜杠的路径,而Unix使用带反斜杠的路径。node.js提供了始终使用正确的斜杠。因此,例如,您不必编写Unix,而只编写Unix 。 但是,似乎存在这种差异,但是如果您不对路径进行规范化(例如,使用path.join),而仅编写诸如node.js之类的路径,则在Windows上运行脚本没有问题。 那么,有没有写上任何好处了?无论平台如何,两者似乎都可以

  • 随着新的工具栏小部件的引入和AppCompat(android.support.v7.widget.Toolbar)版本的推出,是否还需要调用setSupportActionbar(工具栏)?或者调用setSupportActionbar有什么好处吗;现在我们可以设置标题、子标题、导航图标、导航图标单击侦听器(getSupportActionBar()。直接在工具栏上设置DisplayHomeAs