asp.net - ASP .Net WorldPay 集成

标签 asp.net transactions

我想知道是否有人有任何关于将 WorldPay 集成到 ASP.Net Web 应用程序的有用信息?我希望直接从网站上接受固定金额的付款,不需要购物车。

本质上,我只是在寻找一些引用源代码或一篇涵盖所需内容的好文章。 WorldPay 是否支持网络服务或 REST 等?

干杯,

布莱恩。

最佳答案

在您的“结帐”页面上包含以下表格(带有相关值):

<form action="https://select.worldpay.com/wcc/purchase" method="post">
    <input type="hidden" name="instId" value="<your worldpay installation ID>" />
    <input type="hidden" name="cartId" value="<a reference for this transaction>" />
    <input type="hidden" name="amount" value="<the amount to pay>" />
    <input type="hidden" name="currency" value="<your currency code i.e. GBP>" />
    <input type="hidden" name="desc" value="<a description of this transaction>" />
    <input type="hidden" name="testMode" value="<worldpay's test mode ID>" />
    <input type="hidden" name="name" value="<customer's name>" />
    <input type="hidden" name="address" value="<customer's full address>" />
    <input type="hidden" name="postcode" value="<customer's postcode>" />
    <input type="hidden" name="country" value="<country code i.e. GB>" />
    <input type="hidden" name="email" value="<customer's email address>" />
</form>

然后在您的 Worldpay 个人资料中(在您注册后在他们的网站上),您将有一个回发 URL 选项(记不清确切的标签),它将向此 URL 发布以下键(因此它将是一个页面在您收到此)的网站上,包含交易结果:
string wp_rawauthcode = Request.Form["rawauthcode"];
string wp_amount = Request.Form["amount"];
string wp_installation = Request.Form["installation"];
string wp_tel = Request.Form["tel"];
string wp_address = Request.Form["address"];
string wp_mc_log = Request.Form["mc_log"];
string wp_rawauthmessage = Request.Form["rawauthmessage"];
string wp_authamount = Request.Form["authamount"];
string wp_amountstring = Request.Form["amountstring"];
string wp_cardtype = Request.Form["cardtype"];
string wp_avs = Request.Form["avs"];
string wp_cost = Request.Form["cost"];
string wp_currency = Request.Form["currency"];
string wp_testmode = Request.Form["testmode"];
string wp_authamountstring = Request.Form["authamountstring"];
string wp_fax = Request.Form["fax"];
string wp_transstatus = Request.Form["transstatus"];
string wp_compname = Request.Form["compname"];
string wp_postcode = Request.Form["postcode"];
string wp_authcost = Request.Form["authcost"];
string wp_desc = Request.Form["desc"];
string wp_cartid = Request.Form["cartid"];
string wp_transid = Request.Form["transid"];
string wp_callbackpw = Request.Form["callbackpw"];
string wp_sessionId = Request.Form["MC_sessionId"];
string wp_CusId = Request.Form["MC_cusId"];
string wp_authmode = Request.Form["authmode"];
string wp_name = Request.Form["name"];
string wp_shop = Request.Form["MC_shop"];
string wp_wafMerchMessage = Request.Form["wafMerchMessage"];
string wp_authentication = Request.Form["authentication"];
string wp_email = Request.Form["email"];

在这里执行一些基本验证,例如确保安装 ID (wp_installation) 符合您的预期,以及在将订单状态设置为“已付款”或其他之前的金额、货币等。

关于asp.net - ASP .Net WorldPay 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/618690/

相关文章:

c# - 通过 Bitbucket 进行 Azure 部署

c# - Asp.Net 中的空对象引用

asp.net - 向 asp.net MVC Global.asax 添加更多路由

transactions - 如何在 CosmosDB 中恢复或回滚更新?

mysql - 单个更新查询所需的事务?

mysql - 对于电子商务网站来说,理想的 MySQL 事务隔离模式是什么?

c# - 不同数据库的事务

asp.net - 基于权限的访问控制

C# 编译器错误地优化了代码

sqlite - 将 sqlite 用于数据库队列的最佳实践