- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 SagePay 在我的网站上实现信用卡支付解决方案,这样我就可以在我的网站上进行付款。我正在使用 ASP.NET Web 窗体和 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");
当执行结果对象调用时,我得到 Object reference is Null。
知道我哪里做错了吗?
堆栈跟踪
[NullReferenceException: Object reference not set to an instance of an object.] SagePay.IntegrationKit.SagePayIntegration.GetPropertyTextValue(Object request, String propertyName) in C:\dev\dotnet\VspDotNetKitAPI\SagePayIntegration.cs:93 SagePay.IntegrationKit.SagePayIntegration.ProcessDirectPaymentRequest(IDirectPayment paymentRequest, String directPaymentUrl) in C:\dev\dotnet\VspDotNetKitAPI\SagePayIntegration.cs:449 orders_payment_Default.btnProceedCreditCard_Click(Object sender, EventArgs e) in 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 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3562
最佳答案
您没有为付款请求设置足够的属性,因此在尝试在内部构建请求对象时抛出 NullReferenceException
。
您可以通过调用 Validation
方法检查您是否至少设置了最小值:
var errors = objSagePay.Validation(SagePay.IntegrationKit.ProtocolMessage.DIRECT_PAYMENT,
typeof(SagePay.IntegrationKit.Messages.IDirectPayment),
request,
SagePay.IntegrationKit.ProtocolVersion.V_300);
本例中的错误对象会告诉您缺少以下值:
VendorTxCode
这是您的交易标识符,例如订单号。它必须是您进行的每笔付款的唯一值。如果您设置该值,错误应该会消失。
奖励:如果您真的对 .Net 的 SagePay 集成工具包感到困惑,您可以在我的 GitHub repository 中查看它的源代码。 .
关于c# - SagePay 直接支付集成 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37441493/
我正在尝试使用 PHP 和协议(protocol)文档集成到 SagePay 中。但是,我似乎对 MD5 哈希有疑问! 在我们收到通知 POST 之前一切都很好。但是,当我们去验证签名时,它与通知 P
我有一个客户注册了 sagepay 帐户。他当前的网站运行 wordpress 3.0,目前没有任何电子商务功能。 他需要一个按钮,让用户通过 sagepay 提交 300 英镑的押金(这个金额永远不
我是否需要在我的电子商务网站上更改我的支付网关脚本中的任何内容,以使其符合托管在 sagepay 上的 PSD2 要求?我不在我的网站上接受付款,而是将人们重定向到 SagePay。 我的问题是根据
我正在尝试使用 SagePay 在我的网站上实现信用卡支付解决方案,这样我就可以在我的网站上进行付款。我正在使用 ASP.NET Web 窗体和 C#。这是我的代码: var objSagePay =
任何人都可以让我知道为什么 sagepay 会抛出 5006(无法重定向到供应商的网站。),我可以将交易发布到 sagepay 并且可以在 sagepay 结束时提供信用卡信息。但是,我的问题是一旦它
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
我重新发布这个问题是因为它已经被问过了。但没有人回答这个问题。我在将 Sage pay api 集成到我的网页时遇到了问题。 我正在关注 sage pay 的文档。一切都很顺利,但是当我要进行交易并请
我一直在尝试实现 sage pay 的表单集成。每次我提交表单时,我都会收到错误代码:5080(错误描述:交易注册失败)。我尝试在 sagepays 网站( https://www.sagepay.c
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
在构建中使用 Sagepay 网关并对网关集成进行排序。工作正常,直到我们进行实际的付款处理并出现错误: HTTP 状态代码:500 HTTP 状态消息:由于服务器遇到意外情况,请求未成功。 错误代码
我正在考虑为我的网站使用 iframe(低调)Sagepay 集成。我有几个问题: 是否可以在 iframe 中不显示账单地址字段? 是否可以自行操纵支付页面上的交易值(value)?例如,如果该值为
我目前在几个网站上使用 Sagepay inframe。 问题是 inframe 没有响应,考虑到它在 iframe 中,我想让它尽可能响应。 有没有办法更改模板或使用我自己的 CSS 或 html
我正在将 CI-Merchant 集成到一个 Codeigniter 项目中,以便使用 Paypal 和 SagePay 处理付款。 我已经完成了 http://ci-merchant.org/ 的演
尝试在 Magento 结帐页面上设置 SSL 但遇到了这个问题: 提交付款详细信息后,付款正常(通过 sagepay 检查)但是当 sagepay 重定向到成功页面 (/sagepay/server
我希望集成他们的现场支付网关选项 Sagepay Direct,但我了解到它需要 SSL 证书才能安全传输数据。 Cloudflare pro DNS SSL 是这种付款方式的有效选项吗?还是我需要真
使用 PayPal,我可以非常轻松地创建一个 BuyNow 按钮,其中包含我的商家信息、价格、税金、运费等。这在 SagePay 中是否可行? 最佳答案 就类似于 PayPal 的 BuyNow 按钮
我们正在尝试在某些 JQuery 代码中使用 AJAX 调用与 SagePay API 集成。此特定 API 提供 JSON 响应,如下所示: { "expiry": "2017-09-06T11:2
根据我的应用需求,我需要集成Sagepay ios SDK,但是在Sagepay网站上,他们也没有提供任何官方文档或流程。 我尝试在这里获取一些 Objective-C 模式的代码 https://g
过去,我使用零值 SetExpressCheckout 和 BillingType 为 MerchantInitiatedBillingSingleAgreement(连同所有其他必需品!)来创建一个
这里引用自服务器集成协议(protocol)文档: Sage Pay’s Server integration provides a secure, simple means of authorisi
我是一名优秀的程序员,十分优秀!