Documentation
¶
Index ¶
- func Create(data *CreateParams) (*xendit.Invoice, *xendit.Error)
- func CreateWithContext(ctx context.Context, data *CreateParams) (*xendit.Invoice, *xendit.Error)
- func Expire(data *ExpireParams) (*xendit.Invoice, *xendit.Error)
- func ExpireWithContext(ctx context.Context, data *ExpireParams) (*xendit.Invoice, *xendit.Error)
- func Get(data *GetParams) (*xendit.Invoice, *xendit.Error)
- func GetAll(data *GetAllParams) ([]xendit.Invoice, *xendit.Error)
- func GetAllWithContext(ctx context.Context, data *GetAllParams) ([]xendit.Invoice, *xendit.Error)
- func GetWithContext(ctx context.Context, data *GetParams) (*xendit.Invoice, *xendit.Error)
- type Client
- func (c *Client) Create(data *CreateParams) (*xendit.Invoice, *xendit.Error)
- func (c *Client) CreateWithContext(ctx context.Context, data *CreateParams) (*xendit.Invoice, *xendit.Error)
- func (c *Client) Expire(data *ExpireParams) (*xendit.Invoice, *xendit.Error)
- func (c *Client) ExpireWithContext(ctx context.Context, data *ExpireParams) (*xendit.Invoice, *xendit.Error)
- func (c *Client) Get(data *GetParams) (*xendit.Invoice, *xendit.Error)
- func (c *Client) GetAll(data *GetAllParams) ([]xendit.Invoice, *xendit.Error)
- func (c *Client) GetAllWithContext(ctx context.Context, data *GetAllParams) ([]xendit.Invoice, *xendit.Error)
- func (c *Client) GetWithContext(ctx context.Context, data *GetParams) (*xendit.Invoice, *xendit.Error)
- type CreateParams
- type ExpireParams
- type GetAllParams
- type GetParams
- type InvoiceCallback
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Create ¶
func Create(data *CreateParams) (*xendit.Invoice, *xendit.Error)
Create creates new invoice
Example ¶
xendit.Opt.SecretKey = "examplesecretkey"
data := invoice.CreateParams{
ExternalID: "invoice-example",
Amount: 200000,
PayerEmail: "customer@customer.com",
Description: "invoice #1",
}
resp, err := invoice.Create(&data)
if err != nil {
log.Fatal(err)
}
fmt.Printf("created invoice: %+v\n", resp)
func CreateWithContext ¶
CreateWithContext creates new invoice with context
func Expire ¶
func Expire(data *ExpireParams) (*xendit.Invoice, *xendit.Error)
Expire expires the created invoice
Example ¶
xendit.Opt.SecretKey = "examplesecretkey"
data := invoice.ExpireParams{
ID: "invoice-id",
}
resp, err := invoice.Expire(&data)
if err != nil {
log.Fatal(err)
}
fmt.Printf("expired invoice: %+v\n", resp)
func ExpireWithContext ¶
ExpireWithContext expires the created invoice with context
func Get ¶
Get gets one invoice
Example ¶
xendit.Opt.SecretKey = "examplesecretkey"
data := invoice.GetParams{
ID: "invoice-id",
}
resp, err := invoice.Get(&data)
if err != nil {
log.Fatal(err)
}
fmt.Printf("retrieved invoice: %+v\n", resp)
func GetAll ¶
func GetAll(data *GetAllParams) ([]xendit.Invoice, *xendit.Error)
GetAll gets all invoices with conditions
Example ¶
xendit.Opt.SecretKey = "examplesecretkey"
createdAfter, _ := time.Parse(time.RFC3339, "2016-02-24T23:48:36.697Z")
data := invoice.GetAllParams{
Statuses: []string{"EXPIRED", "SETTLED"},
Limit: 5,
CreatedAfter: createdAfter,
}
resps, err := invoice.GetAll(&data)
if err != nil {
log.Fatal(err)
}
fmt.Printf("invoices: %+v\n", resps)
func GetAllWithContext ¶
GetAllWithContext gets all invoices with conditions
Types ¶
type Client ¶
type Client struct {
Opt *xendit.Option
APIRequester xendit.APIRequester
}
Client is the client used to invoke invoice API.
func (*Client) CreateWithContext ¶
func (c *Client) CreateWithContext(ctx context.Context, data *CreateParams) (*xendit.Invoice, *xendit.Error)
CreateWithContext creates new invoice with context
func (*Client) ExpireWithContext ¶
func (c *Client) ExpireWithContext(ctx context.Context, data *ExpireParams) (*xendit.Invoice, *xendit.Error)
ExpireWithContext expires the created invoice with context
func (*Client) GetAllWithContext ¶
func (c *Client) GetAllWithContext(ctx context.Context, data *GetAllParams) ([]xendit.Invoice, *xendit.Error)
GetAllWithContext gets all invoices with conditions
type CreateParams ¶
type CreateParams struct {
ForUserID string `json:"-"`
WithFeeRule string `json:"-"` // Note: response header fee_rule_id is not implemented yet
ExternalID string `json:"external_id" validate:"required"`
Amount float64 `json:"amount" validate:"required"`
Description string `json:"description,omitempty"`
PayerEmail string `json:"payer_email,omitempty"`
ShouldSendEmail *bool `json:"should_send_email,omitempty"`
Customer xendit.InvoiceCustomer `json:"customer,omitempty"`
CustomerNotificationPreference xendit.InvoiceCustomerNotificationPreference `json:"customer_notification_preference,omitempty"`
InvoiceDuration int `json:"invoice_duration,omitempty"`
SuccessRedirectURL string `json:"success_redirect_url,omitempty"`
FailureRedirectURL string `json:"failure_redirect_url,omitempty"`
PaymentMethods []string `json:"payment_methods,omitempty"`
Currency string `json:"currency,omitempty"`
FixedVA *bool `json:"fixed_va,omitempty"`
CallbackVirtualAccountID string `json:"callback_virtual_account_id,omitempty"`
MidLabel string `json:"mid_label,omitempty"`
ReminderTimeUnit string `json:"reminder_time_unit,omitempty"`
ReminderTime int `json:"reminder_time,omitempty"`
Locale string `json:"locale,omitempty"`
Items []xendit.InvoiceItem `json:"items,omitempty"`
Fees []xendit.InvoiceFee `json:"fees,omitempty"`
ShouldAuthenticateCreditCard bool `json:"should_authenticate_credit_card,omitempty"`
}
CreateParams contains parameters for Create
type ExpireParams ¶
ExpireParams contains parameters for Expire
type GetAllParams ¶
type GetAllParams struct {
ForUserID string `json:"-"`
Statuses []string `json:"statuses,omitempty"`
Limit int `json:"limit,omitempty"`
CreatedAfter time.Time `json:"created_after,omitempty"`
CreatedBefore time.Time `json:"created_before,omitempty"`
PaidAfter time.Time `json:"paid_after,omitempty"`
PaidBefore time.Time `json:"paid_before,omitempty"`
ExpiredAfter time.Time `json:"expired_after,omitempty"`
ExpiredBefore time.Time `json:"expired_before,omitempty"`
LastInvoiceID string `json:"last_invoice_id,omitempty"`
ClientTypes []string `json:"client_types,omitempty"`
PaymentChannels []string `json:"payment_channels,omitempty"`
OnDemandLink string `json:"on_demand_link,omitempty"`
RecurringPaymentID string `json:"recurring_payment_id,omitempty"`
}
GetAllParams contains parameters for GetAll
func (*GetAllParams) QueryString ¶
func (p *GetAllParams) QueryString() string
QueryString creates query string from GetAllParams, ignores nil values
type InvoiceCallback ¶ added in v1.0.17
type InvoiceCallback struct {
ID string `json:"id"`
UserID string `json:"user_id"`
ExternalID string `json:"external_id"`
IsHigh bool `json:"is_high"`
Status string `json:"status"`
MerchantName string `json:"merchant_name"`
Amount float64 `json:"amount"`
Created string `json:"created"`
Updated string `json:"updated"`
PayerEmail string `json:"payer_email,omitempty"`
Description string `json:"description,omitempty"`
PaymentID string `json:"payment_id,omitempty"`
PaidAmount float64 `json:"paid_amount,omitempty"`
PaymentMethod string `json:"payment_method,omitempty"`
BankCode string `json:"bank_code,omitempty"`
EwalletType string `json:"ewallet_type,omitempty"`
CallbackAuthenticationToken string `json:"callback_authentication_token,omitempty"`
CallbackURL string `json:"callback_url,omitempty"`
BusinessID string `json:"business_id,omitempty"`
BusinessName string `json:"business_name,omitempty"`
OnDemandLink string `json:"on_demand_link,omitempty"`
RecurringPaymentID string `json:"recurring_payment_id,omitempty"`
CreditCardChargeID string `json:"credit_card_charge_id,omitempty"`
Currency string `json:"currency,omitempty"`
InitialCurrency string `json:"initial_currency,omitempty"`
InitialAmount float64 `json:"initial_amount,omitempty"`
PaidAt *string `json:"paid_at,omitempty"`
MidLabel string `json:"mid_label,omitempty"`
PaymentChannel string `json:"payment_channel,omitempty"`
PaymentDestination string `json:"payment_destination,omitempty"`
SuccessRedirectURL string `json:"success_redirect_url,omitempty"`
FailureRedirectURL string `json:"failure_redirect_url,omitempty"`
CreditCardToken string `json:"credit_card_token,omitempty"`
PaymentMethodID string `json:"payment_method_id,omitempty"`
ShouldAuthenticateCreditCard bool `json:"should_authenticate_credit_card,omitempty"`
PaymentDetails *xendit.InvoicePaymentDetail `json:"payment_details,omitempty"`
Fees *[]xendit.InvoiceFee `json:"fees,omitempty"`
Items *[]xendit.InvoiceItem `json:"items,omitempty"`
}