4

我很难找到这方面的很多细节。我需要使用一个处理信用卡的api,它使用curl。所有文档都在 php 中,虽然我可以使用 php,但我的主站点完全使用 razor 视图引擎在 MVC4 中。我需要将它从 php 转换为 .net 中可用的东西

$ curl https://api.stripe.com/v1/customers -u *private key here*: 
       -d "description=Customer for test@example.com" -d "card[number]=4242424242424242" 
       -d "card[exp_month]=12" -d "card[exp_year]=2013"

在此先感谢您的时间

4

1 回答 1

5

来自curl 手册

  • -u, --user <user:password>是用户凭据
  • -d, --data <data>是 POST 数据

因此您可以将其“解码”为:

using (var wc = new System.Net.WebClient())
{
    // data
    string parameters = string.Concat("description=", description, "&amp;card[number]=" , cardNumber, "&amp;card[exp_month]=", cardExpirationMonth, "&amp;card[exp_year]=", cardExpirationYear),
           url = "https://api.stripe.com/v1/customers;

    // let's fake it and make it was a browser requesting the data
    wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

    // credentials
    wc.Credentials = new System.Net.NetworkCredential("*private key here*", "");

    // make it a POST instead of a GET
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";

    // send and get answer in a string
    string result = wc.UploadString(url, parameters);
}

使用现有答案的 POST 调整进行更新。

于 2012-12-23T22:03:14.800 回答