invoice

package
v0.1.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2023 License: MIT Imports: 6 Imported by: 0

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

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	ServerKey string
	Api       common.Api
}

func (*Client) Create

Create returns a response from Create Invoice API.

[Doc Create Invoice API]: https://durianpay.id/docs/api/invoices/create/

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, ID string) *durianpay.Error

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

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

ManualPay returns a response from Manual Payment for Invoice API

[Doc Manual Payment for Invoice API]: https://durianpay.id/docs/api/invoices/manual-payment/

func (*Client) Pay

func (c *Client) Pay(ctx context.Context, payload durianpay.InvoicePayPayload) (*Pay, *durianpay.Error)

Pay returns a response from Pay Invoice API

[Doc Pay Invoice API]: https://durianpay.id/docs/api/invoices/pay/

func (*Client) Update

func (c *Client) Update(ctx context.Context, ID string, payload durianpay.InvoiceUpdatePayload) (*Update, *durianpay.Error)

Update returns a response from Update Invoice API

[Doc Update Invoice API]: https://durianpay.id/docs/api/invoices/update/

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

type GenerateCheckoutURL struct {
	URL    string    `json:"url"`
	Expiry time.Time `json:"expiry"`
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL