Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在PayPal SDK for ASP.NET中使PayPal协议开始日期有效_C#_Asp.net Mvc_Paypal - Fatal编程技术网

C# 如何在PayPal SDK for ASP.NET中使PayPal协议开始日期有效

C# 如何在PayPal SDK for ASP.NET中使PayPal协议开始日期有效,c#,asp.net-mvc,paypal,C#,Asp.net Mvc,Paypal,正如贝宝所说: …开始日期必须不少于当前日期后24小时 此外,从start_判断应该像“2016-02-19T00:37:04Z” 我所做的是: var agreement = new Agreement() { name = Plan.name, description = $"Agreement for {Plan.description}", start_date = DateTime.Now.AddHours(25).ToUniversalTi

正如贝宝所说:

…开始日期必须不少于当前日期后24小时

此外,从start_判断应该像“2016-02-19T00:37:04Z”

我所做的是:

var agreement = new Agreement() {
    name = Plan.name,
    description = $"Agreement for {Plan.description}",
    start_date = DateTime.Now.AddHours(25).ToUniversalTime().ToString("yyyy-MM-ddTHH:mmZ"),
    payer = payer,
    plan = new Plan() { id = Plan.id },
};

agreement.Create(myAPIContext);
这是结果。我的
开始日期似乎正确。

但在那之后,我立即发现了一个例外:

那么,问题出在哪里呢?

根据Paypal,
start\u date
参数接受ISO 8601 datetime格式的字符串。在这种情况下,其格式为
yyyy-MM-ddTHH:MM:ssZ
(根据示例代码)。因此,您的代码应该是这样的

var agreement = new Agreement() {
    name = Plan.name,
    description = $"Agreement for {Plan.description}",
    start_date = DateTime.UtcNow.AddHours(25).ToString("yyyy-MM-ddTHH:mm:ssZ"),
    payer = payer,
    plan = new Plan() { id = Plan.id },
};

agreement.Create(myAPIContext);

根据此行,您可能需要使用此格式
“yyyy-MM-ddTHH:MM:ssZ”
。你能试试这个
DateTime.UtcNow.AddHours(25).ToString(“yyyy-MM-ddTHH:MM:ssZ”)@Niladri,是的,你完全正确!真不敢相信我错过了!该评论应为答案。好,将其作为答案发布。。你能接受吗?@Niladri,当然!我已经把它作为答案贴了出来