Chr*_*oph 5 .net c# stripe-payments .net-core
我正在使用 stripe 进行付款。当我创建 SessionCreateOptions 对象时,我添加了 CustomerId 和 ProductId 以供以后在 Webhook 中使用。
var options = new SessionCreateOptions
{
PaymentMethodTypes = new List<string> {
"card",
},
CustomerEmail = buyer.Email,
LineItems = new List<SessionLineItemOptions> {
new SessionLineItemOptions {
Name = packages.First().Name,
Description = packages.First().Description,
Amount = (long)(totalAmount * 100),
Currency = "eur",
Quantity = 1,
},
},
SuccessUrl = appSettings.RedirectHost.Url + "/Checkouts/Show/success?session_id={CHECKOUT_SESSION_ID}",
CancelUrl = appSettings.RedirectHost.Url + "/Checkouts/Show/failed",
Metadata = new Dictionary<String, String>()
{
{ "CustomerId", buyer.Id.ToString()},
{ "ProductId", packages.First().Id.ToString()}
},
};
Run Code Online (Sandbox Code Playgroud)
成功付款后,将调用 Webhook 并检索包含客户数据、价格和其他值的对象,但元数据字典为空。
小智 7
您正在检索PaymentIntent由 创建的CheckoutSession,但您正在metadata对其CheckoutSession本身进行设置。
有两个选项,具体取决于您要存储和检索元数据的位置。您可以直接检索CheckoutSession[0],或者更改代码以在创建, 时通过[1]metadata设置。PaymentIntentCheckoutSessionpayment_intent_data.metadata
[0] https://stripe.com/docs/api/checkout/sessions/retrieve
| 归档时间: |
|
| 查看次数: |
7159 次 |
| 最近记录: |