Я пытаюсь разработать простое приложение, которое позволит пользователям приобретать сервисы с веб-сайта через API Paypal. Это приложение работает на ASP.NET с С#.
У меня было очень мало удачи, пытаясь заставить API Paypal сотрудничать. Метод, который я вызываю, - SetExpressCheckout со всеми соответствующими переменными.
Я сделал свое исследование и обнаружил, что, поскольку я тестирую в Localhost, это может повлиять на способность Paypal связываться с приложением. Итак, следующее, что я попробовал, - это доступ к моему приложению через открытый порт и общедоступный IP-адрес, но такая же ошибка возникает при вызове SetExpressCheckout.
Вот ошибка:
Exception Details: System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
Source Error:
Line 1790: [return: System.Xml.Serialization.XmlElementAttribute("SetExpressCheckoutResponse", Namespace="urn:ebay:api:PayPalAPI")]
Line 1791: public SetExpressCheckoutResponseType SetExpressCheckout([System.Xml.Serialization.XmlElementAttribute(Namespace="urn:ebay:api:PayPalAPI")] SetExpressCheckoutReq SetExpressCheckoutReq) {
Line 1792: object[] results = this.Invoke("SetExpressCheckout", new object[] {
Line 1793: SetExpressCheckoutReq});
Line 1794: return ((SetExpressCheckoutResponseType)(results[0]));
Source File: c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\anan_p2\730602d6\31a8d74e\App_WebReferences.c8vgyrf8.2.cs Line: 1792
Я также пробовал генерировать сертификаты с помощью OpenSSL и загружать их в опцию "Зашифрованный аккаунт" в Paypal, но все равно не влиял.
Спасибо, что прочитали мой вопрос!
Обновление: в соответствии с запросом используется код.
String hostingOn = ConfigurationManager.AppSettings["default_site_url"];
reqDetails.ReturnURL = hostingOn + "marketplace_confirm.aspx";
reqDetails.CancelURL = hostingOn + "marketplace.aspx";
reqDetails.NoShipping = "1";
reqDetails.ReqConfirmShipping = "0";
reqDetails.OrderTotal = new BasicAmountType()
{
currencyID = CurrencyCodeType.CAD,
Value = payment_amt.Value,
};
SetExpressCheckoutReq req = new SetExpressCheckoutReq()
{
SetExpressCheckoutRequest = new SetExpressCheckoutRequestType()
{
Version = UtilPayPalAPI.Version,
SetExpressCheckoutRequestDetails = reqDetails
}
};
PayPalAPIAASoapBinding paypal = new PayPalAPIAASoapBinding();
paypal.SetExpressCheckout(req);
Я также использую https://api-aa-3t.paypal.com/2.0/ URL для доступа к API