【问题标题】:Is it possible to accept payment with PayPal API without "APIPassword"是否可以在没有“APIPassword”的情况下使用 PayPal API 接受付款
【发布时间】:2023-03-22 16:40:02
【问题描述】:

我已经使用 PayPal API 在我的网站中添加了 PayPal Express Checkout 和 PayPal Recurring Payments。

我在 web.config 文件中添加了 PayPal API 详细信息,如下所示

<appSettings>
<add key="APIUsername" value="username_api1.sitename.com"/>
<add key="APIPassword" value="1234567890"/>
<add key="APISignature" value="AYNTWwVp7kXPvCitJdl4O9aXZuCpAekoTM41ULLqI6Pt0lCy0tNDh8--"/>
<add key="Host" value="www.sandbox.paypal.com"/>
<add key="CurrencyCode" value="USD"/>

C# 代码

使用的命名空间 -

using com.paypal.sdk.services;
using com.paypal.sdk.profiles;
using com.paypal.sdk.util;

我正在使用名称值对方法

C# 代码

NVPCallerServices caller = new NVPCallerServices();
IAPIProfile profile = ProfileFactory.createSignatureAPIProfile();
profile.APIUsername = System.Configuration.ConfigurationManager.AppSettings["APIUsername"];
profile.APIPassword = System.Configuration.ConfigurationManager.AppSettings["APIPassword"];
profile.APISignature = System.Configuration.ConfigurationManager.AppSettings["APISignature"];
caller.APIProfile = profile;

如您所见,我需要用户名、密码和签名才能接受付款。

我需要知道是否可以在不知道 API 密码字段的情况下接受付款。

我正在测试它,但如果有人已经知道这个问题的答案会很有用。

记住我只想接受付款。

谢谢。

【问题讨论】:

    标签: c# asp.net paypal paypal-nvp


    【解决方案1】:

    您进行的任何经典 API 调用都需要有效的用户名、密码和签名(或证书)。

    【讨论】:

      【解决方案2】:

      您无法真正将密码与用户名和签名分离——它们是一组,并且您通常必须在进行 API 调用时提供所有这三个。

      但是,您可以通过传递 Subject 字段而不是 API 用户名、密码和签名来执行有限的操作。在这种情况下,主题将是您的 PayPal 帐户的电子邮件地址。但是,如果没有 API 用户名/密码/签名,您将只能运行几个 API 调用——SetExpressCheckout、GetExpressCheckoutDetails、DoExpressCheckoutPayment 和 GetTransactionDetails。您还将被限制为运行销售交易——您无法运行授权,也无法创建定期付款。

      【讨论】:

      • 感谢您的回答,我只需要确认一下,我正在使用定期支付 API 调用,所以我认为,我应该使用所有字段。
      • 此信息不正确。您可以使用 SUBJECT 执行任何您想要的 API 调用,但 PayPal 帐户用户必须已授予 API 权限,您的应用程序才能代表他们进行调用。但是,您仍然包含 API 用户名、密码和签名,并且使用 SUBJECT 不是您对自己的帐户所做的事情。同样,只有在您代表第 3 方拨打电话时才会使用它。
      • 授予权限的用户可以通过他们的 PayPal 帐户配置文件这样做,或者您可以设置 Permissions API 以将该流程直接构建到您的应用程序中。不过,您仍将使用 un/pw/sig。单独的 SUBJECT 没有其余部分将导致安全标头错误。
      • 安德鲁——不,它是正确的。此功能称为“加速登机”,它允许商家在设置其 PayPal 帐户和/或设置 API 调用者权限之前开始接受 Express Checkout 交易。默认情况下,您可以调用 Express Checkout API(SetExpressCheckout、GetExpressCheckoutDetails、DoExpressCheckoutPayment、GetTransactionDetails),而无需先获取主题帐户的权限。
      猜你喜欢
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 2023-04-10
      • 2015-05-31
      • 2013-04-10
      • 1970-01-01
      • 2019-05-04
      相关资源
      最近更新 更多