C# 如何在PayPal SDK for ASP.NET中使PayPal协议开始日期有效
正如贝宝所说: …开始日期必须不少于当前日期后24小时 此外,从start_判断应该像“2016-02-19T00:37:04Z” 我所做的是: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
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,当然!我已经把它作为答案贴了出来