Models

package
v0.0.0-...-1ef35f0 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

****************************************************************************************** Copyright © 2019 Xiippy.ai. All rights reserved. Australian patents awarded. PCT patent pending.

NOTES:

- No payment gateway SDK function is consumed directly. Interfaces are defined out of such interactions and then the interface is implemented for payment gateways. Design the interface with the most common members and data structures between different gateways. A proper factory or provider must instantiate an instance of the interface that is interacted with. - Any major change made to SDKs should begin with the c# SDK with the mindset to keep the high-level syntax, structures and class names the same to minimise porting efforts to other languages. Do not use language specific features that don't exist in other languages. We are not in the business of doing the same thing from scratch multiple times in different forms. - Pascal Case for naming conventions should be used for all languages - No secret or passwords or keys must exist in the code when checked in

******************************************************************************************

****************************************************************************************** Copyright © 2019 Xiippy.ai. All rights reserved. Australian patents awarded. PCT patent pending.

NOTES:

- No payment gateway SDK function is consumed directly. Interfaces are defined out of such interactions and then the interface is implemented for payment gateways. Design the interface with the most common members and data structures between different gateways. A proper factory or provider must instantiate an instance of the interface that is interacted with. - Any major change made to SDKs should begin with the c# SDK with the mindset to keep the high-level syntax, structures and class names the same to minimise porting efforts to other languages. Do not use language specific features that don't exist in other languages. We are not in the business of doing the same thing from scratch multiple times in different forms. - Pascal Case for naming conventions should be used for all languages - No secret or passwords or keys must exist in the code when checked in

****************************************************************************************** using SQLite;

****************************************************************************************** Copyright © 2019 Xiippy.ai. All rights reserved. Australian patents awarded. PCT patent pending.

NOTES:

- No payment gateway SDK function is consumed directly. Interfaces are defined out of such interactions and then the interface is implemented for payment gateways. Design the interface with the most common members and data structures between different gateways. A proper factory or provider must instantiate an instance of the interface that is interacted with. - Any major change made to SDKs should begin with the c# SDK with the mindset to keep the high-level syntax, structures and class names the same to minimise porting efforts to other languages. Do not use language specific features that don't exist in other languages. We are not in the business of doing the same thing from scratch multiple times in different forms. - Pascal Case for naming conventions should be used for all languages - No secret or passwords or keys must exist in the code when checked in

******************************************************************************************

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CashPaymentPersisted

type CashPaymentPersisted struct {
	RandomStatementID string  `json:"RandomStatementID"`
	Purchase          float32 `json:"Purchase"`
	TotalPaid         float32 `json:"TotalPaid"`
	AmountReturned    float32 `json:"AmountReturned"`
	Currency          string  `json:"Currency"`
}

func NewCashPaymentPersisted

func NewCashPaymentPersisted() *CashPaymentPersisted

type ElectronicPaymentPersisted

