我需要在我们的项目中整合加密货币。我必须选择 CoinGate APIS作为加密货币。我是这个Cryptography支付集成的新手,所以任何知道如何使用MVC c#的asp.net。 我已经为支付集成创建了一个演示,我去创建订单但是那时我收到错误未经授权。在这个演示中,我不知道如何为支付等设置callback_url ..任何人都知道怎么做才能告诉我。 我在下面列出了我的代码。 我必须使用此网址:
https://github.com/cizu64/Coingate.net
这是我的控制器创建订单的索引方法:
public async Task<ActionResult> Index()
{
var cg = new Coingate.Net.Coingate(apikey, apiSecret,appId);
var orders = await cg.CreateOrder(new Order
{
Price = 100,
Currency = "USD",
ReceiveCurrency = "BTC"
});
return View();
}
public async Task<dynamic> CreateOrder(Order dto, string resourcePath = "/v1/orders/")
{
_client.BaseAddress = new Uri(_baseUri);
ConfigureHeaders(Signature());
var body = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("order_id", dto.OrderId.ToString()),
new KeyValuePair<string, string>("price", dto.Price.ToString()),
new KeyValuePair<string, string>("currency", dto.Currency),
new KeyValuePair<string, string>("receive_currency", dto.ReceiveCurrency),
new KeyValuePair<string, string>("title", dto.Title),
new KeyValuePair<string, string>("description", dto.Description),
new KeyValuePair<string, string>("callback_url", dto.CallbackUrl),
new KeyValuePair<string, string>("cancel_url", dto.CancelUrl),
new KeyValuePair<string, string>("success_url", dto.SuccessUrl)
});
var response = await _client.PostAsync(resourcePath, body);
if (!response.IsSuccessStatusCode) return HttpStatusCode.BadRequest;
var order = await response.Content.ReadAsAsync<dynamic>();
return order;
}
这是我的订单类:
public int OrderId { get; set; }
public double Price { get; set; }
public string Currency { get; set; }
public string ReceiveCurrency { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string CallbackUrl { get; set; }
public string CancelUrl { get; set; }
public string SuccessUrl { get; set; }
任何人都知道怎么做才能告诉我。
答案 0 :(得分:0)
所以我看一下链接的github,看看请求是如何产生的,并注意到在创建中有一个沙箱布尔值。
输入后,它会重定向到不同的API
沙箱:https://api-sandbox.coingate.com/
沙箱需要创建一个不同的帐户,这就是为什么你得到未经授权的原因,因为我猜你正在使用生产环境中的凭据。
您可以通过两种方式解决此问题:1。在沙盒环境中创建一个帐户。
2.将var cg = new Coingate.Net.Coingate(apikey, apiSecret,appId);
更改为var cg = new Coingate.Net.Coingate(apikey, apiSecret,appId, false);
这可以全部找到here
关于回调网址。这可以通过以下方式轻松添加
var orders = cg.CreateOrder(new Order
{
Price = 100,
Currency = "USD",
ReceiveCurrency = "BTC",
CallbackUrl = "url here"
});