func MarkFraudulent(id string) (*stripe.Charge, error) {
	return getC().MarkFraudulent(id)
}
MarkFraudulent reports the charge as fraudulent.
package charge
import (
	"fmt"
	stripe "github.com/stripe/stripe-go"
	"github.com/stripe/stripe-go/form"
)
const (
	ReportFraudulent stripe.FraudReport = "fraudulent"
	ReportSafe       stripe.FraudReport = "safe"
)
type Client struct {
	B   stripe.Backend
	Key string
}
func New(params *stripe.ChargeParams) (*stripe.Charge, error) {
	return getC().New(params)
}
func (c Client) New(params *stripe.ChargeParams) (*stripe.Charge, error) {
	body := &form.Values{}
	form.AppendTo(body, params)
	charge := &stripe.Charge{}
	err := c.B.Call("POST", "/charges", c.Key, body, &params.Params, charge)
	return charge, err
}
func Get(id string, params *stripe.ChargeParams) (*stripe.Charge, error) {
	return getC().Get(id, params)
}
func (c Client) Get(id string, params *stripe.ChargeParams) (*stripe.Charge, error) {
	var body *form.Values
	var commonParams *stripe.Params
	if params != nil {
		commonParams = &params.Params
		body = &form.Values{}
		form.AppendTo(body, params)
	}
	charge := &stripe.Charge{}
	err := c.B.Call("GET", "/charges/"+id, c.Key, body, commonParams, charge)
	return charge, err
}
func Update(id string, params *stripe.ChargeParams) (*stripe.Charge, error) {
	return getC().Update(id, params)
}
func (c Client) Update(id string, params *stripe.ChargeParams) (*stripe.Charge, error) {
	var body *form.Values
	var commonParams *stripe.Params
	if params != nil {
		commonParams = &params.Params
		body = &form.Values{}
		form.AppendTo(body, params)
	}
	charge := &stripe.Charge{}
	err := c.B.Call("POST", "/charges/"+id, c.Key, body, commonParams, charge)
	return charge, err
}
func Capture(id string, params *stripe.CaptureParams) (*stripe.Charge, error) {
	return getC().Capture(id, params)
}
func (c Client) Capture(id string, params *stripe.CaptureParams) (*stripe.Charge, error) {
	var body *form.Values
	var commonParams *stripe.Params
	if params != nil {
		commonParams = &params.Params
		body = &form.Values{}
		form.AppendTo(body, params)
	}
	charge := &stripe.Charge{}
	err := c.B.Call("POST", fmt.Sprintf("/charges/%v/capture", id), c.Key, body, commonParams, charge)
	return charge, err
}
func List(params *stripe.ChargeListParams) *Iter {
	return getC().List(params)
}
func (c Client) List(params *stripe.ChargeListParams) *Iter {
	var body *form.Values
	var lp *stripe.ListParams
	var p *stripe.Params
	if params != nil {
		body = &form.Values{}
		form.AppendTo(body, params)
		lp = &params.ListParams
		p = params.ToParams()
	}
	return &Iter{stripe.GetIter(lp, body, func(b *form.Values) ([]interface{}, stripe.ListMeta, error) {
		list := &stripe.ChargeList{}
		err := c.B.Call("GET", "/charges", c.Key, b, p, list)
		ret := make([]interface{}, len(list.Values))
		for i, v := range list.Values {
			ret[i] = v
		}
		return ret, list.ListMeta, err
	})}
}