使用测试数据,我可以创建一个客户并附加一种付款方式,但我的所有订阅都处于这种状态。这是我目前创建订阅的代码:// StripeCreateSubscription create a new subscription with fixed price for userfunc StripeCreateSubscription(w http.ResponseWriter, r *http.Request) { if r.Method != "POST" { SendResponse(w, utils.MakeError("you can only POST to the stripe create customer route"), http.StatusMethodNotAllowed) return } // Decode the JSON payload type requestPayload struct { PaymentMethodID string `json:"paymentMethodId"` PriceID string `json:"priceId"` } var payload requestPayload if err := json.NewDecoder(r.Body).Decode(&payload); err != nil { sendSystemError(w, fmt.Errorf("decode request payload: %v", err)) return } // Get the user from the context of who made the request uid := r.Context().Value("user_id").(int) u := models.User{} if err := u.FindByID(uid); err != nil { sendSystemError(w, fmt.Errorf("find user by id: %v", err)) return } if u.StripeCustomerID == "" { sendSystemError(w, errors.New("no customer for the user")) return } // Attach the payment method to the customer paymentParams := &stripe.PaymentMethodAttachParams{ Customer: stripe.String(u.StripeCustomerID), } pm, err := paymentmethod.Attach( payload.PaymentMethodID, paymentParams, ) if err != nil { sendSystemError(w, fmt.Errorf("attaching payment method failed: %v", err)) } // Check if the user has any active subscriptions, and cancel the others if they're adding one. listParams := &stripe.SubscriptionListParams{ Customer: u.StripeCustomerID, Status: "all", }我需要做什么才能让我的订阅完成付款?
- 1 回答
- 0 关注
- 62 浏览
添加回答
举报
0/150
提交
取消