Documentation
¶
Overview ¶
* File Created: Monday, 18th September 2023 11:33:54 am * Author: Abdul Hamid (abdul.surel@gmail.com) * * Copyright (c) 2023 Author
* File Created: Monday, 18th September 2023 11:34:33 am * Author: Abdul Hamid (abdul.surel@gmail.com) * * Copyright (c) 2023 Author
Index ¶
- type Client
- func (c *Client) Create(ctx context.Context, payload durianpay.InvoiceCreatePayload) (*Create, *durianpay.Error)
- func (c *Client) Delete(ctx context.Context, ID string) *durianpay.Error
- func (c *Client) FetchInvoiceByID(ctx context.Context, ID string) (*FetchInvoiceByID, *durianpay.Error)
- func (c *Client) FetchInvoices(ctx context.Context, opt durianpay.InvoiceFetchOption) (*FetchInvoices, *durianpay.Error)
- func (c *Client) GenerateCheckoutURL(ctx context.Context, customerID string) (*GenerateCheckoutURL, *durianpay.Error)
- func (c *Client) ManualPay(ctx context.Context, payload durianpay.InvoiceManualPayPayload) (*ManualPay, *durianpay.Error)
- func (c *Client) Pay(ctx context.Context, payload durianpay.InvoicePayPayload) (*Pay, *durianpay.Error)
- func (c *Client) Update(ctx context.Context, ID string, payload durianpay.InvoiceUpdatePayload) (*Update, *durianpay.Error)
- type Create
- type FetchInvoiceByID
- type FetchInvoices
- type GenerateCheckoutURL
- type Invoices
- type ManualPay
- type Pay
- type Transaction
- type Update
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
func (*Client) Create ¶
func (c *Client) Create(ctx context.Context, payload durianpay.InvoiceCreatePayload) (*Create, *durianpay.Error)
Create returns a response from Create Invoice API.
[Doc Create Invoice API]: https://durianpay.id/docs/api/invoices/create/
func (*Client) Delete ¶
Delete returns a response from Delete Invoice API
[Doc Delete Invoice API]: https://durianpay.id/docs/api/invoices/delete/
func (*Client) FetchInvoiceByID ¶
func (c *Client) FetchInvoiceByID(ctx context.Context, ID string) (*FetchInvoiceByID, *durianpay.Error)
FetchInvoiceByID returns a response from Invoice Fetch by ID API.
[Doc Invoice Fetch by ID API]: https://durianpay.id/docs/api/invoices/fetch-one/
func (*Client) FetchInvoices ¶
func (c *Client) FetchInvoices(ctx context.Context, opt durianpay.InvoiceFetchOption) (*FetchInvoices, *durianpay.Error)
FetchInvoices returns a response from List Invoices API
[Doc List Invoices API]: https://durianpay.id/docs/api/invoices/fetch/
func (*Client) GenerateCheckoutURL ¶
func (c *Client) GenerateCheckoutURL(ctx context.Context, customerID string) (*GenerateCheckoutURL, *durianpay.Error)
GenerateCheckoutURL returns a response from Generate Checkout URL API.
[Doc Generate Checkout URL API]: https://durianpay.id/docs/api/invoices/generate-checkout-url/
func (*Client) ManualPay ¶
func (c *Client) ManualPay(ctx context.Context, payload durianpay.InvoiceManualPayPayload) (*ManualPay, *durianpay.Error)
ManualPay returns a response from Manual Payment for Invoice API
[Doc Manual Payment for Invoice API]: https://durianpay.id/docs/api/invoices/manual-payment/
type Create ¶
type Create struct {
ID string `json:"id"`
InvoiceRefID string `json:"invoice_ref_id"`
Title string `json:"title"`
Status string `json:"status"`
Amount string `json:"amount"`
RemainingAmount string `json:"remaining_amount"`
DueDate time.Time `json:"due_date"`
StartDate time.Time `json:"start_date"`
CreatedAt time.Time `json:"created_at"`
CustomerID string `json:"customer_id"`
EnablePartialTransaction bool `json:"enable_partial_transaction"`
PartialTransactionConfig map[string]any `json:"partial_transaction_config"`
CheckoutURL string `json:"checkout_url"`
CheckoutURLExpiryAt time.Time `json:"checkout_url_expiry_at"`
}
Create represents a response from Create Invoice API.
type FetchInvoiceByID ¶
type FetchInvoiceByID struct {
ID string `json:"id"`
InvoiceRefID string `json:"invoice_ref_id"`
CustomerID string `json:"customer_id"`
IsLive bool `json:"is_live"`
Title string `json:"title"`
Status string `json:"status"`
Amount string `json:"amount"`
RemainingAmount string `json:"remaining_amount"`
StartDate time.Time `json:"start_date"`
DueDate time.Time `json:"due_date"`
CreatedAt time.Time `json:"created_at"`
IsPartialTransactionEnabled bool `json:"is_partial_transaction_enabled"`
PartialTransactionConfig map[string]any `json:"partial_transaction_config"`
InvoiceURL string `json:"invoice_url"`
Metadata map[string]any `json:"metadata"`
IsBlocked bool `json:"is_blocked"`
Transactions []Transaction `json:"transactions"`
}
FetchInvoiceByID represents a response from Payment Fetch By ID API.
type FetchInvoices ¶
type FetchInvoices struct {
Invoices []Invoices `json:"invoices"`
TotalCount int `json:"total_count"`
}
FetchInvoice represents a response from List Invoices API.
type GenerateCheckoutURL ¶
GenerateCheckoutURL represents a response from Generate Checkout URL API.
type Invoices ¶
type Invoices struct {
ID string `json:"id"`
InvoiceRefID string `json:"invoice_ref_id"`
CustomerID string `json:"customer_id"`
IsLive bool `json:"is_live"`
Title string `json:"title"`
Status string `json:"status"`
Amount string `json:"amount"`
RemainingAmount string `json:"remaining_amount"`
StartDate time.Time `json:"start_date"`
DueDate time.Time `json:"due_date"`
CreatedAt time.Time `json:"created_at"`
IsPartialTransactionEnabled bool `json:"is_partial_transaction_enabled"`
PartialTransactionConfig map[string]any `json:"partial_transaction_config"`
InvoiceURL string `json:"invoice_url"`
IsBlocked bool `json:"is_blocked"`
}
Invoices is part of FetchInvoice for attribute Invoices
type ManualPay ¶
type ManualPay struct {
ID string `json:"id"`
}
ManualPay represents a response from Manual Payment for Invoice API.
type Pay ¶
type Pay struct {
VANumber string `json:"va_number"`
Amount string `json:"amount"`
BankCode string `json:"bank_code"`
InvoiceTransactionID string `json:"invoice_transaction_id"`
}
Pay represents a response from Pay Invoice API.
type Transaction ¶
type Transaction struct {
ID string `json:"ID"`
Amount string `json:"amount"`
Status string `json:"status"`
}
Transaction is part of Create for attribute Transactions
type Update ¶
type Update struct {
ID string `json:"id"`
InvoiceRefID string `json:"invoice_ref_id"`
CustomerID string `json:"customer_id"`
Title string `json:"title"`
Status string `json:"status"`
Amount string `json:"amount"`
RemainingAmount string `json:"remaining_amount"`
StartDate time.Time `json:"start_date"`
DueDate time.Time `json:"due_date"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
EnablePartialTransaction bool `json:"enable_partial_transaction"`
PartialTransactionConfig map[string]any `json:"partial_transaction_config"`
Metadata map[string]any `json:"metadata"`
IsBlocked bool `json:"is_blocked"`
}
Update represents a response from Update Invoice API.