Я пытаюсь реализовать решение для оплаты кредитной карты на своем веб-сайте, используя SagePay, где я могу оплатить на своем сайте. Я использую веб-формы ASP.NET и C#. Вот мой код:Интеграция прямых платежей SagePay C#
var objSagePay = new SagePayIntegration();
var request = objSagePay.DirectPaymentRequest();
if ((request != null)) {
request.Vendor = "testVendor";
request.CardHolder = "Customer Name";
request.CardNumber = "4900000000000";
request.CardType = CardType.VISA;
request.ExpiryDate = "0119";
request.Cv2 = "123";
request.Currency = "GBP";
request.Amount = 10.0;
request.BillingAddress1 = "Test Address 1";
request.BillingAddress2 = "";
request.BillingPostCode = "412";
request.BillingCountry = "";
}
var result = objSagePay.ProcessDirectPaymentRequest(request, "https://test.sagepay.com/gateway/service/vspdirect-register.vsp");
Когда выполняется вызов объекта результата, я получаю ссылку на объект Null.
Любая идея, где я делаю что-то неправильно?
Трассировка стека
[NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.] SagePay.IntegrationKit.SagePayIntegration.GetPropertyTextValue (запрос объекта, строка PropertyName) в C: \ DEV \ DotNet \ VspDotNetKitAPI \ SagePayIntegration.cs: 93 SagePay.IntegrationKit.SagePayIntegration.ProcessDirectPaymentRequest (IDirectPayment paymentRequest, String directPaymentUrl) в C: \ DEV \ DotNet \ VspDotNetKitAPI \ SagePayIntegration.cs: 449 orders_payment_Default.btnProceedCreditCard_Click (отправитель объекта, EventArgs е) в Default.aspx.cs: 93 System.Web.UI.WebControls.Button.OnClick (EventArgs e) +9692746 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +108 System.Web.UI.WebControls.Button.System.Web .UI.IPostBackEventHandler.RaisePostBackEvent (String eventArgument) +12 System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler SourceControl, String eventArgument) +15 System.Web.UI.Page.RaisePostBackEvent (NameValueCollection PostData) +35 системы. Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3562
Можете ли вы опубликовать полную трассировку стека? – DavidG
Я отредактировал вопрос и включил трассировку стека – dnts2012
Похоже, вы не устанавливаете достаточно свойств. Можете ли вы также попробовать установить «VendorTxCode»? Это номер вашего заказа, например. – DavidG