type ElectronicPaymentPersisted struct {
	ElectronicPaymentID            int64             `json:"ElectronicPaymentID"`
	RandomStatementID              string            `json:"RandomStatementID"`
	Bank                           string            `json:"Bank"`
	MerchantAccountOwnerDetail     string            `json:"MerchantAccountOwnerDetail"`
	Terminal                       string            `json:"Terminal"`
	Reference                      string            `json:"Reference"`
	CardNO                         string            `json:"CardNO"`
	AccountType                    string            `json:"AccountType"`
	CardExpiry                     string            `json:"CardExpiry"`
	Aid                            string            `json:"Aid"`
	Atc                            string            `json:"Atc"`
	Tvr                            string            `json:"Tvr"`
	Csn                            string            `json:"Csn"`
	AuthNo                         string            `json:"AuthNo"`
	PosRefNo                       string            `json:"PosRefNo"`
	MAccountNumber                 string            `json:"MAccountNumber"`
	Mrrn                           string            `json:"Mrrn"`
	Mauth                          string            `json:"Mauth"`
	PaymentType                    string            `json:"PaymentType"`
	MLocationCode                  string            `json:"MLocationCode"`
	MAccountType                   string            `json:"MAccountType"`
	Apsn                           string            `json:"Apsn"`
	Arqc                           string            `json:"Arqc"`
	CurrencyCode                   string            `json:"CurrencyCode"`
	ExtraInfo1                     string            `json:"ExtraInfo1"`
	ExtraInfo2                     string            `json:"ExtraInfo2"`
	ExtraInfo3                     string            `json:"ExtraInfo3"`
	ExtraInfo4                     string            `json:"ExtraInfo4"`
	ExtraInfo5                     string            `json:"ExtraInfo5"`
	ExtraInfo6                     string            `json:"ExtraInfo6"`
	ExtraInfo7                     string            `json:"ExtraInfo7"`
	ExtraInfo8                     string            `json:"ExtraInfo8"`
	ExtraInfo9                     string            `json:"ExtraInfo9"`
	ExtraInfo10                    string            `json:"ExtraInfo10"`
	Purchase                       float32           `json:"Purchase"`
	Total                          float32           `json:"Total"`
	TransactionType                string            `json:"TransactionType"`
	StatusId                       string            `json:"StatusId"`
	TxnStatusId                    string            `json:"TxnStatusId"`
	Complete                       string            `json:"Complete"`
	StatementText                  string            `json:"StatementText"`
	ApprovedFlag                   bool              `json:"ApprovedFlag"`
	ExpectedSettlementDate         string            `json:"ExpectedSettlementDate"`
	ExpectedSettlementDateTimeZone string            `json:"ExpectedSettlementDateTimeZone"`
	DateOfTransaction              string            `json:"DateOfTransaction"`
	DateOfTransactionTimeZone      string            `json:"DateOfTransactionTimeZone"`
	Stan                           string            `json:"Stan"`
	DpsBillingId                   string            `json:"DpsBillingId"`
	ResponseCode                   string            `json:"ResponseCode"`
	ResponseText                   string            `json:"ResponseText"`
	AmtSurcgarge                   float32           `json:"AmtSurcgarge"`
	AmtTip                         float32           `json:"AmtTip"`
	AmtCashOut                     float32           `json:"AmtCashOut"`
	CardType                       string            `json:"CardType"`
	MetaDataExtras                 map[string]string `json:"MetaDataExtras"`
	Tsi                            string            `json:"Tsi"`
	DedicatedFileName              string            `json:"DedicatedFileName"`
	Cvm                            string            `json:"Cvm"`
	AuthorizationCode              string            `json:"AuthorizationCode"`
	ApplicationPreferredName       string            `json:"ApplicationPreferredName"`
}

type IssuerStatementRecord

