checkout

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package checkout implements all checkout related logic and includes all checkout related models.

Models included in this package:

PDT: Payment Data Transfer
IPN: Instant Payment Notification
Checkout: YenePay's Payment Order

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CartCheckoutItem added in v0.5.0

type CartCheckoutItem struct {
	ItemID    string
	ItemName  string
	UnitPrice float64
	Quantity  int
}

CartCheckoutItem - model

func NewCartCheckoutItem added in v0.5.0

func NewCartCheckoutItem(params CartParams) *CartCheckoutItem

NewCartCheckoutItem - CartCheckoutItem Constructor

type CartParams added in v0.5.0

type CartParams CartCheckoutItem

CartParams - argument for constructor

type ExpressCheckoutItem added in v0.5.0

type ExpressCheckoutItem struct {
	ItemID      string  `validate:"required,min=1"`
	ItemName    string  `validate:"required,min=1"`
	UnitPrice   float64 `validate:"min=0.1"`
	Quantity    int     `validate:"min=1"`
	Discount    float64 `validate:"min=0.0"`
	HandlingFee float64 `validate:"min=0.0"`
	DeliveryFee float64 `validate:"min=0.0"`
	Tax1        float64 `validate:"min=0.0"`
	Tax2        float64 `validate:"min=0.0"`
}

ExpressCheckoutItem - model

func NewExpressCheckoutItem added in v0.5.0

func NewExpressCheckoutItem(
	params ExpressParams,
) *ExpressCheckoutItem

NewExpressCheckoutItem - ExpressCheckoutItem Constructor

type ExpressParams added in v0.5.0

type ExpressParams ExpressCheckoutItem

ExpressParams - argument type for constructor

type Option added in v0.6.0

type Option struct {
	UseSandbox            bool
	Process               Type
	MerchantID            string `validate:"required"`
	SuccessURL            string
	CancelURL             string
	IPNURL                string
	FailureURL            string
	ExpiresAfter          int
	MerchantOrderID       string
	TotalItemsDeliveryFee float64
	TotalItemsTax1        float64
	TotalItemsTax2        float64
	TotalItemsDiscount    float64
	TotalItemsHandlingFee float64
}

Option - checkout option model

func NewOption added in v0.6.0

func NewOption(
	params OptionsParams,
) *Option

NewOption - Option Constructor

func (*Option) GetExpressFields added in v0.6.0

func (option *Option) GetExpressFields() interface{}

GetExpressFields - Return Only Required Fields for Express Checkout I.e. Exclude all Fields that start with 'Total'

func (*Option) SetOrderFees added in v0.6.0

func (option *Option) SetOrderFees(totalItemsDeliveryFee float64, totalItemsDiscount float64, totalItemsHandlingFee float64, totalItemsTax1, totalItemsTax2 float64)

SetOrderFees - Set Order Total Fees I.e. Set Fields that start with 'Total'

type OptionsParams added in v0.5.0

type OptionsParams Option

OptionsParams - arugment for constructor

type PdtParams added in v0.5.0

type PdtParams PdtRequest

PdtParams - arguments for PDT request constructor.

type PdtRequest added in v0.6.0

type PdtRequest struct {
	PdtToken        string `validate:"required,min=1"`
	TransactionID   string
	MerchantOrderID string
	UseSandbox      bool `json:"-"`
	RequestType     string
}

PdtRequest - request model for transaction verification

func NewPdtRequest added in v0.6.0

func NewPdtRequest(
	params PdtParams,
) *PdtRequest

NewPdtRequest - PDT Constructor

type PdtResponse added in v0.6.0

type PdtResponse struct {
	PdtToken        string `validate:"required,min=1"`
	TransactionID   string
	MerchantOrderID string
	UseSandbox      bool `json:"-"`
	RequestType     string
}

PdtResponse - result of transaction verificaiton(pdt request)

type Type added in v0.6.0

type Type string

Type - model

const CartCheckout Type = "Cart"

CartCheckout - Cart Checkout Type

const ExpressCheckout Type = "Express"

ExpressCheckout - Express Checkout Type

type YenePayCheckOut added in v0.3.0

type YenePayCheckOut struct {
}

YenePayCheckOut - main checkout model

func NewYenePayCheckOut added in v0.3.0

func NewYenePayCheckOut() *YenePayCheckOut

NewYenePayCheckOut - YenePayCheckOut Constructor

func (*YenePayCheckOut) CartCheckoutURL added in v0.6.0

func (checkout *YenePayCheckOut) CartCheckoutURL(checkoutOptions *Option, cartItems []CartCheckoutItem) string

CartCheckoutURL - Generate Checkout URL for Cart Checkout

func (*YenePayCheckOut) ExpressCheckoutURL added in v0.6.0

func (checkout *YenePayCheckOut) ExpressCheckoutURL(checkoutOptions *Option, checkoutItem *ExpressCheckoutItem) string

ExpressCheckoutURL - Generate Checkout URL for Express Checkout

func (*YenePayCheckOut) IsIPNAuthentic added in v0.5.0

func (checkout *YenePayCheckOut) IsIPNAuthentic(ipnModel interface{}, useSandbox bool) (bool, error)

IsIPNAuthentic - check IPN authenticity (WIP)

func (*YenePayCheckOut) RequestPDT added in v0.5.0

func (checkout *YenePayCheckOut) RequestPDT(pdtReq PdtRequest) (interface{}, error)

RequestPDT - Request PDT model (WIP)

Jump to

Keyboard shortcuts

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