c# - 使用 .Net Framework 3.5 实现 USAEPAY 支付网关
问题描述
我已经编写了下面的代码,但我得到了未经授权的访问异常,尽管我使用了正确的 API 密钥和 PIN。除了 401 错误代码,我没有收到任何详细的异常。
try
{
string baseUrl = "https://sandbox.usaepay.com/api/v2/";
string sourceKey = "_4ShK4j3D100uXJb07aEw1krwO80VYpM";
string pin = "123456";
string seed = Guid.NewGuid().ToString();
string key = string.Concat(sourceKey, seed, pin);
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(key);
string authenticationKeySystem.Convert.ToBase64String(plainTextBytes);
Epay usaepay = new Epay();
usaepay.command = "sale";
usaepay.amount = 200;
usaepay.creditcard.number = "4000700011112221";
usaepay.creditcard.expiration = "0921";
usaepay.creditcard.cvc = 999;
usaepay.lineitems = new List<Epay.Lineitems>
{
new Lineitems
{ name = "Test40",
cost = 40,
qty = 2
},
new Lineitems
{ name = "Test60",
cost = 60,
qty = 2
}
};
string serializeData = JsonConvert.SerializeObject(usaepay);
WebClient client = new WebClient();
client.BaseAddress = baseUrl;
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
client.Headers.Add(HttpRequestHeader.Authorization, "Basic " + authenticationKey);
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
var response = client.UploadString("transactions", serializeData);
var result = JsonConvert.DeserializeObject(response);
}
catch(Exception ex)
{
}
请在上面提出建议
解决方案
推荐阅读
- html - 如何对齐
休息 的 我有一个有 5 列的表。我在第 3 列中创建了一个内表,该表有 3 列。我想将这 3 列与父母的其余 3 列对齐。那可能吗?
重要提示:我必须使用 Table in Table,因为我使用 AngularJs 创建它。我不知道该表的确切行数
这是我的 HTML
- jmeter - 错误:使用带有插件 HLS 采样器的 JMeter 加载测试 HLS
- html - 在 HTML 中对齐多个 CSS 卡片
- android - 在移动设备上使用 Chrome 通过 USB 读取 PC 上的 HTML 文件?
- c++ - 这些语句是否等效(静态变量、常量变量和泛型)
- c# - 如何将数据合并到表中 c# SQL
- c# - c# open xml 将现有单元格重新格式化为数字
- ios12 - ios12-从 NSHTTPURLResponse 获取 set-cookie
- ruby-on-rails - 在 rails 路由中定义 url helper
- cassandra-2.0 - 在运行时确定 Cassandra 集群的复制策略