Попытка сделать массовую оплату в первый раз и получить ошибку.
Я пытаюсь создать фиктивный запрос на массовую оплату, и у меня возникают проблемы. Masspay рушится и возвращает это.
com.paypal.sdk.exceptions.TransactionException: базовое соединение было закрыто: при получении произошла непредвиденная ошибка. ---> System.Reflection.TargetInvocationException: исключение было сгенерировано целью вызова. ---> System.Net.WebException: базовое соединение было закрыто: при получении произошла непредвиденная ошибка. ---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. ---> System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленным узлом в System.Net.Sockets.NetworkStream.Read(буфер Byte[], смещение Int32, размер Int32) --- конец внутреннего трассировка стека исключений --- в System.Net.Sockets.NetworkStream.Read(буфер Byte[], смещение Int32, размер Int32) в System.Net.FixedSizeReader.ReadPacket(буфер Byte[], смещение Int32, счет Int32) в системе.Net.Security._SslStream.StartFrameHeader(буфер Byte[], смещение Int32, счетчик Int32, AsyncProtocolRequest asyncRequest) в буфере System.Net.Security._SslStream.StartReading(смещение Byte[], смещение Int32, счетчик Int32, запрос AsyncProtocolRequest).Net.Security._SslStream.ProcessRead(буфер Byte[], смещение Int32, число Int32, AsyncProtocolRequest asyncRequest) в System.Net.TlsStream.Read(буфер Byte[], смещение Int32, размер Int32) в System.Net.PooledStream. Чтение (буфер Byte[], смещение Int32, размер Int32) в System.Net.Connection.SyncRead(запрос HttpWebRequest, логический userRetrievedStream, Boolean probeRead) --- Конец внутренней трассировки стека исключений --- в System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(запрос WebRequest) в System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(запрос WebRequest) в системе.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(параметры String methodName, Object[]) в com.paypal.soap.api.PayPalAPISoapBinding.MassPay(MassPayReq MassPayReq) --- Конец внутренней трассировки стека исключений --- в System.RuntimeLetho._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) в System.Reflection.RuntimeMethodInfo.Invoke(Объектный объект, BindingFlags invokeAttr, параметры привязки объекта, Связка объектов привязки, Объект связывания, объектная ссылка], объект связывания System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder Binder, параметры Object [], CultureInfo culture) по адресу com.paypal.sdk.core.soap.SOAPAPICaller.CallSOAP(MethodInfo method, Object obj, Object[] args) --- Конец внутренней трассировки стека исключений --- в com.paypal.sdk.core.soap.SOAPAPICaller.CallSOAP (метод MethodInfo, Object obj, Object [] args) в com.paypal.sdk.core.soap.SOAPAPICaller.Call(запрос String operationName, AbstractRequestType) в StorkBrokers.masspaytest.Page_Load(отправитель объекта, EventArgs e) в masspaytest.aspx.vb: строка 86
Вот как выглядит мой код. Может кто-то пожалуйста, скажите мне, что я делаю не так: Dim MassPayReqItem Как Новый MassPayRequestItemType MassPayReqItem.Amount = Новый BasicAmountType MassPayReqItem.Amount.currencyID = CurrencyCodeType.USD MassPayReqItem.Amount.Value = 15,0 MassPayReqItem.Note = "масса оплаты тест" MassPayReqItem.ReceiverEmail = "user@email.com"
Dim MassPayReqItem1 As New MassPayRequestItemType
MassPayReqItem1.Amount = New BasicAmountType
MassPayReqItem1.Amount.currencyID = CurrencyCodeType.USD
MassPayReqItem1.Amount.Value = 5.0
MassPayReqItem1.Note = "test mass payment1"
MassPayReqItem1.ReceiverEmail = "user1@email.com"
Dim massPayItemsArray(1) As MassPayRequestItemType
massPayItemsArray.SetValue(MassPayReqItem, 0)
massPayItemsArray.SetValue(MassPayReqItem1, 1)
Dim MassPayReqType As New MassPayRequestType
MassPayReqType.MassPayItem = massPayItemsArray
MassPayReqType.Version = "51.0"
MassPayReqType.EmailSubject = "Mass Payment from from me " _
& Date.Now.ToLongTimeString
Dim profile As IAPIProfile = ProfileFactory.createSignatureAPIProfile()
Dim caller As New com.paypal.sdk.services.CallerServices()
profile.APIUsername = "fsadsfdafsdasfad1.gmail.com"
profile.APIPassword = "fafsdafafaddsaf"
profile.APISignature = "Alq1UN0gL5pSkR-311R7KRCKujzNfdsaasgasgsagsagcOvcvz-hn5Rd"
caller.APIProfile = profile
Try
'send request, return response
Dim MPRes As New MassPayResponseType
MPRes = DirectCast(caller.[Call]("MassPay", MassPayReqType), MassPayResponseType)
Select Case MPRes.Ack
Case AckCodeType.Success
Response.Write("API response: <b>" & MPRes.Ack.ToString _
& "</b><br> Timestamp: <b>" & MPRes.Timestamp.ToLongTimeString _
& "</b><br> Version: <b>" & MPRes.Version.ToString)
Case Else
Response.Write("API response: <b>" & MPRes.Ack.ToString _
& "</b><br> Timestamp: <b>" & MPRes.Timestamp.ToLongTimeString _
& "</b><br> Version: <b>" & MPRes.Version.ToString _
& "</b><br> Error code: <b>" & MPRes.Errors(0).ErrorCode _
& "</b><br> Short error: <b>" & MPRes.Errors(0).ShortMessage _
& "</b><br> Long error: <b>" & MPRes.Errors(0).LongMessage)
End Select
Catch ex As Exception
Response.Write(ex.ToString)
End Try