terminal

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: 8 Imported by: 0

README

Terminal API

Manage physical payment terminals for in-person transactions.

Available Operations

  • List - List terminals
  • Fetch - Get terminal details
  • Commission - Commission a terminal
  • Decommission - Decommission a terminal
  • Update - Update terminal settings
  • Send Event - Send events to terminal

Quick Examples

List Terminals
import "github.com/huysamen/paystack-go/api/terminal"

query := terminal.NewListRequestBuilder().
    PerPage(50).
    Page(1).
    Build()

result, err := client.Terminal.List(ctx, *query)
Commission Terminal
request := terminal.NewCommissionRequestBuilder().
    SerialNumber("1234567890").
    Build()

result, err := client.Terminal.Commission(ctx, *request)
Send Event
request := terminal.NewSendEventRequestBuilder().
    TerminalID("terminal_id").
    Type(enums.TerminalEventTypeInvoice).
    Action(enums.TerminalActionProcess).
    Data(map[string]any{
        "id": 12345,
        "reference": "INV_001",
    }).
    Build()

result, err := client.Terminal.SendEvent(ctx, *request)

Use Cases

Perfect for retail stores, restaurants, and physical businesses that need in-person payment processing.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client api.API

func (*Client) CommissionDevice

func (*Client) DecommissionDevice

func (*Client) Fetch

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

func (*Client) FetchEventStatus

func (c *Client) FetchEventStatus(ctx context.Context, terminalID, eventID string) (*FetchEventStatusResponse, error)

func (*Client) FetchTerminalStatus

func (c *Client) FetchTerminalStatus(ctx context.Context, terminalID string) (*FetchTerminalStatusResponse, error)

func (*Client) List

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

func (*Client) SendEvent

func (c *Client) SendEvent(ctx context.Context, terminalID string, builder SendEventRequestBuilder) (*SendEventResponse, error)

func (*Client) Update

func (c *Client) Update(ctx context.Context, terminalID string, builder UpdateRequestBuilder) (*UpdateResponse, error)

type CommissionDeviceRequest

type CommissionDeviceRequest struct {
	SerialNumber string `json:"serial_number"`
}

type CommissionDeviceRequestBuilder

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

func NewCommissionDeviceRequestBuilder

func NewCommissionDeviceRequestBuilder(serialNumber string) *CommissionDeviceRequestBuilder

func (*CommissionDeviceRequestBuilder) Build

type CommissionDeviceResponseData

type CommissionDeviceResponseData = types.Terminal

type DecommissionDeviceRequest

type DecommissionDeviceRequest struct {
	SerialNumber string `json:"serial_number"`
}

type DecommissionDeviceRequestBuilder

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

func NewDecommissionDeviceRequest

func NewDecommissionDeviceRequest(serialNumber string) *DecommissionDeviceRequestBuilder

func (*DecommissionDeviceRequestBuilder) Build

type DecommissionDeviceResponseData

type DecommissionDeviceResponseData = any

type FetchEventStatusResponseData

type FetchEventStatusResponseData = types.TerminalEventStatus

type FetchResponse

type FetchResponse = types.Response[FetchResponseData]

type FetchResponseData

type FetchResponseData = types.Terminal

type FetchTerminalStatusResponseData

type FetchTerminalStatusResponseData = types.TerminalPresenceStatus

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) Next

func (*ListRequestBuilder) PerPage

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

func (*ListRequestBuilder) Previous

func (b *ListRequestBuilder) Previous(previous string) *ListRequestBuilder

type ListResponse

type ListResponse = types.Response[ListResponseData]

type ListResponseData

type ListResponseData = []types.Terminal

type SendEventRequestBuilder

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

func (*SendEventRequestBuilder) Build

func (b *SendEventRequestBuilder) Build() *sendEventRequest

type SendEventResponse

type SendEventResponse = types.Response[SendEventResponseData]

type SendEventResponseData

type SendEventResponseData = types.TerminalEventResult

type UpdateRequestBuilder

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

func NewUpdateRequestBuilder

func NewUpdateRequestBuilder() *UpdateRequestBuilder

func (*UpdateRequestBuilder) Address

func (b *UpdateRequestBuilder) Address(address string) *UpdateRequestBuilder

func (*UpdateRequestBuilder) Build

func (b *UpdateRequestBuilder) Build() *updateRequest

func (*UpdateRequestBuilder) Name

type UpdateResponse

type UpdateResponse = types.Response[UpdateResponseData]

type UpdateResponseData

type UpdateResponseData = types.Terminal

Jump to

Keyboard shortcuts

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