type IssuerStatementRecord struct {
	RandomStatementID               string                       `json:"RandomStatementID"`
	StatementItems                  []StatementItem              `json:"StatementItems"`
	ElectronicPayments              []ElectronicPaymentPersisted `json:"ElectronicPayments"`
	CashPayments                    []CashPaymentPersisted       `json:"CashPayments"`
	TotalBillVariations             []TotalBillVariation         `json:"TotalBillVariations"`
	ShiftID                         string                       `json:"ShiftID"`
	StatementTimeStamp              string                       `json:"StatementTimeStamp"`
	IssuersPrivateMetadata          map[string]string            `json:"IssuersPrivateMetadata"`
	ShortStatementID                string                       `json:"ShortStatementID"`
	StatementCreationDate           string                       `json:"StatementCreationDate"`
	StatementText                   string                       `json:"StatementText"`
	Description                     string                       `json:"Description"`
	PersonResponsible               string                       `json:"PersonResponsible"`
	IssuerLogoUrl                   string                       `json:"IssuerLogoUrl"`
	DetailsInHeader                 string                       `json:"DetailsInHeader"`
	TotalAmount                     float32                      `json:"TotalAmount"`
	TotalTaxAmount                  float32                      `json:"TotalTaxAmount"`
	DetailsInBodyBeforeItems        string                       `json:"DetailsInBodyBeforeItems"`
	DetailsInBodyAfterItems         string                       `json:"DetailsInBodyAfterItems"`
	DetailsInFooter                 string                       `json:"DetailsInFooter"`
	StatementIdentifier             string                       `json:"StatementIdentifier"`
	StatementIdentifier2            string                       `json:"StatementIdentifier2"`
	StatementIdentifier3            string                       `json:"StatementIdentifier3"`
	ExtraInfo1                      string                       `json:"ExtraInfo1"`
	ExtraInfo2                      string                       `json:"ExtraInfo2"`
	ExtraInfo3                      string                       `json:"ExtraInfo3"`
	ExtraInfo4                      string                       `json:"ExtraInfo4"`
	ExtraInfo5                      string                       `json:"ExtraInfo5"`
	ExtraInfo6                      string                       `json:"ExtraInfo6"`
	ExtraInfo7                      string                       `json:"ExtraInfo7"`
	ExtraInfo8                      string                       `json:"ExtraInfo8"`
	ExtraInfo9                      string                       `json:"ExtraInfo9"`
	ExtraInfo10                     string                       `json:"ExtraInfo10"`
	AttachmentPageTop               []byte                       `json:"AttachmentPageTop"`
	AttachmentPageTopMimeType       string                       `json:"AttachmentPageTopMimeType"`
	AttachmentItemsTop              []byte                       `json:"AttachmentItemsTop"`
	AttachmentItemsTopMimeType      string                       `json:"AttachmentItemsTopMimeType"`
	AttachmentItemsBottom           []byte                       `json:"AttachmentItemsBottom"`
	AttachmentItemsBottomMimeType   string                       `json:"AttachmentItemsBottomMimeType"`
	AttachmentPageBottom            []byte                       `json:"AttachmentPageBottom"`
	AttachmentPageBottomMimeType    string                       `json:"AttachmentPageBottomMimeType"`
	TotalLoyaltyPoints              float32                      `json:"TotalLoyaltyPoints"`
	PaymentProcessingResult         uint                         `json:"PaymentProcessingResult"`
	PaymentProcessingMsg            string                       `json:"PaymentProcessingMsg"`
	UniqueStatementID               string                       `json:"UniqueStatementID"`
	PaymentNameAddressRequestObject PaymentNameAddressRequest    `json:"PaymentNameAddressRequestObject"`
	RetailerGroupID                 string                       `json:"RetailerGroupID"`
	MetaDataExtras                  map[string]string            `json:"MetaDataExtras"`
}

type PaymentNameAddressRequest

type PaymentNameAddressRequest struct {
	PaymentRequestAmount             float64  `json:"PaymentRequest_Amount"`
	PaymentRequestCurrency           string   `json:"PaymentRequest_Currency"`
	AllowedCardNetworks              []string `json:"allowedCardNetworks"`
	PaymentRecordClientAuthenticator string   `json:"PaymentRecordClientAuthenticator"`
	IncludePhoneNumberInResponse     bool     `json:"IncludePhoneNumberInResponse"`
	IncludeNameInResponse            bool     `json:"IncludeNameInResponse"`
	IncludeEmailAddressInResponse    bool     `json:"IncludeEmailAddressInResponse"`
	IncludeBillingAddressInResponse  bool     `json:"IncludeBillingAddressInResponse"`
	IncludeShippingAddressInResponse bool     `json:"IncludeShippingAddressInResponse"`
	IsViaTerminal                    bool     `json:"IsViaTerminal"`
	AllowFuturePayments              bool     `json:"AllowFuturePayments"`
}

PaymentNameAddressRequest represents a request for payment and address information.

type PaymentProcessingRequest

type PaymentProcessingRequest struct {
	MerchantGroupID       string                 `json:"MerchantGroupID"`
	MerchantID            string                 `json:"MerchantID"`
	Amount                float64                `json:"Amount"`
	Currency              string                 `json:"Currency"`
	Customer              *PaymentRecordCustomer `json:"Customer"`
	ExternalUniqueID      string                 `json:"ExternalUniqueID"`
	IsViaTerminal         bool                   `json:"IsViaTerminal"`
	IsPreAuth             bool                   `json:"IsPreAuth"`
	IssuerStatementRecord *IssuerStatementRecord `json:"IssuerStatementRecord"`
}

PaymentProcessingRequest represents a request for processing a payment.

type PaymentProcessingResponse

type PaymentProcessingResponse struct {
	ClientSecret        string `json:"ClientSecret"`
	ClientAuthenticator string `json:"ClientAuthenticator"`
	RandomStatementID   string `json:"RandomStatementID"`
	StatementTimeStamp  string `json:"StatementTimeStamp"`
	ExternalUniqueID    string `json:"ExternalUniqueID"`
	//Data                        map[string]string `json:"Data"`
	PaymentProcessingResponseID string `json:"PaymentProcessingResponseID"`
}

