API接入

代码描述:基于C#的千游互娱API服务接口调用示例

关联数据:娱乐充值API服务

接口地址:

http://api.qianyou.cn:11140/UserOrderController/receiveUserOrder


 qianyou

     

 2017-10-16 10:04

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163

using Newtonsoft.Json;

using SoShare.Util;

using System;

using System.IO;

using System.IO.Compression;

using System.Net;

using System.Security.Cryptography;

using System.Text;

 

namespace Qianyou.charge

{

class Program

{

//请求地址

private static readonly string REQUESTURL= "http://api.qianyou.cn:11140/UserOrderController/receiveUserOrder";

static void Main(string[] args)

{

requestCharge();

}

/// <summary>

/// 提交充值

/// </summary>

public static void requestCharge()

{

var userTimeStamp = TimeStamp()*1000;//时间戳

var customerIp = "";

//生成签名

StringBuilder source = new StringBuilder();

source.Append("userNo").Append(userNo);

source.Append("userOrderId").Append(userOrderId);

source.Append("goodsId").Append(goodsId);

source.Append("totalMoney").Append(totalMoney);

source.Append("account").Append(account);

source.Append("userTimeStamp").Append(userTimeStamp);

source.Append(key);

var sign = Md5Encrypt(source.ToString());

//提交订单网址

var url = REQUESTURL;

//组装请求参数

StringBuilder data = new StringBuilder();

data.Append("userNo=").Append(userNo);

data.Append("&userOrderId=").Append(userOrderId);

data.Append("&goodsId=").Append(goodsId);

data.Append("&totalMoney=").Append(totalMoney);

data.Append("&account=").Append(account);

data.Append("&userTimeStamp=").Append(userTimeStamp);

data.Append("&customerIp=").Append(customerIp);

data.Append("&sign=").Append(sign);

try

{

var str = data.ToString();

//var response =request.PostHtml(url, data.ToString());

var response = HttpPost(url, data.ToString());

if(response .Contains("code"))

{

var result = JsonConvert.DeserializeObject<ResponseModel>(response);//获取到的响应

}

}

catch (Exception ex)

{

throw;

}

}

/// <summary>

/// post请求方法 (仅供参考)

/// </summary>

/// <param name="Url"></param>

/// <param name="postDataStr"></param>

/// <returns></returns>

private static string HttpPost(string Url, string postDataStr)

{

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

request.Method = "POST";

request.ContentType = "application/x-www-form-urlencoded";

request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);

Stream myRequestStream = request.GetRequestStream();

StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));

myStreamWriter.Write(postDataStr);

myStreamWriter.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream myResponseStream = response.GetResponseStream();

StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));

string retString = myStreamReader.ReadToEnd();

myStreamReader.Close();

myResponseStream.Close();

return retString;

}

/// <summary>

/// 对字符串进行MD5加密

/// </summary>

/// <param name="input"></param>

/// <returns></returns>

public static string Md5Encrypt(string input)

{

return Md5Encrypt(input, Encoding.UTF8);

}

/// <summary>

/// 对字符串进行MD5加密

/// </summary>

/// <param name="input"></param>

/// <param name="enc"></param>

/// <returns></returns>

public static string Md5Encrypt(string input, Encoding enc)

{

var md5 = new MD5CryptoServiceProvider();

var buffer = md5.ComputeHash(enc.GetBytes(input));

var builder = new StringBuilder(32);

foreach (var t in buffer)

{

builder.Append(t.ToString("x").PadLeft(2, '0'));

}

return builder.ToString();

}

/// <summary>

/// 时间戳

/// </summary>

/// <returns></returns>

public static long TimeStamp()

{

DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区

long receivetime = (long)((Convert.ToDateTime(DateTime.Now)) - startTime).TotalSeconds; // 相差秒数

return receivetime;

}

}

/// <summary>

/// 订单信息

/// </summary>

public class Order

{

public string userOrderId { get; set; }

public string goodsId { get; set; }

public string totalMoney { get; set; }

public string account { get; set; }

public string userTimeStamp { get; set; }

public string MyProperty { get; set; }

}

/// <summary>

/// 提交充值请求返回结果

/// </summary>

public class ResponseModel

{

/// <summary>

/// 返回说明

/// </summary>

public string msg { get; set; }

/// <summary>

/// 返回码

/// </summary>

public string code { get; set; }

/// <summary>

/// 用户提交的订单号

/// </summary>

public string userOrderId { get; set; }

/// <summary>

/// 用户编号,注册www.qianyou.cn的手机号码

/// </summary>

public string userNo { get; set; }

/// <summary>

/// 千游订单号

/// </summary>

public string platOrderId { get; set; }

}

}

千游互娱平台-游戏点卡充值 视频会员直充 卡密购买 API接口