博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手机短信小额支付接口.Net实现
阅读量:4952 次
发布时间:2019-06-12

本文共 2326 字,大约阅读时间需要 7 分钟。

【小额支付流程】

下文中的平台,指移动手机小额支付平台,商户指本程序需要实现的功能系统。

1、短信上行通知(平台---->商户)

用户选定某个商品,应发送一个购买指令(短信)到指定端口号。平台收到短信后调用商户的此接口来通知商户。

 

2、小额支付 (商户---->平台)

商户根据指令,向平台发起小额支付请求。

 

3、订单状态通知接口(平台---->商户)

平台会发确认短信要求用户确认,用户确认后,平台会将此订单状态返回给商户。

 

4、下行短信接口(商户---->平台)

商户根据订单状态,交付商品给用户,并下发短信通知给用户。也可以用此接口下发密码等。

此支付流程可以用于一般的网页小额支付,如短信买彩票,游戏购买装备等。

 

【程序实现】

程序结构

 

从商户到平台方向的两个接口都调用MinPayService类即可

例子见:MinPay项目下的Index.aspx页面,此页面用于测试四个接口。

按钮事件的代码:

//调用新疆小额支付接口

protected void Button1_Click(object sender, EventArgs e)

{

    MinPayService minser = new MinPayService("http://200.100.40.60:9001/fcgi-bin/FCGI_merchantservice");

    string result= minser.MinPay(t1.Text,t2.Text,t3.Text,int.Parse(t4.Text),t5.Text,t6.Text,t7.Text);

 

    if (result != "-1")

    {

        AlertMsg("调用成功");

    }

    else

    {

        AlertMsg("调用失败");

    }

}

//调用下行特服号短信接口

protected void Button2_Click(object sender, EventArgs e)

{

    MinPayService minser = new MinPayService("http://200.100.40.60:9001/fcgi-bin/FCGI_merchantservice");

    string result = minser.MpayXjDownMsg(b1.Text, b2.Text, b3.Text, b4.Text, t5.Text);

 

    if (result != "-1")

    {

        AlertMsg("调用成功");

    }

    else

    {

        AlertMsg("调用失败");

    }

}

MinPayService构造函数需传入平台接口的URL地址,返回结果是发送包的序列号,当返回-1代表调用接口失败,请察看错误日志。

平台到商户的两个接口如何使用

平台调用商户的接口需要我方有一个网址,建两个aspx页面即可。

OrderStatusNoticePage类为订单状态通知接口

UpsmsNoticePage类为短信上行通知接口

使用方法是建两个页面,分别继承一个类:

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace MinPay {
public class MinPayOrderStatusNotice : XJMinPay.OrderStatusNoticePage {
protected void Page_Load(object sender, EventArgs e) {
base.Page_Load(sender,e); } } }

 

并在page_load方法里面调用父类的page_load方法

还需要把前台页面中的html代码全去掉,前台aspx文件中只剩一行代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MinPayOrderStatusNotice.aspx.cs" Inherits="MinPay.MinPayOrderStatusNotice" %>

此接口将会记录接收到的数据包到数据日志文件中。

 

接口中已经将整个流程贯穿起来,

1、短信上行通知(平台---->商户)

平台调用UpsmsNoticePage接口(即MinPayUpSmsNotice.aspx页面)之后,程序会根据指令来调用接口2 

2、小额支付 (商户---->平台)

3、订单状态通知接口(平台---->商户)

平台调用OrderStatusNoticePage接口(即MinPayOrderStatusNotice.aspx页面)之后,程序会读取ProductFile.txt文件,下发一行密码短信给用户(即调用接口4)。

4、下行短信接口(商户---->平台)

 

(此程序需付费下载,如有需要请联系小y,置顶博文中有小y联系方式。)

 

转载于:https://www.cnblogs.com/tuyile006/archive/2012/04/03/2431047.html

你可能感兴趣的文章
【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
查看>>
日常一些出现bug的问题
查看>>
同时启动多个tomcat服务器
查看>>
怎么将iphone上的照片导出到本地文件
查看>>
Repeater+DataPagerSource分页
查看>>
模块化导出
查看>>
pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
查看>>
Sphinx 2.0.8 发布,全文搜索引擎 Installing Sphinx on Windows
查看>>
pod
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
LUOGU P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
Pylint在项目中的使用
查看>>
使用nginx做反向代理和负载均衡效果图
查看>>
access remote libvirtd
查看>>
(4) Orchard 开发之 Page 的信息存在哪?
查看>>
ASP.NET中 GridView(网格视图)的使用前台绑定
查看>>
图像加载
查看>>