type PaymentRecordCustomer

type PaymentRecordCustomer struct {
	CustomerAddress   PaymentRecordCustomerAddress `json:"CustomerAddress"`
	CustomerName      string                       `json:"CustomerName"`
	CustomerEmail     string                       `json:"CustomerEmail"`
	CustomerIP        string                       `json:"CustomerIP"`
	CustomerPhone     string                       `json:"CustomerPhone"`
	CustomerAddressID string                       `json:"CustomerAddressID"`
}

type PaymentRecordCustomerAddress

type PaymentRecordCustomerAddress struct {
	PaymentRecordCustomerAddressID string `json:"PaymentRecordCustomerAddressID"`
	Line1                          string `json:"Line1"`
	Line2                          string `json:"Line2"`
	CityOrSuburb                   string `json:"CityOrSuburb"`
	StateOrPrivince                string `json:"StateOrPrivince"`
	PostalCode                     string `json:"PostalCode"`
	Country                        string `json:"Country"`
	PhoneNumber                    string `json:"PhoneNumber"`
	FullName                       string `json:"FullName"`
}

type StatementItem

type StatementItem struct {
	StatementItemID                  int       `json:"StatementItemID"`
	RandomStatementID                string    `json:"RandomStatementID"`
	Description                      string    `json:"Description"`
	Identifier                       string    `json:"Identifier"`
	Url                              string    `json:"Url"`
	Quantity                         float64   `json:"Quantity"`
	UnitPrice                        float64   `json:"UnitPrice"`
	TotalPrice                       float64   `json:"TotalPrice"`
	Tax                              float64   `json:"Tax"`
	ExtraInfo1                       string    `json:"ExtraInfo1"`
	ExtraInfo2                       string    `json:"ExtraInfo2"`
	ExtraInfo3                       string    `json:"ExtraInfo3"`
	ExtraInfo4                       string    `json:"ExtraInfo4"`
	ExtraInfo5                       string    `json:"ExtraInfo5"`
	ExtraInfo6                       string    `json:"ExtraInfo6"`
	UnitTitle                        string    `json:"UnitTitle"`
	UnitLoyaltyPoint                 float64   `json:"UnitLoyaltyPoint"`
	LoyaltyPoint                     float64   `json:"LoyaltyPoint"`
	ItemClassification               string    `json:"ItemClsassification"`
	ItemCategoryID                   string    `json:"ItemCategoryID"`
	ItemCategoryTitle                string    `json:"ItemCategoryTitle"`
	AddedMoment                      time.Time `json:"AddedMoment"`
	WarrantyExpiryMomentISO8601      string    `json:"WarrantyExpiryMomentISO8601"`
	LoyaltyPointsExpiryMomentISO8601 string    `json:"LoyaltyPointsExpiryMomentISO8601"`
}

type TotalBillVariation

type TotalBillVariation struct {
	TotalBillVariationID                                 string   `json:"TotalBillVariationID"`
	RandomStatementID                                    string   `json:"RandomStatementID"`
	Description                                          string   `json:"Description"`
	TotalAmountVariationCoefficientAfterTax              *float32 `json:"TotalAmountVariationCoefficientAfterTax"`
	TotalAmountVariationCoefficientAfterTaxInputValueCap *float32 `json:"TotalAmountVariationCoefficientAfterTaxInputValueCap"`
	TotalAmountVariationCoefficientBeforeTax             *float32 `json:"TotalAmountVariationCoefficientBeforeTax"`
	TotalAmountVariationCoefficientBeforeCap             *float32 `json:"TotalAmountVariationCoefficientBeforeCap"`
	TotalAmountVariationFixedAmountAfterTax              *float32 `json:"TotalAmountVariationFixedAmountAfterTax"`
	TotalAmountVariationFixedAmountAfterTaxCap           *float32 `json:"TotalAmountVariationFixedAmountAfterTaxCap"`
	TotalAmountVariationFixedAmountBeforeTax             *float32 `json:"TotalAmountVariationFixedAmountBeforeTax"`
	TotalAmountVariationFixedAmountBeforeTaxCap          *float32 `json:"TotalAmountVariationFixedAmountBeforeTaxCap"`
}

Jump to

Keyboard shortcuts

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