在我的工作流程中,我正在使用有效的付款方式创建一个新客户,并将其设置为默认值(适用于订阅计费)
基于文档,看来如果我使用的是PaymentsIntent,则需要在InvoiceSettings内设置DefaultPaymentMethod,并且IntelliSense会按预期匹配所有内容。 https://stripe.com/docs/api/customers/create#create_customer-invoice_settings-default_payment_method
当我实际创建options对象(甚至没有进行Create调用)时,出现以下错误
{System.NullReferenceException:对象引用未设置为 对象的实例。在... [下面有问题的代码]
var customerOptions = new CustomerCreateOptions
{
Email = user.Email,
Name = user.FirstName + ' ' + user.LastName,
PaymentMethod = model.payment_method,
InvoiceSettings =
{
DefaultPaymentMethod = model.payment_method
}
};
如果我删除了InvoiceSettings参数,则一切工作正常,除非未将其付款方式设置为默认付款方式。我也尝试在DefaultPaymentMethod中使用null,同样的错误。
在创建客户期间,如何将其付款方式设置为默认付款方式?
答案 0 :(得分:1)
您需要初始化CustomerInvoiceSettingsOptions
的实例以作为InvoiceSettings
传递,您可以使用以下方法进行操作:
var customerOptions = new CustomerCreateOptions
{
Email = user.Email,
Name = user.FirstName + ' ' + user.LastName,
PaymentMethod = model.payment_method,
InvoiceSettings = new CustomerInvoiceSettingsOptions
{
DefaultPaymentMethod = model.payment_method
}
};