Documentation ¶
Overview ¶
Package stripe provides the binding for Stripe REST APIs.
Index ¶
- Constants
- Variables
- func SetBackend(b Backend)
- func SetDebug(value bool)
- type Account
- type Amount
- type Backend
- type Balance
- type BalanceParams
- type BankAccount
- type BankAccountParams
- type BankAccountStatus
- type CaptureParams
- type Card
- type CardBrand
- type CardFunding
- type CardList
- type CardListParams
- type CardParams
- type Charge
- type ChargeListParams
- type ChargeParams
- type Coupon
- type CouponDuration
- type CouponListParams
- type CouponParams
- type Currency
- type Customer
- type CustomerListParams
- type CustomerParams
- type Discount
- type Dispute
- type DisputeParams
- type DisputeReason
- type DisputeStatus
- type Error
- type ErrorCode
- type ErrorType
- type Event
- type EventData
- type EventListParams
- type Fee
- type FeeListParams
- type FeeParams
- type FeeRefund
- type FeeRefundList
- type FeeRefundListParams
- type FeeRefundParams
- type Filters
- type InternalBackend
- type Invoice
- type InvoiceItem
- type InvoiceItemListParams
- type InvoiceItemParams
- type InvoiceLine
- type InvoiceLineList
- type InvoiceLineListParams
- type InvoiceLineType
- type InvoiceListParams
- type InvoiceParams
- type Iter
- type ListMeta
- type ListParams
- type Params
- type Period
- type Plan
- type PlanInterval
- type PlanListParams
- type PlanParams
- type Query
- type Recipient
- type RecipientListParams
- type RecipientParams
- type RecipientType
- type Refund
- type RefundList
- type RefundListParams
- type RefundParams
- type Sub
- type SubList
- type SubListParams
- type SubParams
- type SubStatus
- type Token
- type TokenParams
- type TokenType
- type Transaction
- type TransactionStatus
- type TransactionType
- type Transfer
- type TransferFailCode
- type TransferListParams
- type TransferParams
- type TransferStatus
- type TransferType
- type TxFee
- type TxListParams
- type TxParams
- type Verification
Examples ¶
Constants ¶
const ( InvalidRequest ErrorType = "invalid_request_error" APIErr ErrorType = "api_error" CardErr ErrorType = "card_error" IncorrectNum ErrorCode = "incorrect_number" InvalidNum ErrorCode = "invalid_number" InvalidExpM ErrorCode = "invalid_expiry_month" InvalidExpY ErrorCode = "invalid_expiry_year" InvalidCvc ErrorCode = "invalid_cvc" ExpiredCard ErrorCode = "expired_card" IncorrectCvc ErrorCode = "incorrect_cvc" IncorrectZip ErrorCode = "incorrect_zip" CardDeclined ErrorCode = "card_declined" Missing ErrorCode = "missing" ProcessingErr ErrorCode = "processing_error" RateLimit ErrorCode = "rate_limit" )
Variables ¶
var Key string
Key is the Stripe API key used globally in the binding.
Functions ¶
Types ¶
type Account ¶
type Account struct { ID string `json:"id"` ChargeEnabled bool `json:"charge_enabled"` Country string `json:"country"` // Currencies is the list of supported currencies. Currencies []string `json:"currencies_supported"` DefaultCurrency string `json:"default_currency"` DetailsSubmitted bool `json:"details_submitted"` TransferEnabled bool `json:"transfer_enabled"` Name string `json:"display_name"` Email string `json:"email"` Statement string `json:"statement_description"` Timezone string `json:"timezone"` }
Account is the resource representing youe Stripe account. For more details see https://stripe.com/docs/api/#account.
func (*Account) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of an Account. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type Backend ¶
Backend is an interface for making calls against a Stripe service. This interface exists to enable mocking for during testing if needed.
func GetBackend ¶
func GetBackend() Backend
GetBackend returns the currently used backend in the binding.
type Balance ¶
type Balance struct { // Live indicates the live mode. Live bool `json:"livemode"` Available []Amount `json:"available"` Pending []Amount `json:"pending"` }
Balance is the resource representing your Stripe balance. For more details see https://stripe.com/docs/api/#balance.
type BalanceParams ¶
type BalanceParams struct {
Params
}
BalanceParams is the set of parameters that can be used when retrieving a balance. For more details see https://stripe.com/docs/api#balance.
type BankAccount ¶
type BankAccount struct { ID string `json:"id"` Name string `json:"bank_name"` Country string `json:"country"` Currency Currency `json:"currency"` LastFour string `json:"last4"` Fingerprint string `json:"fingerprint"` Status BankAccountStatus `json:"status"` }
BankAccount represents a Stripe bank account.
type BankAccountParams ¶
type BankAccountParams struct {
Country, Routing, Account string
}
BankAccountParams is the set of parameters that can be used when creating or updating a bank account.
func (*BankAccountParams) AppendDetails ¶
func (b *BankAccountParams) AppendDetails(values *url.Values)
AppendDetails adds the bank account's details to the query string values.
type BankAccountStatus ¶
type BankAccountStatus string
BankAccountStatus is the list of allowed values for the bank account's status. Allowed values are "new", "verified", "validated", "errored".
type CaptureParams ¶
CaptureParams is the set of parameters that can be used when capturing a charge. For more details see https://stripe.com/docs/api#charge_capture.
type Card ¶
type Card struct { ID string `json:"id"` Month uint8 `json:"exp_month"` Year uint16 `json:"exp_year"` Fingerprint string `json:"fingerprint"` Funding CardFunding `json:"funding"` LastFour string `json:"last4"` Brand CardBrand `json:"brand"` City string `json:"address_city"` Country string `json:"address_country"` Address1 string `json:"address_line1"` Address1Check Verification `json:"address_line1_check"` Address2 string `json:"address_line2"` State string `json:"address_state"` Zip string `json:"address_zip"` ZipCheck Verification `json:"address_zip_check"` CardCountry string `json:"country"` Customer *Customer `json:"customer"` CVCCheck Verification `json:"cvc_check"` Name string `json:"name"` Recipient *Recipient `json:"recipient"` }
Card is the resource representing a Stripe credit/debit card. For more details see https://stripe.com/docs/api#cards.
func (*Card) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Card. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type CardBrand ¶
type CardBrand string
CardBrand is the list of allowed values for the card's brand. Allowed values are "Unknown", "Visa", "American Express", "MasterCard", "Discover" "JCB", "Diners Club".
type CardFunding ¶
type CardFunding string
CardFunding is the list of allowed values for the card's funding. Allowed values are "credit", "debit", "prepaid", "unknown".
type CardListParams ¶
type CardListParams struct { ListParams Customer, Recipient string }
CardListParams is the set of parameters that can be used when listing cards. For more details see https://stripe.com/docs/api#list_cards.
type CardParams ¶
type CardParams struct { Params Token string Customer, Recipient string Name, Number, Month, Year, CVC string Address1, Address2, City, State, Zip, Country string }
CardParams is the set of parameters that can be used when creating or updating a card. For more details see https://stripe.com/docs/api#create_card and https://stripe.com/docs/api#update_card.
func (*CardParams) AppendDetails ¶
func (c *CardParams) AppendDetails(values *url.Values, creating bool)
AppendDetails adds the card's details to the query string values. When creating a new card, the parameters are passed as a dictionary, but on updates they are simply the parameter name.
type Charge ¶
type Charge struct { ID string `json:"id"` Live bool `json:"livemode"` Amount uint64 `json:"amount"` Captured bool `json:"captured"` Card *Card `json:"card"` Created int64 `json:"created"` Currency Currency `json:"currency"` Paid bool `json:"paid"` Refunded bool `json:"refunded"` Refunds *RefundList `json:"refunds"` AmountRefunded uint64 `json:"amount_refunded"` Tx *Transaction `json:"balance_transaction"` Customer *Customer `json:"customer"` Desc string `json:"description"` Dispute *Dispute `json:"dispute"` FailMsg string `json:"failure_message"` FailCode string `json:"failure_code"` Invoice *Invoice `json:"invoice"` Meta map[string]string `json:"metadata"` Email string `json:"receipt_email"` Statement string `json:"statement_description"` }
Charge is the resource representing a Stripe charge. For more details see https://stripe.com/docs/api#charges.
Example (Get) ¶
package main import ( "log" stripe "github.com/stripe/stripe-go" "github.com/stripe/stripe-go/charge" ) func main() { stripe.Key = "sk_key" params := &stripe.ChargeParams{} params.Expand("customer") params.Expand("balance_transaction") ch, err := charge.Get("ch_example_id", params) if err != nil { log.Fatal(err) } log.Printf("%v\n", ch.ID) }
Output:
Example (New) ¶
package main import ( "log" stripe "github.com/stripe/stripe-go" "github.com/stripe/stripe-go/charge" "github.com/stripe/stripe-go/currency" ) func main() { stripe.Key = "sk_key" params := &stripe.ChargeParams{ Amount: 1000, Currency: currency.USD, Card: &stripe.CardParams{ Name: "Go Stripe", Number: "4242424242424242", Month: "10", Year: "20", }, } params.AddMeta("key", "value") ch, err := charge.New(params) if err != nil { log.Fatal(err) } log.Printf("%v\n", ch.ID) }
Output:
func (*Charge) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Charge. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type ChargeListParams ¶
type ChargeListParams struct { ListParams Created int64 Customer string }
ChargeListParams is the set of parameters that can be used when listing charges. For more details see https://stripe.com/docs/api#list_charges.
type ChargeParams ¶
type ChargeParams struct { Params Amount uint64 Currency Currency Customer, Token string Card *CardParams Desc, Statement, Email string NoCapture bool Fee uint64 }
ChargeParams is the set of parameters that can be used when creating or updating a charge. For more details see https://stripe.com/docs/api#create_charge and https://stripe.com/docs/api#update_charge.
type Coupon ¶
type Coupon struct { ID string `json:"id"` Live bool `json:"livemode"` Created int64 `json:"created"` Duration CouponDuration `json:"duration"` Amount uint64 `json:"amount_off"` Currency Currency `json:"currency"` DurationPeriod uint64 `json:"duration_in_months"` Redemptions uint64 `json:"max_redemptions"` Meta map[string]string `json:"metadata"` Percent uint64 `json:"percent_off"` RedeemBy int64 `json:"redeem_by"` Redeemed uint64 `json:"times_redeemed"` Valid bool `json:"valid"` }
Coupon is the resource representing a Stripe coupon. For more details see https://stripe.com/docs/api#coupons.
func (*Coupon) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Coupon. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type CouponDuration ¶
type CouponDuration string
CouponDuration is the list of allowed values for the coupon's duration. Allowed values are "forever", "once", "repeating".
type CouponListParams ¶
type CouponListParams struct {
ListParams
}
CouponListParams is the set of parameters that can be used when listing coupons. For more detail see https://stripe.com/docs/api#list_coupons.
type CouponParams ¶
type CouponParams struct { Params Duration CouponDuration ID string Currency Currency Amount, Percent, DurationPeriod, Redemptions uint64 RedeemBy int64 }
CouponParams is the set of parameters that can be used when creating a coupon. For more details see https://stripe.com/docs/api#create_coupon.
type Currency ¶
type Currency string
Currency is the list of supported currencies. For more details see https://support.stripe.com/questions/which-currencies-does-stripe-support.
type Customer ¶
type Customer struct { ID string `json:"id"` Live bool `json:"livemode"` Cards *CardList `json:"cards"` Created int64 `json:"created"` Balance int64 `json:"account_balance"` Currency Currency `json:"currency"` DefaultCard *Card `json:"default_card"` Delinquent bool `json:"delinquent"` Desc string `json:"description"` Discount *Discount `json:"discount"` Email string `json:"email"` Meta map[string]string `json:"metadata"` Subs *SubList `json:"subscriptions"` }
Customer is the resource representing a Stripe customer. For more details see https://stripe.com/docs/api#customers.
Example (Delete) ¶
package main import ( "log" stripe "github.com/stripe/stripe-go" "github.com/stripe/stripe-go/customer" ) func main() { stripe.Key = "sk_key" err := customer.Del("acct_example_id") if err != nil { log.Fatal(err) } }
Output:
func (*Customer) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Customer. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type CustomerListParams ¶
type CustomerListParams struct { ListParams Created int64 }
CustomerListParams is the set of parameters that can be used when listing customers. For more details see https://stripe.com/docs/api#list_customers.
type CustomerParams ¶
type CustomerParams struct { Params Balance int64 Token, Coupon string Card *CardParams Desc, Email string Plan string Quantity uint64 TrialEnd int64 DefaultCard string }
CustomerParams is the set of parameters that can be used when creating or updating a customer. For more details see https://stripe.com/docs/api#create_customer and https://stripe.com/docs/api#update_customer.
type Discount ¶
type Discount struct { Coupon *Coupon `json:"coupon"` Customer string `json:"customer"` Start int64 `json:"start"` End int64 `json:"end"` Sub string `json:"subscription"` }
Discount is the resource representing a Stripe discount. For more details see https://stripe.com/docs/api#discounts.
type Dispute ¶
type Dispute struct { Live bool `json:"livemode"` Amount uint64 `json:"amount"` Currency Currency `json:"currency"` Charge string `json:"charge"` Created int64 `json:"created"` Reason DisputeReason `json:"reason"` Status DisputeStatus `json:"status"` Transactions []*Transaction `json:"balance_transactions"` Evidence string `json:"evidence"` DueDate int64 `json:"evidence_due_by"` Meta map[string]string `json:"metadata"` }
Dispute is the resource representing a Stripe dispute. For more details see https://stripe.com/docs/api#disputes.
type DisputeParams ¶
DisputeParams is the set of parameters that can be used when updating a dispute. For more details see https://stripe.com/docs/api#update_dispute.
type DisputeReason ¶
type DisputeReason string
DisputeReason is the list of allowed values for a discount's reason. Allowed values are "duplicate", "fraudulent", "subscription_canceled", "product_unacceptable", "product_not_received", "unrecognized", "credit_not_processed", "general".
type DisputeStatus ¶
type DisputeStatus string
DisputeStatus is the list of allowed values for a discount's status. Allowed values are "won", "lost", "needs_ressponse", "under_review", "warning_needs_response", "warning_under_review", "charge_refunded".
type Error ¶
type Error struct { Type ErrorType `json:"type"` Msg string `json:"message"` Code ErrorCode `json:"code,omitempty"` Param string `json:"param,omitempty"` HTTPStatusCode int `json:"-"` }
Error is the response returned when a call is unsuccessful. For more details see https://stripe.com/docs/api#errors.
type ErrorCode ¶
type ErrorCode string
ErrorCode is the list of allowed values for the error's code. Allowed values are "incorrect_number", "invalid_number", "invalid_expiry_month", "invalid_expiry_year", "invalid_cvc", "expired_card", "incorrect_cvc", "incorrect_zip", "card_declined", "missing", "processing_error", "rate_limit".
type ErrorType ¶
type ErrorType string
ErrorType is the list of allowed values for the error's type. Allowed values are "invalid_request_error", "api_error", "card_error".
type Event ¶
type Event struct { ID string `json:"id"` Live bool `json:"livemode"` Created int64 `json:"created"` Data *EventData `json:"data"` Webhooks uint64 `json:"pending_webhooks"` Type string `json:"type"` Req string `json:"request"` }
Event is the resource representing a Stripe event. For more details see https://stripe.com/docs/api#events.
func (*Event) GetObjValue ¶
GetObjValue returns the value from the e.Data.Obj bag based on the keys hierarchy.
func (*Event) GetPrevValue ¶
GetPrevValue returns the value from the e.Data.Prev bag based on the keys hierarchy.
type EventData ¶
type EventData struct { Obj map[string]interface{} `json:"object"` Prev map[string]interface{} `json:"previous_attributes"` }
EventData is the unmarshalled object as a map.
type EventListParams ¶
type EventListParams struct { ListParams Created int64 // Type is one of the values documented at https://stripe.com/docs/api#event_types. Type string }
EventListParams is the set of parameters that can be used when listing events. For more details see https://stripe.com/docs/api#list_events.
type Fee ¶
type Fee struct { ID string `json:"id"` Live bool `json:"livemode"` Account *Account `json:"account"` Amount uint64 `json:"amount"` App string `json:"application"` Tx *Transaction `json:"balance_transaction"` Charge *Charge `json:"charge"` Created int64 `json:"created"` Currency Currency `json:"currency"` Refunded bool `json:"refunded"` Refunds *FeeRefundList `json:"refunds"` AmountRefunded uint64 `json:"amount_refunded"` }
Fee is the resource representing a Stripe application fee. For more details see https://stripe.com/docs/api#application_fees.
func (*Fee) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Fee. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type FeeListParams ¶
type FeeListParams struct { ListParams Created int64 Charge string }
FeeListParams is the set of parameters that can be used when listing application fees. For more details see https://stripe.com/docs/api#list_application_fees.
type FeeParams ¶
FeeParams is the set of parameters that can be used when refunding an application fee. For more details see https://stripe.com/docs/api#refund_application_fee.
type FeeRefund ¶
type FeeRefund struct { ID string `json:"id"` Amount uint64 `json:"amount"` Created int64 `json:"created"` Currency Currency `json:"currency"` Tx *Transaction `json:"balance_transaction"` Fee string `json:"fee"` Meta map[string]string `json:"metadata"` }
FeeRefund is the resource representing a Stripe fee refund. For more details see https://stripe.com/docs/api#fee_refunds.
func (*FeeRefund) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a FeeRefund. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type FeeRefundList ¶
FeeRefundList is a list object for fee refunds.
type FeeRefundListParams ¶
type FeeRefundListParams struct { ListParams Fee string }
FeeRefundListParams is the set of parameters that can be used when listing fee refunds. For more details see https://stripe.com/docs/api#list_fee_refunds.
type FeeRefundParams ¶
FeeRefundParams is the set of parameters that can be used when refunding a fee. For more details see https://stripe.com/docs/api#fee_refund.
type Filters ¶
type Filters struct {
// contains filtered or unexported fields
}
Filters is a structure that contains a collection of filters for list-related APIs.
type InternalBackend ¶
type InternalBackend struct {
// contains filtered or unexported fields
}
InternalBackend is the internal implementation for making HTTP calls to Stripe.
func NewInternalBackend ¶
func NewInternalBackend(httpClient *http.Client, url string) *InternalBackend
NewInternalBackend returns a customized backend used for making calls in this binding. This method should be called in one of two scenarios:
- You're running in a Google AppEngine environment where the http.DefaultClient is not available.
- You're doing internal development at Stripe.
type Invoice ¶
type Invoice struct { ID string `json:"id"` Live bool `json:"livemode"` Amount int64 `json:"amount_due"` Attempts uint64 `json:"attempt_count"` Attempted bool `json:"attempted"` Closed bool `json:"closed"` Currency Currency `json:"currency"` Customer *Customer `json:"customer"` Date int64 `json:"date"` Forgive bool `json:"forgiven"` Lines *InvoiceLineList `json:"lines"` Paid bool `json:"paid"` End int64 `json:"period_end"` Start int64 `json:"period_start"` StartBalance int64 `json:"starting_balance"` Subtotal int64 `json:"subtotal"` Total int64 `json:"total"` Fee uint64 `json:"application_fee"` Charge *Charge `json:"charge"` Desc string `json:"description"` Discount *Discount `json:"discount"` EndBalance int64 `json:"ending_balance"` NextAttempt int64 `json:"next_payment_attempt"` Statement string `json:"statement_description"` Sub string `json:"subscription"` Webhook int64 `json:"webhooks_delivered_at"` Meta map[string]string `json:"metadata"` }
Invoice is the resource representing a Stripe invoice. For more details see https://stripe.com/docs/api#invoice_object.
Example (Update) ¶
package main import ( "log" stripe "github.com/stripe/stripe-go" "github.com/stripe/stripe-go/invoice" ) func main() { stripe.Key = "sk_key" params := &stripe.InvoiceParams{ Desc: "updated description", } inv, err := invoice.Update("sub_example_id", params) if err != nil { log.Fatal(err) } log.Printf("%v\n", inv.Desc) }
Output:
func (*Invoice) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of an Invoice. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type InvoiceItem ¶
type InvoiceItem struct { ID string `json:"id"` Live bool `json:"livemode"` Amount int64 `json:"amount"` Currency Currency `json:"currency"` Customer *Customer `json:"customer"` Date int64 `json:"date"` Proration bool `json:"proration"` Desc string `json:"description"` Invoice *Invoice `json:"invoice"` Meta map[string]string `json:"metadata"` Sub string `json:"subscription"` }
InvoiceItem is the resource represneting a Stripe invoice item. For more details see https://stripe.com/docs/api#invoiceitems.
func (*InvoiceItem) UnmarshalJSON ¶
func (i *InvoiceItem) UnmarshalJSON(data []byte) error
UnmarshalJSON handles deserialization of an InvoiceItem. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type InvoiceItemListParams ¶
type InvoiceItemListParams struct { ListParams Created int64 Customer string }
InvoiceItemListParams is the set of parameters that can be used when listing invoice items. For more details see https://stripe.com/docs/api#list_invoiceitems.
type InvoiceItemParams ¶
type InvoiceItemParams struct { Params Customer string Amount int64 Currency Currency Invoice, Desc, Sub string }
InvoiceItemParams is the set of parameters that can be used when creating or updating an invoice item. For more details see https://stripe.com/docs/api#create_invoiceitem and https://stripe.com/docs/api#update_invoiceitem.
type InvoiceLine ¶
type InvoiceLine struct { ID string `json:"id"` Live bool `json:"live_mode"` Amount int64 `json:"amount"` Currency Currency `json:"currency"` Period *Period `json:"period"` Proration bool `json:"proration"` Type InvoiceLineType `json:"type"` Desc string `json:"description"` Meta map[string]string `json:"metadata"` Plan *Plan `json:"plan"` Quantity int64 `json:"quantity"` }
InvoiceLine is the resource representing a Stripe invoice line item. For more details see https://stripe.com/docs/api#invoice_line_item_object.
type InvoiceLineList ¶
type InvoiceLineList struct { ListMeta Values []*InvoiceLine `json:"data"` }
InvoiceLineList is a list object for invoice line items.
type InvoiceLineListParams ¶
type InvoiceLineListParams struct { ListParams ID string Customer, Sub string }
InvoiceLineListParams is the set of parameters that can be used when listing invoice line items. For more details see https://stripe.com/docs/api#invoice_lines.
type InvoiceLineType ¶
type InvoiceLineType string
InvoiceLineType is the list of allowed values for the invoice line's type. Allowed values are "invoiceitem", "subscription".
type InvoiceListParams ¶
type InvoiceListParams struct { ListParams Date int64 Customer string }
InvoiceListParams is the set of parameters that can be used when listing invoices. For more details see https://stripe.com/docs/api#list_customer_invoices.
type InvoiceParams ¶
type InvoiceParams struct { Params Customer string Desc, Statement, Sub string Fee uint64 Closed, Forgive bool }
InvoiceParams is the set of parameters that can be used when creating or updating an invoice. For more details see https://stripe.com/docs/api#create_invoice, https://stripe.com/docs/api#update_invoice.
type Iter ¶
type Iter struct {
// contains filtered or unexported fields
}
Iter represents an interator used for list pagination. Iterators are not thread-safe, so they should not be consumed across multiple goroutines.
func GetIter ¶
func GetIter(params *ListParams, qs *url.Values, query Query) *Iter
GetIter returns a new iterator for a given query and its options.
type ListMeta ¶
type ListMeta struct { Count uint16 `json:"total_count"` More bool `json:"has_more"` URL string `json:"url"` }
ListMeta is the structure that contains the common properties of List iterators. The Count property is only populated if the total_count include option is passed in (see tests for example).
type ListParams ¶
type ListParams struct {
Start, End string
Limit int
Filters Filters
// By default, listing through an iterator will automatically grab
// additional pages as the query progresses. To change this behavior
// and just load a single page, set this to true.
Single bool
}
ListParams is the structure that contains the common properties of any *ListParams structure.
func (*ListParams) AppendTo ¶
func (p *ListParams) AppendTo(body *url.Values)
AppendTo adds the common parameters to the query string values.
type Params ¶
Params is the structure that contains the common properties of any *Params structure.
type Plan ¶
type Plan struct { ID string `json:"id"` Live bool `json:"livemode"` Amount uint64 `json:"amount"` Created int64 `json:"created"` Currency Currency `json:"currency"` Interval PlanInterval `json:"interval"` IntervalCount uint64 `json:"interval_count"` Name string `json:"name"` Meta map[string]string `json:"metadata"` TrialPeriod uint64 `json:"trial_period_days"` Statement string `json:"statement_description"` }
Plan is the resource representing a Stripe plan. For more details see https://stripe.com/docs/api#plans.
Example (List) ¶
package main import ( "log" stripe "github.com/stripe/stripe-go" "github.com/stripe/stripe-go/plan" ) func main() { stripe.Key = "sk_key" params := &stripe.PlanListParams{} params.Filters.AddFilter("limit", "", "3") params.Single = true i := plan.List(params) for !i.Stop() { target, err := i.Next() if err != nil { log.Fatal(err) } log.Printf("%v ", target.Name) } }
Output:
type PlanInterval ¶ added in v1.0.1
type PlanInterval string
PlanInterval is the list of allowed values for a plan's interval. Allowed values are "day", "week", "month", "year".
type PlanListParams ¶
type PlanListParams struct {
ListParams
}
PlanListParams is the set of parameters that can be used when listing plans. For more details see https://stripe.com/docs/api#list_plans.
type PlanParams ¶
type PlanParams struct { Params ID, Name string Currency Currency Amount uint64 Interval PlanInterval IntervalCount, TrialPeriod uint64 Statement string }
PlanParams is the set of parameters that can be used when creating or updating a plan. For more details see https://stripe.com/docs/api#create_plan and https://stripe.com/docs/api#update_plan.
type Recipient ¶
type Recipient struct { ID string `json:"id"` Live bool `json:"livemode"` Created int64 `json:"created"` Type RecipientType `json:"type"` Bank *BankAccount `json:"active_account"` Desc string `json:"description"` Email string `json:"email"` Meta map[string]string `json:"metadata"` Name string `json:"name"` Cards *CardList `json:"cards"` DefaultCard *Card `json:"default_card"` }
Recipient is the resource representing a Stripe recipient. For more details see https://stripe.com/docs/api#recipients.
func (*Recipient) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Recipient. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type RecipientListParams ¶
type RecipientListParams struct { ListParams Verified bool }
RecipientListParams is the set of parameters that can be used when listing recipients. For more details see https://stripe.com/docs/api#list_recipients.
type RecipientParams ¶
type RecipientParams struct { Params Name string Type RecipientType TaxID, Token, Email, Desc string Bank *BankAccountParams Card *CardParams DefaultCard string }
RecipientParams is the set of parameters that can be used when creating or updating recipients. For more details see https://stripe.com/docs/api#create_recipient and https://stripe.com/docs/api#update_recipient.
type RecipientType ¶
type RecipientType string
RecipientType is the list of allowed values for the recipient's type. Allowed values are "individual", "corporation".
type Refund ¶
type Refund struct { ID string `json:"id"` Amount uint64 `json:"amount"` Created int64 `json:"created"` Currency Currency `json:"currency"` Tx *Transaction `json:"balance_transaction"` Charge string `json:"charge"` Meta map[string]string `json:"metadata"` }
Refund is the resource representing a Stripe refund. For more details see https://stripe.com/docs/api#refunds.
func (*Refund) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Refund. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type RefundList ¶
RefundList is a list object for refunds.
type RefundListParams ¶
type RefundListParams struct { ListParams Charge string }
RefundListParams is the set of parameters that can be used when listing refunds. For more details see https://stripe.com/docs/api#list_refunds.
type RefundParams ¶
RefundParams is the set of parameters that can be used when refunding a charge. For more details see https://stripe.com/docs/api#refund.
type Sub ¶
type Sub struct { ID string `json:"id"` EndCancel bool `json:"cancel_at_period_end"` Customer *Customer `json:"customer"` Plan *Plan `json:"plan"` Quantity uint64 `json:"quantity"` Status SubStatus `json:"status"` FeePercent float64 `json:"application_fee_percent"` Canceled int64 `json:"canceled_at"` PeriodEnd int64 `json:"current_period_end"` PeriodStart int64 `json:"current_period_start"` Discount *Discount `json:"discount"` Ended int64 `json:"ended_at"` Meta map[string]string `json:"metadata"` TrialEnd int64 `json:"trial_end"` TrialStart int64 `json:"trial_start"` }
Sub is the resource representing a Stripe subscription. For more details see https://stripe.com/docs/api#subscriptions.
func (*Sub) UnmarshalJSON ¶
UnmarshalJSON handles deserialization of a Sub. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type SubListParams ¶
type SubListParams struct { ListParams Customer string }
SubListParams is the set of parameters that can be used when listing active subscriptions. For more details see https://stripe.com/docs/api#list_subscriptions.
type SubParams ¶
type SubParams struct { Params Customer, Plan string Coupon, Token string TrialEnd int64 Card *CardParams Quantity uint64 FeePercent float64 NoProrate, EndCancel bool }
SubParams is the set of parameters that can be used when creating or updating a subscription. For more details see https://stripe.com/docs/api#create_subscription and https://stripe.com/docs/api#update_subscription.
type SubStatus ¶
type SubStatus string
SubStatus is the list of allowed values for the subscription's status. Allowed values are "trialing", "active", "past_due", "canceled", "unpaid".
type Token ¶
type Token struct { ID string `json:"id"` Live bool `json:"livemode"` Created int64 `json:"created"` Type TokenType `json:"type"` Used bool `json:"used"` Bank *BankAccount `json:"bank_account"` Card *Card `json:"card"` // Email is an undocumented field but included for all tokens created // with Stripe Checkout. Email string `json:"email"` }
Token is the resource representing a Stripe token. For more details see https://stripe.com/docs/api#tokens.
type TokenParams ¶
type TokenParams struct { Params Card *CardParams Bank *BankAccountParams Customer string // Email is an undocumented parameter used by Stripe Checkout // It may be removed from the API without notice. Email string }
TokenParams is the set of parameters that can be used when creating a token. For more details see https://stripe.com/docs/api#create_card_token and https://stripe.com/docs/api#create_bank_account_token.
type TokenType ¶
type TokenType string
TokenType is the list of allowed values for a token's type. Allowed values are "card", "bank_account".
type Transaction ¶
type Transaction struct { ID string `json:"id"` Amount int64 `json:"amount"` Currency Currency `json:"currency"` Available int64 `json:"available_on"` Created int64 `json:"created"` Fee int64 `json:"fee"` FeeDetails []TxFee `json:"fee_details"` Net int64 `json:"net"` Status TransactionStatus `json:"status"` Type TransactionType `json:"type"` Desc string `json:"description"` Src string `json:"source"` Recipient string `json:"recipient"` }
Transaction is the resource representing the balance transaction. For more details see https://stripe.com/docs/api/#balance.
func (*Transaction) UnmarshalJSON ¶
func (t *Transaction) UnmarshalJSON(data []byte) error
UnmarshalJSON handles deserialization of a Transaction. This custom unmarshaling is needed because the resulting property may be an id or the full struct if it was expanded.
type TransactionStatus ¶
type TransactionStatus string
TransactionStatus is the list of allowed values for the transaction's status. Allowed values are "available", "pending".
type TransactionType ¶
type TransactionType string
TransactionType is the list of allowed values for the transaction's type. Allowed values are "charge", "refund", "adjustment", "application_fee", "application_fee_refund", "transfer", "transfer_cancel", "transfer_failure".
type Transfer ¶
type Transfer struct { ID string `json:"id"` Live bool `json:"livemode"` Amount int64 `json:"amount"` Currency Currency `json:"currency"` Created int64 `json:"created"` Date int64 `json:"date"` Desc string `json:"description"` FailCode TransferFailCode `json:"failure_code"` FailMsg string `json:"failure_message"` Status TransferStatus `json:"status"` Type TransferType `json:"type"` Tx *Transaction `json:"balance_transaction"` Meta map[string]string `json:"metadata"` Bank *BankAccount `json:"bank_account"` Card *Card `json:"card"` Recipient *Recipient `json:"recipient"` Statement string `json:"statement_description"` }
Transfer is the resource representing a Stripe transfer. For more details see https://stripe.com/docs/api#transfers.
type TransferFailCode ¶
type TransferFailCode string
TransferFailCode is the list of allowed values for the transfer's failure code. Allowed values are "insufficient_funds", "account_closed", "no_account", "invalid_account_number", "debit_not_authorized", "bank_ownership_changed", "account_frozen", "could_not_process", "bank_account_restricted", "invalid_currency".
type TransferListParams ¶
type TransferListParams struct { ListParams Created, Date int64 Recipient string Status TransferStatus }
TransferListParams is the set of parameters that can be used when listing transfers. For more details see https://stripe.com/docs/api#list_transfers.
type TransferParams ¶
type TransferParams struct { Params Amount int64 Currency Currency Recipient string Desc, Statement, Bank, Card string }
TransferParams is the set of parameters that can be used when creating or updating a transfer. For more details see https://stripe.com/docs/api#create_transfer and https://stripe.com/docs/api#update_transfer.
type TransferStatus ¶
type TransferStatus string
TransferStatus is the list of allowed values for the transfer's status. Allowed values are "paid", "pending", "failed", "canceled".
type TransferType ¶
type TransferType string
TransferType is the list of allowed values for the transfer's type. Allowed values are "card", "bank_account".
type TxFee ¶
type TxFee struct { Amount int64 `json:"amount"` Currency Currency `json:"currency"` Type string `json:"type"` Desc string `json:"description"` Application string `json:"application"` }
TxFee is a structure that breaks down the fees in a transaction.
type TxListParams ¶
type TxListParams struct { ListParams Created, Available int64 Currency, Src, Transfer string Type TransactionType }
TxListParams is the set of parameters that can be used when listing balance transactions. For more details see https://stripe.com/docs/api/#balance_history.
type TxParams ¶
type TxParams struct {
Params
}
TxParams is the set of parameters that can be used when retrieving a transaction. For more details see https://stripe.com/docs/api#retrieve_balance_transaction.
type Verification ¶
type Verification string
Verification is the list of allowed verification responses. Allowed values are "pass", "fail", "unchecked".
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package account provides the /account APIs
|
Package account provides the /account APIs |
Package balance provides the /balance APIs
|
Package balance provides the /balance APIs |
Package card provides the /cards APIs
|
Package card provides the /cards APIs |
Package charge provides the /charges APIs
|
Package charge provides the /charges APIs |
Package client provides a Stripe client for invoking APIs across all resources
|
Package client provides a Stripe client for invoking APIs across all resources |
Package coupon provides the /coupons APIs
|
Package coupon provides the /coupons APIs |
Package currency provides the list of currency codes
|
Package currency provides the list of currency codes |
Package customer provides the /customes APIs
|
Package customer provides the /customes APIs |
Package discount provides the discount-related APIs
|
Package discount provides the discount-related APIs |
Package dispute provides the dispute-related APIs
|
Package dispute provides the dispute-related APIs |
Package event provides the /events APIs
|
Package event provides the /events APIs |
Package fee provides the /application_fees APIs
|
Package fee provides the /application_fees APIs |
Package feerefund provides the /application_fees/refunds APIs
|
Package feerefund provides the /application_fees/refunds APIs |
Package invoice provides the /invoices APIs
|
Package invoice provides the /invoices APIs |
Package invoiceitem provides the /invoiceitems APIs
|
Package invoiceitem provides the /invoiceitems APIs |
Package plan provides the /plans APIs
|
Package plan provides the /plans APIs |
Package recipient provides the /recipients APIs
|
Package recipient provides the /recipients APIs |
Package refund provides the /refunds APIs
|
Package refund provides the /refunds APIs |
Package sub provides the /subscriptions APIs
|
Package sub provides the /subscriptions APIs |
Package token provides the /tokens APIs
|
Package token provides the /tokens APIs |
Package transfer provides the /transfers APIs
|
Package transfer provides the /transfers APIs |
Package utils provides internal utilities
|
Package utils provides internal utilities |