2013-08-29 68 views
0

我已添加PayPal Express結帳& PayPal定期付款在我的網站上使用PayPal API。是否可以使用PayPal API接受沒有「APIPassword」

我在web.config文件中添加貝寶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密碼字段的情況下接受付款。

我正在測試它,但知道是否有人已經知道這個問題的答案將是有用的。

請記住我只是想接受付款。

謝謝。

回答

0

你不能真正從用戶名和簽名中分離出密碼 - 他們是一個集合,並且每當你進行API調用時,你通常都必須提供全部三個密碼。

但是,您可以通過傳遞Subject字段而不是API用戶名,密碼和簽名來限制數量。在這種情況下,主題將是您的PayPal帳戶的電子郵件地址。但是,如果沒有API用戶名/密碼/簽名,您將被限制爲僅運行幾個API調用 - SetExpressCheckout,GetExpressCheckoutDetails,DoExpressCheckoutPayment和GetTransactionDetails。您還將被限制爲執行銷售交易 - 您無法運行授權,也無法創建定期付款。

+0

感謝您的回答,我只需確認一下,我正在使用循環付款API調用,所以我認爲,我應該使用所有字段。 –

+0

此信息是不正確的。您可以使用SUBJECT執行任何所需的API調用,但PayPal賬戶用戶必須已授予API權限才能讓應用程序代表他們進行調用。不過,您仍然包含API用戶名,密碼和簽名,並且使用SUBJECT不是您使用自己的帳戶執行的操作。此外,只有在您代表第三方撥打電話時纔會使用該功能。 –

+0

用戶授予權限可以通過他們的PayPal賬戶配置文件來實現,或者您可以設置權限API以將該流程直接構建到您的應用程序中。不過,你仍然會使用un/pw/sig。單獨的SUBJECT會導致安全頭錯誤。 –

1

您所做的任何傳統API調用都需要有效的用戶名,密碼和簽名(或證書)。

+0

感謝您的信息。 –

相關問題