本文整理汇总了Golang中github.com/stripe/stripe-go.ChargeParams类的典型用法代码示例。如果您正苦于以下问题:Golang ChargeParams类的具体用法?Golang ChargeParams怎么用?Golang ChargeParams使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ChargeParams类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: New
func (c Client) New(params *stripe.ChargeParams) (*stripe.Charge, error) {
body := &url.Values{
"amount": {strconv.FormatUint(params.Amount, 10)},
"currency": {string(params.Currency)},
}
if params.Source == nil && len(params.Customer) == 0 {
err := errors.New("Invalid charge params: either customer or a source must be set")
return nil, err
}
if params.Source != nil {
params.Source.AppendDetails(body, true)
}
if len(params.Customer) > 0 {
body.Add("customer", params.Customer)
}
if len(params.Desc) > 0 {
body.Add("description", params.Desc)
}
if len(params.Statement) > 0 {
body.Add("statement_descriptor", params.Statement)
}
if len(params.Email) > 0 {
body.Add("receipt_email", params.Email)
}
if len(params.Dest) > 0 {
body.Add("destination", params.Dest)
}
if len(params.Meta) > 0 {
for k, v := range params.Meta {
body.Add("metadata["+k+"]", v)
}
}
body.Add("capture", strconv.FormatBool(!params.NoCapture))
token := c.Key
if params.Fee > 0 {
body.Add("application_fee", strconv.FormatUint(params.Fee, 10))
}
if params.Shipping != nil {
params.Shipping.AppendDetails(body)
}
params.AppendTo(body)
charge := &stripe.Charge{}
err := c.B.Call("POST", "/charges", token, body, ¶ms.Params, charge)
return charge, err
}
示例2: Get
func (c Client) Get(id string, params *stripe.ChargeParams) (*stripe.Charge, error) {
var body *stripe.RequestValues
var commonParams *stripe.Params
if params != nil {
commonParams = ¶ms.Params
body = &stripe.RequestValues{}
params.AppendTo(body)
}
charge := &stripe.Charge{}
err := c.B.Call("GET", "/charges/"+id, c.Key, body, commonParams, charge)
return charge, err
}
示例3: Update
func (c Client) Update(id string, params *stripe.ChargeParams) (*stripe.Charge, error) {
var body *stripe.RequestValues
var commonParams *stripe.Params
if params != nil {
commonParams = ¶ms.Params
body = &stripe.RequestValues{}
if len(params.Desc) > 0 {
body.Add("description", params.Desc)
}
if len(params.Fraud) > 0 {
body.Add("fraud_details[user_report]", string(params.Fraud))
}
params.AppendTo(body)
}
charge := &stripe.Charge{}
err := c.B.Call("POST", "/charges/"+id, c.Key, body, commonParams, charge)
return charge, err
}