disbursement

package
v1.0.25 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2023 License: MIT Imports: 6 Imported by: 3

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Create

func Create(data *CreateParams) (*xendit.Disbursement, *xendit.Error)

Create creates new disbursement

Example
xendit.Opt.SecretKey = "examplesecretkey"

createData := disbursement.CreateParams{
	IdempotencyKey:    "disbursement" + time.Now().String(),
	ExternalID:        "disbursement-external",
	BankCode:          "BRI",
	AccountHolderName: "Michael Jackson",
	AccountNumber:     "1234567890",
	Description:       "Disbursement from Go",
	Amount:            200000,
}

resp, err := disbursement.Create(&createData)
if err != nil {
	log.Fatal(err)
}

fmt.Printf("created disbursement: %+v\n", resp)
Output:

func CreateBatch

func CreateBatch(data *CreateBatchParams) (*xendit.BatchDisbursement, *xendit.Error)

CreateBatch creates new batch disbursement

Example
xendit.Opt.SecretKey = "examplesecretkey"

createBatchData := disbursement.CreateBatchParams{
	Reference: "batch_disbursement" + time.Now().String(),
	Disbursements: []disbursement.DisbursementItem{
		{
			Amount:            200000,
			BankCode:          "BNI",
			BankAccountName:   "Michael Jackson",
			BankAccountNumber: "1234567890",
			Description:       "Batch disbursement from Go",
		},
		{
			Amount:            100000,
			BankCode:          "BRI",
			BankAccountName:   "Michael Jackson",
			BankAccountNumber: "1234567890",
			Description:       "Batch disbursement from Go 2",
		},
	},
}

batchDisbursementResp, err := disbursement.CreateBatch(&createBatchData)
if err != nil {
	log.Fatal(err)
}

fmt.Printf("created batch disbursement: %+v\n", batchDisbursementResp)
Output:

func CreateBatchWithContext

func CreateBatchWithContext(ctx context.Context, data *CreateBatchParams) (*xendit.BatchDisbursement, *xendit.Error)

CreateBatchWithContext creates new batch disbursement with context

func CreateWithContext

func CreateWithContext(ctx context.Context, data *CreateParams) (*xendit.Disbursement, *xendit.Error)

CreateWithContext creates new disbursement with context

func GetAvailableBanks

func GetAvailableBanks() ([]xendit.DisbursementBank, *xendit.Error)

GetAvailableBanks gets available disbursement banks

Example
xendit.Opt.SecretKey = "examplesecretkey"

availableBanks, err := disbursement.GetAvailableBanks()
if err != nil {
	log.Fatal(err)
}

fmt.Printf("available disbursement banks: %+v\n", availableBanks)
Output:

func GetAvailableBanksWithContext

func GetAvailableBanksWithContext(ctx context.Context) ([]xendit.DisbursementBank, *xendit.Error)

GetAvailableBanksWithContext gets available disbursement banks with context

func GetByExternalID

func GetByExternalID(data *GetByExternalIDParams) ([]xendit.Disbursement, *xendit.Error)

GetByExternalID gets a disbursement

Example
xendit.Opt.SecretKey = "examplesecretkey"

getByExternalIDData := disbursement.GetByExternalIDParams{
	ExternalID: "disbursement-external-id",
}

resps, err := disbursement.GetByExternalID(&getByExternalIDData)
if err != nil {
	log.Fatal(err)
}

fmt.Printf("retrieved disbursements: %+v\n", resps)
Output:

func GetByExternalIDWithContext

func GetByExternalIDWithContext(ctx context.Context, data *GetByExternalIDParams) ([]xendit.Disbursement, *xendit.Error)

GetByExternalIDWithContext gets a disbursement with context

func GetByID

func GetByID(data *GetByIDParams) (*xendit.Disbursement, *xendit.Error)

GetByID gets a disbursement

Example
xendit.Opt.SecretKey = "examplesecretkey"

getByIDData := disbursement.GetByIDParams{
	DisbursementID: "123",
}

resp, err := disbursement.GetByID(&getByIDData)
if err != nil {
	log.Fatal(err.ErrorCode, err.Message, err.GetStatus())
}

fmt.Printf("retrieved disbursement: %+v\n", resp)
Output:

func GetByIDWithContext

func GetByIDWithContext(ctx context.Context, data *GetByIDParams) (*xendit.Disbursement, *xendit.Error)

GetByIDWithContext gets a disbursement with context

Types

type Client

type Client struct {
	Opt          *xendit.Option
	APIRequester xendit.APIRequester
}

Client is the client used to invoke invoice API.

func (*Client) Create

func (c *Client) Create(data *CreateParams) (*xendit.Disbursement, *xendit.Error)

Create creates new disbursement

func (*Client) CreateBatch

func (c *Client) CreateBatch(data *CreateBatchParams) (*xendit.BatchDisbursement, *xendit.Error)

CreateBatch creates new batch disbursement

