bulkcharges

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 6 Imported by: 0

README

Bulk Charges API

Process multiple charges in a single batch operation.

Available Operations

  • Initiate - Start a bulk charge batch
  • List Batches - List bulk charge batches
  • Fetch Batch - Get batch details
  • Fetch Batch Charges - Get charges in a batch
  • Pause Batch - Pause processing
  • Resume Batch - Resume processing

Quick Examples

Initiate Bulk Charges
import "github.com/huysamen/paystack-go/api/bulkcharges"

charges := []map[string]any{
    {
        "authorization": "AUTH_code_1", 
        "amount": 100000,
        "reference": "ref_1",
    },
    {
        "authorization": "AUTH_code_2",
        "amount": 150000, 
        "reference": "ref_2",
    },
}

request := bulkcharges.NewInitiateRequestBuilder().
    Charges(charges).
    Build()

result, err := client.BulkCharges.Initiate(ctx, *request)
List Batches
query := bulkcharges.NewListBatchesRequestBuilder().
    PerPage(50).
    Page(1).
    Build()

result, err := client.BulkCharges.ListBatches(ctx, *query)

Use Cases

Perfect for subscription renewals, membership fees, or any scenario requiring multiple charges at once.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BulkChargeItem

type BulkChargeItem struct {
	Authorization string `json:"authorization"`
	Amount        int64  `json:"amount"`
	Reference     string `json:"reference"`
}

type Client

type Client api.API

func (*Client) Fetch

func (c *Client) Fetch(ctx context.Context, idOrCode string) (*FetchResponse, error)

func (*Client) FetchChargesInBatch

func (c *Client) FetchChargesInBatch(ctx context.Context, idOrCode string, builder FetchInBatchRequestBuilder) (*FetchInBatchResponse, error)

func (*Client) Initiate

func (c *Client) Initiate(ctx context.Context, builder InitiateRequestBuilder) (*InitiateResponse, error)

func (*Client) List

func (c *Client) List(ctx context.Context, builder ListRequestBuilder) (*ListResponse, error)

func (*Client) Pause

func (c *Client) Pause(ctx context.Context, batchCode string) (*PauseResponse, error)

func (*Client) Resume

func (c *Client) Resume(ctx context.Context, batchCode string) (*ResumeResponse, error)

type FetchInBatchRequestBuilder

type FetchInBatchRequestBuilder struct {
	// contains filtered or unexported fields
}

func NewFetchInBatchRequestBuilder

func NewFetchInBatchRequestBuilder() *FetchInBatchRequestBuilder

func (*FetchInBatchRequestBuilder) Build

func (b *FetchInBatchRequestBuilder) Build() *fetchInBatchRequest

func (*FetchInBatchRequestBuilder) DateRange

func (*FetchInBatchRequestBuilder) From

func (*FetchInBatchRequestBuilder) Page

func (*FetchInBatchRequestBuilder) PerPage

func (*FetchInBatchRequestBuilder) Status

func (*FetchInBatchRequestBuilder) To

type FetchInBatchResponse

type FetchInBatchResponse = types.Response[FetchInBatchResponseData]

type FetchInBatchResponseData

type FetchInBatchResponseData = []types.BulkCharge

type FetchResponse

type FetchResponse = types.Response[FetchResponseData]

type FetchResponseData

type FetchResponseData = types.BulkChargeBatch

type InitiateRequestBuilder

type InitiateRequestBuilder struct {
	// contains filtered or unexported fields
}

func NewInitiateRequestBuilder

func NewInitiateRequestBuilder() *InitiateRequestBuilder

func (*InitiateRequestBuilder) AddItem

func (b *InitiateRequestBuilder) AddItem(authorization string, amount int64, reference string) *InitiateRequestBuilder

func (*InitiateRequestBuilder) AddItems

func (*InitiateRequestBuilder) Build

func (b *InitiateRequestBuilder) Build() *initiateRequest

type InitiateResponse

type InitiateResponse = types.Response[InitiateResponseData]

type InitiateResponseData

type InitiateResponseData = types.BulkChargeBatch

type ListRequestBuilder

type ListRequestBuilder struct {
	// contains filtered or unexported fields
}

func NewListRequestBuilder

func NewListRequestBuilder() *ListRequestBuilder

func (*ListRequestBuilder) Build

func (b *ListRequestBuilder) Build() *listRequest

func (*ListRequestBuilder) DateRange

func (b *ListRequestBuilder) DateRange(from, to string) *ListRequestBuilder

func (*ListRequestBuilder) From

func (*ListRequestBuilder) Page

func (b *ListRequestBuilder) Page(page int) *ListRequestBuilder

func (*ListRequestBuilder) PerPage

func (b *ListRequestBuilder) PerPage(perPage int) *ListRequestBuilder

func (*ListRequestBuilder) To

type ListResponse

type ListResponse = types.Response[ListResponseData]

type ListResponseData

type ListResponseData = []types.BulkChargeBatch

type PauseResponse

type PauseResponse = types.Response[PauseResponseData]

type PauseResponseData

type PauseResponseData = any

type ResumeResponse

type ResumeResponse = types.Response[ResumeResponseData]

type ResumeResponseData

type ResumeResponseData = any

Jump to

Keyboard shortcuts

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