paymentgo

package module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Canopus  PaymentType = "canopus"
	Midtrans PaymentType = "midtrans"

	CanopusSNAP = "snap"
	CanopusAPI  = "api"
)

Variables

View Source
var (
	ErrNoCanopusService  = errors.New("no canopus service yet, please init first")
	ErrNoMidtransService = errors.New("no midtrans service yet, please init first")
)

Functions

func CartItemDetailToCanopus

func CartItemDetailToCanopus(items []CartPayloadItemDetail) []canopusgo.CartPayloadItemDetail

func CartPayloadToCanopus

func CartPayloadToCanopus(cart CartPayload) canopusgo.CartPayload

func CartPayloadToMidtrans added in v1.1.0

func CartPayloadToMidtrans(cart CartPayload) *coreapi.ChargeReq

func MidtransItemDetails added in v1.1.0

func MidtransItemDetails(items []CartPayloadItemDetail) *[]midtrans.ItemDetails

func PaymentMethodToCanopus

func PaymentMethodToCanopus(method PaymentMethod) canopusgo.PaymentMethod

Types

type CanopusService

type CanopusService struct {
	CanopusType string
	MerchantKey []byte
	MerchantPem []byte
	MerchantID  string
	Secret      string
	TimeOut     time.Duration
}

InitService ...

type CartPayload

type CartPayload struct {
	CartDetail struct {
		ID      string
		Payment struct {
			Key  string
			Type string
		}
		Amount    float64
		Title     string
		Currency  string
		ExpiredAt string
	}
	ItemDetails    []CartPayloadItemDetail
	CustomerDetail struct {
		FirstName      string
		LastName       string
		Email          string
		Phone          string
		BillingAddress struct {
			FirstName  string
			LastName   string
			Phone      string
			Address    string
			City       string
			PostalCode string
		}
		ShippingAddress struct {
			FirstName  string
			LastName   string
			Phone      string
			Address    string
			City       string
			PostalCode string
		}
	}
	Environment struct {
		Agent   string
		Mode    string
		Os      string
		Version string
	}
	Callback struct {
		Return string
		Cancel string
		Hook   string
	}
	ExtendInfo struct {
		AdditionalPrefix string
	}
}

CartPayload ...

type CartPayloadItemDetail

type CartPayloadItemDetail struct {
	Name           string
	Desc           string
	Price          float64
	Quantity       int
	SKU            string
	AdditionalInfo struct {
		NoHandphone string
	}
}

CartPayloadItemDetail item cart detail

type CartResponse

type CartResponse struct {
	CartID string
	Link   string
	Amount string
	Bank   string
	Number string
}

CartResponse ...

func CartResponseFromCanopus

func CartResponseFromCanopus(resp canopusgo.CartResponse) CartResponse

func CartResponseFromMidtrans added in v1.1.0

func CartResponseFromMidtrans(resp coreapi.ChargeResponse) (CartResponse, error)

type CreditCard added in v1.2.0

type CreditCard struct {
	CardNumber string
	ExpMonth   int
	ExpYear    int
	CVV        int
}

type MidtransPayment added in v1.1.0

type MidtransPayment struct {
	Client coreapi.Client
}

func (*MidtransPayment) CardRegister added in v1.2.0

func (mtrans *MidtransPayment) CardRegister(cc CreditCard) (string, error)

func (*MidtransPayment) CreateCart added in v1.1.0

func (mtrans *MidtransPayment) CreateCart(cart CartPayload, method PaymentMethod, ccToken string) (CartResponse, error)

func (*MidtransPayment) GetAvailableMethod added in v1.1.0

func (mtrans *MidtransPayment) GetAvailableMethod(amount float64) ([]PaymentMethod, error)

type MidtransService added in v1.1.0

type MidtransService struct {
	Sandbox    bool
	ServerKey  string
	ClientKey  string
	MerchantID string
}

type Payment

type Payment struct {
	Canopus canopusgo.ClientMethod
}

func (*Payment) CardRegister added in v1.2.0

func (pay *Payment) CardRegister(cc CreditCard) (string, error)

func (*Payment) CreateCart

func (pay *Payment) CreateCart(cart CartPayload, method PaymentMethod, ccToken string) (CartResponse, error)

func (*Payment) GetAvailableMethod

func (pay *Payment) GetAvailableMethod(amount float64) ([]PaymentMethod, error)

type PaymentContract added in v1.0.5

type PaymentContract interface {
	GetAvailableMethod(amount float64) ([]PaymentMethod, error)
	CreateCart(cart CartPayload, method PaymentMethod, ccToken string) (CartResponse, error)
	CardRegister(cc CreditCard) (string, error)
}

func InitPayment added in v1.0.5

func InitPayment(paymentType PaymentType, init CanopusService, mTransServ MidtransService) PaymentContract

type PaymentMethod

type PaymentMethod struct {
	From        string
	Key         string
	Name        string
	Type        string
	Instruction interface{}
}

PaymentMethod ...

func PaymentMethodFromCanopus

func PaymentMethodFromCanopus(cano canopusgo.PaymentMethod) PaymentMethod

type PaymentType added in v1.0.5

type PaymentType string

Jump to

Keyboard shortcuts

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