func (*Client) CreateBatchWithContext

func (c *Client) CreateBatchWithContext(ctx context.Context, data *CreateBatchParams) (*xendit.BatchDisbursement, *xendit.Error)

CreateBatchWithContext creates new batch disbursement with context

func (*Client) CreateWithContext

func (c *Client) CreateWithContext(ctx context.Context, data *CreateParams) (*xendit.Disbursement, *xendit.Error)

CreateWithContext creates new disbursement with context

func (*Client) GetAvailableBanks

func (c *Client) GetAvailableBanks() ([]xendit.DisbursementBank, *xendit.Error)

GetAvailableBanks gets available disbursement banks

func (*Client) GetAvailableBanksWithContext

func (c *Client) GetAvailableBanksWithContext(ctx context.Context) ([]xendit.DisbursementBank, *xendit.Error)

GetAvailableBanksWithContext gets available disbursement banks with context

func (*Client) GetByExternalID

func (c *Client) GetByExternalID(data *GetByExternalIDParams) ([]xendit.Disbursement, *xendit.Error)

GetByExternalID gets a disbursement by id

func (*Client) GetByExternalIDWithContext

func (c *Client) GetByExternalIDWithContext(ctx context.Context, data *GetByExternalIDParams) ([]xendit.Disbursement, *xendit.Error)

GetByExternalIDWithContext gets a disbursement by id with context

func (*Client) GetByID

func (c *Client) GetByID(data *GetByIDParams) (*xendit.Disbursement, *xendit.Error)

GetByID gets a disbursement by id

func (*Client) GetByIDWithContext

func (c *Client) GetByIDWithContext(ctx context.Context, data *GetByIDParams) (*xendit.Disbursement, *xendit.Error)

GetByIDWithContext gets a disbursement by id with context

type CreateBatchParams

type CreateBatchParams struct {
	IdempotencyKey string             `json:"-"`
	ForUserID      string             `json:"-"`
	Reference      string             `json:"reference" validate:"required"`
	Disbursements  []DisbursementItem `json:"disbursements" validate:"required"`
}

CreateBatchParams contains parameters for CreateBatch

type CreateParams

type CreateParams struct {
	IdempotencyKey    string   `json:"-"`
	ForUserID         string   `json:"-"`
	ExternalID        string   `json:"external_id" validate:"required"`
	BankCode          string   `json:"bank_code" validate:"required"`
	AccountHolderName string   `json:"account_holder_name" validate:"required"`
	AccountNumber     string   `json:"account_number" validate:"required"`
	Description       string   `json:"description" validate:"required"`
	Amount            float64  `json:"amount" validate:"required"`
	EmailTo           []string `json:"email_to,omitempty"`
	EmailCC           []string `json:"email_cc,omitempty"`
	EmailBCC          []string `json:"email_bcc,omitempty"`
}

CreateParams contains parameters for Create

type DisbursementCallback added in v1.0.25

type DisbursementCallback struct {
	ID                      string  `json:"id"`
	Created                 string  `json:"created"`
	Updated                 string  `json:"updated"`
	ExternalID              string  `json:"external_id"`
	UserID                  string  `json:"user_id"`
	Amount                  float64 `json:"amount"`
	BankCode                string  `json:"bank_code"`
	AccountHolderName       string  `json:"account_holder_name"`
	DisbursementDescription string  `json:"disbursement_description"`
	Status                  string  `json:"status"`
	FailureCode             string  `json:"failure_code,omitempty"`
	IsInstant               bool    `json:"is_instant,omitempty"`
}

type DisbursementItem

type DisbursementItem struct {
	Amount            float64  `json:"amount" validate:"required"`
	BankCode          string   `json:"bank_code" validate:"required"`
	BankAccountName   string   `json:"bank_account_name" validate:"required"`
	BankAccountNumber string   `json:"bank_account_number" validate:"required"`
	Description       string   `json:"description" validate:"required"`
	ExternalID        string   `json:"external_id,omitempty"`
	EmailTo           []string `json:"email_to,omitempty"`
	EmailCC           []string `json:"email_cc,omitempty"`
	EmailBCC          []string `json:"email_bcc,omitempty"`
}

DisbursementItem is data that contained in CreateBatch at Disbursements

type GetByExternalIDParams

type GetByExternalIDParams struct {
	ExternalID string `json:"external_id" validate:"required"`
	ForUserID  string `json:"-"`
}

GetByExternalIDParams contains parameters for GetByExternalID

func (*GetByExternalIDParams) QueryString

func (p *GetByExternalIDParams) QueryString() string

QueryString creates query string from GetByExternalIDParams, ignores nil values

type GetByIDParams

type GetByIDParams struct {
	DisbursementID string `json:"disbursement_id" validate:"required"`
	ForUserID      string `json:"-"`
}

GetByIDParams contains parameters for GetByID

Jump to

Keyboard shortcuts

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