C# 通过REST API创建的发票导致PayPal后端出错

C# 通过REST API创建的发票导致PayPal后端出错,c#,rest,api,paypal,invoice,C#,Rest,Api,Paypal,Invoice,去年,我创建了一个示例应用程序,可以使用RESTAPI创建、发送和检查PayPal发票。一切都像一个符咒,发票出现在我的沙盒卖家后端,它只是工作 今天,我使用完全相同的未修改应用程序创建发票草稿。回复还行,我甚至可以“发送”发票(除了没有人收到任何电子邮件的事实…),我可以获得它的状态(例如草稿或发送)-一切似乎都很好 只是在卖家沙盒帐户的新型后端中,而不是在草稿列表中,我收到一条错误消息,说发生了错误,我应该重新加载页面(这当然没有任何帮助)。当我删除上面创建的草稿时,一切又恢复正常,我可以看

去年,我创建了一个示例应用程序,可以使用RESTAPI创建、发送和检查PayPal发票。一切都像一个符咒,发票出现在我的沙盒卖家后端,它只是工作

今天,我使用完全相同的未修改应用程序创建发票草稿。回复还行,我甚至可以“发送”发票(除了没有人收到任何电子邮件的事实…),我可以获得它的状态(例如草稿或发送)-一切似乎都很好

只是在卖家沙盒帐户的新型后端中,而不是在草稿列表中,我收到一条错误消息,说发生了错误,我应该重新加载页面(这当然没有任何帮助)。当我删除上面创建的草稿时,一切又恢复正常,我可以看到去年的旧草稿。我创建了一个新的草稿,再次出现错误,等等

同样的事情也会发生在live页面上,所以这似乎不是一个沙箱问题

我为PayPalRESTAPI和其中的类使用NuGet包。我现在发现我可以查看发送到PayPal的JSON。请求如下所示(匿名买家和卖家电子邮件-所有其他字段不变,去年使用相同的值):

以下是JSON响应(我再次匿名了电子邮件地址):

这里怎么了


PS:哦,我应该提一下,我当然可以在网页上成功地手动创建发票?

好的,通过返回到最小发票,然后工作,我能够挑出日期值作为问题的来源。显然,传递
DateTime.MinValue
是可以的,但是贝宝网站不能正确处理它

null
而不是
DateTime.MinValue
传递给未使用的日期可以修复此问题。应该注意的是,传递
DateTime.MinValue
用于工作

案件结案

{
    "number": "RE2017072701",
    "merchant_info": {
        "email": "seller@xxxxx.de",
        "first_name": "Test",
        "last_name": "User",
        "address": {
            "phone": {
                "country_code": "49",
                "national_number": "1234595959"
            },
            "line1": "Teststraße 15",
            "line2": "Gewerbegebiet",
            "city": "Testingen",
            "country_code": "DE",
            "postal_code": "12345"
        },
        "business_name": "Testfirma GmbH",
        "website": "http://xxxxxcompany.de",
        "additional_info": "Hier steht noch weiterer Text!"
    },
    "billing_info": [{
        "email": "buyer@xxxxx.de",
        "first_name": "Kundenvorname",
        "last_name": "Kundennachname",
        "address": {
            "line1": "Kundenstr. 1",
            "city": "Kunden",
            "country_code": "DE",
            "postal_code": "99999"
        }
    }],
    "items": [{
        "name": "ITM0001",
        "description": "Ein Artikel für 199,99€",
        "quantity": 1.0,
        "unit_price": {
            "currency": "EUR",
            "value": "199.99"
        },
        "tax": {
            "name": "MwSt.",
            "percent": 19.0
        },
        "date": "0001-01-01 UTC"
    }],
    "invoice_date": "0001-01-01 UTC",
    "payment_term": {
        "term_type": "DUE_ON_RECEIPT",
        "due_date": "0001-01-01 UTC"
    },
    "tax_calculated_after_discount": false,
    "tax_inclusive": true
}
{
    "id": "INV2-LTSS-QW3C-DQS5-G8RF",
    "number": "RE2017072701",
    "template_id": "TEMP-7H507227XX2795902",
    "status": "DRAFT",
    "merchant_info": {
        "email": "seller@xxxxx.de",
        "first_name": "Test",
        "last_name": "User",
        "business_name": "Testfirma GmbH",
        "website": "http://xxxxxcompany.de",
        "address": {
            "line1": "Teststraße 15",
            "line2": "Gewerbegebiet",
            "city": "Testingen",
            "postal_code": "12345",
            "country_code": "DE",
            "phone": {
                "country_code": "49",
                "national_number": "1234595959"
            }
        },
        "additional_info": "Hier steht noch weiterer Text!"
    },
    "billing_info": [{
        "email": "buyer@xxxxx.de",
        "first_name": "Kundenvorname",
        "last_name": "Kundennachname",
        "address": {
            "line1": "Kundenstr. 1",
            "city": "Kunden",
            "postal_code": "99999",
            "country_code": "DE"
        }
    }],
    "items": [{
        "name": "ITM0001",
        "description": "Ein Artikel für 199,99€",
        "quantity": 1.0,
        "unit_price": {
            "currency": "EUR",
            "value": "199.99"
        },
        "tax": {
            "name": "MwSt.",
            "percent": 19.0,
            "amount": {
                "currency": "EUR",
                "value": "31.93"
            }
        },
        "date": "0001-12-31 PST"
    }],
    "invoice_date": "0001-12-31 PST",
    "payment_term": {
        "term_type": "DUE_ON_RECEIPT",
        "due_date": "0001-12-31 PST"
    },
    "tax_calculated_after_discount": false,
    "tax_inclusive": true,
    "total_amount": {
        "currency": "EUR",
        "value": "199.99"
    },
    "metadata": {
        "created_date": "2017-07-27 03:11:19 PDT"
    },
    "allow_tip": false,
    "links": [{
        "rel": "self",
        "href": "https://api.sandbox.paypal.com/v1/invoicing/invoices/INV2-LTSS-QW3C-DQS5-G8RF",
        "method": "GET"
    },
    {
        "rel": "send",
        "href": "https://api.sandbox.paypal.com/v1/invoicing/invoices/INV2-LTSS-QW3C-DQS5-G8RF/send",
        "method": "POST"
    },
    {
        "rel": "update",
        "href": "https://api.sandbox.paypal.com/v1/invoicing/invoices/INV2-LTSS-QW3C-DQS5-G8RF/update",
        "method": "PUT"
    },
    {
        "rel": "delete",
        "href": "https://api.sandbox.paypal.com/v1/invoicing/invoices/INV2-LTSS-QW3C-DQS5-G8RF",
        "method": "DELETE"
    }]
}