adapter

package
v1.0.16 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApiKeyHeaderName        = "x-api-key"
	RandomHeaderName        = "x-rnd-key"
	AuthVersionHeaderName   = "x-auth-version"
	ClientVersionHeaderName = "x-client-version"
	SignatureHeaderName     = "x-signature"
	AuthVersion             = "1"
	ClientVersion           = "craftgate-go-client:1.0.0"
)

Variables

This section is empty.

Functions

func Decode

func Decode(encoded string) string

func DoRequestWithClient

func DoRequestWithClient(
	ctx context.Context,
	client *http.Client,
	req *http.Request) (*http.Response, error)

func GenerateHash

func GenerateHash(url, apiKey, secretKey, randomString, body string) string

func GenerateRandomString

func GenerateRandomString() string

func QueryParams

func QueryParams(req interface{}) (string, error)

Types

type AccountOwner added in v1.0.8

type AccountOwner string
const (
	AccountOwner_MERCHANT            AccountOwner = "MERCHANT"
	AccountOwner_SUB_MERCHANT_MEMBER AccountOwner = "SUB_MERCHANT_MEMBER"
)

type AdditionalAction added in v1.0.9

type AdditionalAction string
const (
	AdditionalAction_CONTINUE_IN_CLIENT AdditionalAction = "CONTINUE_IN_CLIENT"
	AdditionalAction_SHOW_HTML_CONTENT  AdditionalAction = "SHOW_HTML_CONTENT"
	AdditionalAction_REDIRECT_TO_URL    AdditionalAction = "REDIRECT_TO_URL"
	AdditionalAction_NONE               AdditionalAction = "NONE"
)

type ApmAdditionalAction

type ApmAdditionalAction string
const (
	ApmAdditionalAction_REDIRECT_TO_URL   ApmAdditionalAction = "REDIRECT_TO_URL"
	ApmAdditionalAction_OTP_REQUIRED      ApmAdditionalAction = "OTP_REQUIRED"
	ApmAdditionalAction_SHOW_HTML_CONTENT ApmAdditionalAction = "SHOW_HTML_CONTENT"
	ApmAdditionalAction_WAIT_FOR_WEBHOOK  ApmAdditionalAction = "WAIT_FOR_WEBHOOK"
	ApmAdditionalAction_APPROVAL_REQUIRED ApmAdditionalAction = "APPROVAL_REQUIRED"
	ApmAdditionalAction_NONE              ApmAdditionalAction = "NONE"
)

apm additional action type declaration

type ApmDepositPaymentResponse added in v1.0.7

type ApmDepositPaymentResponse struct {
	PaymentId           *int64               `json:"paymentId"`
	RedirectUrl         *string              `json:"redirectUrl"`
	PaymentStatus       *PaymentStatus       `json:"paymentStatus"`
	ApmAdditionalAction *ApmAdditionalAction `json:"additionalAction"`
	PaymentError        *PaymentError        `json:"paymentError"`
	WalletTransaction   *WalletTransaction   `json:"walletTransaction"`
}

type ApmType

type ApmType string
const (
	ApmType_PAPARA           ApmType = "PAPARA"
	ApmType_PAYONEER         ApmType = "PAYONEER"
	ApmType_SODEXO           ApmType = "SODEXO"
	ApmType_EDENRED          ApmType = "EDENRED"
	ApmType_EDENRED_GIFT     ApmType = "EDENRED_GIFT"
	ApmType_PAYPAL           ApmType = "PAYPAL"
	ApmType_KLARNA           ApmType = "KLARNA"
	ApmType_AFTERPAY         ApmType = "AFTERPAY"
	ApmType_KASPI            ApmType = "KASPI"
	ApmType_INSTANT_TRANSFER ApmType = "INSTANT_TRANSFER"
	ApmType_TOMPAY           ApmType = "TOMPAY"
	ApmType_MASLAK           ApmType = "MASLAK"
	ApmType_ALFABANK         ApmType = "ALFABANK"
	ApmType_TOM_FINANCE      ApmType = "TOM_FINANCE"
	ApmType_STRIPE           ApmType = "STRIPE"
	ApmType_PAYCELL          ApmType = "PAYCELL"
	ApmType_HASO             ApmType = "HASO"
	ApmType_FUND_TRANSFER    ApmType = "FUND_TRANSFER"
	ApmType_CASH_ON_DELIVERY ApmType = "CASH_ON_DELIVERY"
)

apm type declaration

type ApplePayMerchantSessionCreateRequest added in v1.0.14

type ApplePayMerchantSessionCreateRequest struct {
	MerchantIdentifier string `json:"merchantIdentifier,omitempty"`
	DisplayName        string `json:"displayName,omitempty"`
	Initiative         string `json:"initiative,omitempty"`
	InitiativeContext  string `json:"initiativeContext,omitempty"`
	ValidationUrl      string `json:"validationUrl,omitempty"`
}

type ApprovalStatus

type ApprovalStatus string
const (
	ApprovalStatus_SUCCESS ApprovalStatus = "SUCCESS"
	ApprovalStatus_FAILURE ApprovalStatus = "FAILURE"
)

approval status declaration

type AutopilotState added in v1.0.11

type AutopilotState struct {
	IsThreeDsUp    bool `json:"isThreeDsUp"`
	IsNonThreeDsUp bool `json:"isNonThreeDsUp"`
}

type BankAccountTracking added in v1.0.10

type BankAccountTracking struct {
	Client *Client
}

func (*BankAccountTracking) RetrieveRecords added in v1.0.10

func (*BankAccountTracking) SearchRecords added in v1.0.10

type BankAccountTrackingRecordResponse added in v1.0.10

type BankAccountTrackingRecordResponse struct {
	Id                        int64                     `json:"id"`
	Key                       string                    `json:"key"`
	SenderName                string                    `json:"senderName"`
	SenderIban                string                    `json:"senderIban"`
	Description               string                    `json:"description"`
	Currency                  Currency                  `json:"currency"`
	Amount                    float64                   `json:"amount"`
	RecordDate                TimeResponse              `json:"recordDate"`
	RecordType                RecordType                `json:"recordType"`
	BankAccountTrackingSource BankAccountTrackingSource `json:"bankAccountTrackingSource"`
}

type BankAccountTrackingSource added in v1.0.10

type BankAccountTrackingSource string
const (
	BankAccountTrackingSource_YKB     BankAccountTrackingSource = "YKB"
	BankAccountTrackingSource_GARANTI BankAccountTrackingSource = "GARANTI"
)

BankAccountTrackingSource declaration

type BnplBankOffer added in v1.0.11

type BnplBankOffer struct {
	BankCode                      string               `json:"bankCode"`
	BankName                      string               `json:"bankName"`
	BankIconUrl                   string               `json:"bankIconUrl"`
	BankTableBannerMessage        string               `json:"bankTableBannerMessage"`
	BankSmallBannerMessage        string               `json:"bankSmallBannerMessage"`
	IsSupportNonCustomer          bool                 `json:"isSupportNonCustomer"`
	IsPaymentPlanCalculatedByBank bool                 `json:"isPaymentPlanCalculatedByBank"`
	BnplBankOfferTerm             *[]BnplBankOfferTerm `json:"bankOfferTerms"`
}

type BnplBankOfferTerm added in v1.0.11

type BnplBankOfferTerm struct {
	Term               int64    `json:"term"`
	Amount             *float64 `json:"amount"`
	TotalAmount        *float64 `json:"totalAmount"`
	InterestRate       *float64 `json:"interestRate"`
	AnnualInterestRate *float64 `json:"annualInterestRate"`
}

type BnplCartItemType added in v1.0.11

type BnplCartItemType string
const (
	BnplCartItemType_MOBILE_PHONE_OVER_5000_TRY                BnplCartItemType = "MOBILE_PHONE_OVER_5000_TRY"
	BnplCartItemType_MOBILE_PHONE_BELOW_5000_TRY               BnplCartItemType = "MOBILE_PHONE_BELOW_5000_TRY"
	BnplCartItemType_MOBILE_PHONE_PRICE_ABOVE_REGULATION_LIMIT BnplCartItemType = "MOBILE_PHONE_PRICE_ABOVE_REGULATION_LIMIT"
	BnplCartItemType_MOBILE_PHONE_PRICE_BELOW_REGULATION_LIMIT BnplCartItemType = "MOBILE_PHONE_PRICE_BELOW_REGULATION_LIMIT"
	BnplCartItemType_TABLET                                    BnplCartItemType = "TABLET"
	BnplCartItemType_COMPUTER                                  BnplCartItemType = "COMPUTER"
	BnplCartItemType_CONSTRUCTION_MARKET                       BnplCartItemType = "CONSTRUCTION_MARKET"
	BnplCartItemType_GOLD                                      BnplCartItemType = "GOLD"
	BnplCartItemType_DIGITAL_PRODUCTS                          BnplCartItemType = "DIGITAL_PRODUCTS"
	BnplCartItemType_SUPERMARKET                               BnplCartItemType = "SUPERMARKET"
	BnplCartItemType_WHITE_GOODS                               BnplCartItemType = "WHITE_GOODS"
	BnplCartItemType_WEARABLE_TECHNOLOGY                       BnplCartItemType = "WEARABLE_TECHNOLOGY"
	BnplCartItemType_SMALL_HOME_APPLIANCES                     BnplCartItemType = "SMALL_HOME_APPLIANCES"
	BnplCartItemType_TV                                        BnplCartItemType = "TV"
	BnplCartItemType_GAMES_CONSOLES                            BnplCartItemType = "GAMES_CONSOLES"
	BnplCartItemType_AIR_CONDITIONER_AND_HEATER                BnplCartItemType = "AIR_CONDITIONER_AND_HEATER"
	BnplCartItemType_ELECTRONICS                               BnplCartItemType = "ELECTRONICS"
	BnplCartItemType_ACCESSORIES                               BnplCartItemType = "ACCESSORIES"
	BnplCartItemType_MOM_AND_BABY_AND_KIDS                     BnplCartItemType = "MOM_AND_BABY_AND_KIDS"
	BnplCartItemType_SHOES                                     BnplCartItemType = "SHOES"
	BnplCartItemType_CLOTHING                                  BnplCartItemType = "CLOTHING"
	BnplCartItemType_COSMETICS_AND_PERSONAL_CARE               BnplCartItemType = "COSMETICS_AND_PERSONAL_CARE"
	BnplCartItemType_FURNITURE                                 BnplCartItemType = "FURNITURE"
	BnplCartItemType_HOME_LIVING                               BnplCartItemType = "HOME_LIVING"
	BnplCartItemType_AUTOMOBILE_MOTORCYCLE                     BnplCartItemType = "AUTOMOBILE_MOTORCYCLE"
	BnplCartItemType_OTHER                                     BnplCartItemType = "OTHER"
)

BnplCartItemType type declaration

type BnplPaymentCartItem added in v1.0.11

type BnplPaymentCartItem struct {
	Id        string           `json:"id"`
	Name      string           `json:"name"`
	BrandName string           `json:"brandName"`
	Type      BnplCartItemType `json:"type"`
	UnitPrice float64          `json:"unitPrice"`
	Quantity  int64            `json:"quantity"`
}

type BnplPaymentOfferRequest added in v1.0.11

type BnplPaymentOfferRequest struct {
	ApmType       ApmType               `json:"apmType"`
	MerchantApmId int64                 `json:"merchantApmId,omitempty"`
	Price         float64               `json:"price"`
	Currency      Currency              `json:"currency"`
	Items         []BnplPaymentCartItem `json:"items"`
}

type BnplPaymentOfferResponse added in v1.0.11

type BnplPaymentOfferResponse struct {
	OfferId        string           `json:"offerId"`
	Price          *float64         `json:"price"`
	BnplBankOffers *[]BnplBankOffer `json:"nnplBankOffers"`
}

type Card

type Card struct {
	CardHolderName               string         `json:"cardHolderName,omitempty"`
	CardNumber                   string         `json:"cardNumber,omitempty"`
	ExpireYear                   string         `json:"expireYear,omitempty"`
	ExpireMonth                  string         `json:"expireMonth,omitempty"`
	Cvc                          string         `json:"cvc,omitempty"`
	CardAlias                    string         `json:"cardAlias,omitempty"`
	CardUserKey                  string         `json:"cardUserKey,omitempty"`
	CardToken                    string         `json:"cardToken,omitempty"`
	BinNumber                    string         `json:"binNumber,omitempty"`
	LastFourDigits               string         `json:"lastFourDigits,omitempty"`
	CardHolderIdentityNumber     string         `json:"cardHolderIdentityNumber,omitempty"`
	Loyalty                      *Loyalty       `json:"loyalty,omitempty"`
	StoreCardAfterSuccessPayment bool           `json:"storeCardAfterSuccessPayment,omitempty"`
	TokenizedCard                *TokenizedCard `json:"tokenizedCard,omitempty"`
}

type CardAssociation

type CardAssociation string
const (
	CardAssociation_VISA        CardAssociation = "VISA"
	CardAssociation_MASTER_CARD CardAssociation = "MASTER_CARD"
	CardAssociation_AMEX        CardAssociation = "AMEX"
	CardAssociation_TROY        CardAssociation = "TROY"
	CardAssociation_JCB         CardAssociation = "JCB"
	CardAssociation_UNION_PAY   CardAssociation = "UNION_PAY"
	CardAssociation_MAESTRO     CardAssociation = "MAESTRO"
	CardAssociation_DISCOVER    CardAssociation = "DISCOVER"
	CardAssociation_DINERS_CLUB CardAssociation = "DINERS_CLUB"
)

card association declaration

type CardBrand added in v1.0.11

type CardBrand string
const (
	CardBrand_BONUS          CardBrand = "Bonus"
	CardBrand_AXESS          CardBrand = "Axess"
	CardBrand_MAXIMUM        CardBrand = "Maximum"
	CardBrand_WORLD          CardBrand = "World"
	CardBrand_PARAF          CardBrand = "Paraf"
	CardBrand_CARD_FINANS    CardBrand = "CardFinans"
	CardBrand_BANKKART_COMBO CardBrand = "Bankkart Combo"
	CardBrand_ADVANTAGE      CardBrand = "Advantage"
	CardBrand_SAGLAM_KART    CardBrand = "Sağlam Kart"
)

type CardExpiryStatus

type CardExpiryStatus string
const (
	CardExpiryStatus_EXPIRED                CardExpiryStatus = "EXPIRED"
	CardExpiryStatus_WILL_EXPIRE_NEXT_MONTH CardExpiryStatus = "WILL_EXPIRE_NEXT_MONTH"
	CardExpiryStatus_NOT_EXPIRED            CardExpiryStatus = "NOT_EXPIRED"
)

card expiry status declaration

type CardType

type CardType string
const (
	CardType_CREDIT_CARD  CardType = "CREDIT_CARD"
	CardType_DEBIT_CARD   CardType = "DEBIT_CARD"
	CardType_PREPAID_CARD CardType = "PREPAID_CARD"
)

card type declaration

type CheckMasterpassUserRequest

type CheckMasterpassUserRequest struct {
	MasterpassGsmNumber string `json:"masterpassGsmNumber"`
}

type CheckMasterpassUserResponse

type CheckMasterpassUserResponse struct {
	IsEligibleToUseMasterpass             *bool   `json:"isEligibleToUseMasterpass"`
	IsAnyCardSavedInCustomerProgram       *bool   `json:"isAnyCardSavedInCustomerProgram"`
	HasMasterpassAccount                  *bool   `json:"hasMasterpassAccount"`
	HashAnyCardSavedInMasterpassAccount   *bool   `json:"hashAnyCardSavedInMasterpassAccount"`
	IsMasterpassAccountLinkedWithMerchant *bool   `json:"isMasterpassAccountLinkedWithMerchant"`
	IsMasterpassAccountLocked             *bool   `json:"isMasterpassAccountLocked"`
	IsPhoneNumberUpdatedInAnotherMerchant *bool   `json:"isPhoneNumberUpdatedInAnotherMerchant"`
	AccountStatus                         *string `json:"accountStatus"`
}

type Client

type Client struct {
	Installment         *Installment
	Payment             *Payment
	PaymentReporting    *PaymentReporting
	Wallet              *Wallet
	Onboarding          *Onboarding
	PayByLink           *PayByLink
	Settlement          *Settlement
	SettlementReporting *SettlementReporting
	FileReporting       *FileReporting
	Fraud               *Fraud
	Hook                *Hook
	Masterpass          *Masterpass
	BankAccountTracking *BankAccountTracking
	Merchant            *Merchant
	Juzdan              *Juzdan
	// contains filtered or unexported fields
}

func New

func New(apiKey, apiSecret, baseURL string, opts ...ClientOption) (*Client, error)

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) error

func (*Client) DoForByteResponse

func (c *Client) DoForByteResponse(ctx context.Context, req *http.Request) ([]byte, error)

func (*Client) Info

func (c *Client) Info() string

func (*Client) NewRequest

func (c *Client) NewRequest(ctx context.Context, method, urlStr string, body interface{}) (*http.Request, error)

func (*Client) NewRequestForByteResponse

func (c *Client) NewRequestForByteResponse(ctx context.Context, method, urlStr string, body interface{}) (*http.Request, error)

type ClientOption

type ClientOption func(*Client) error

func WithCustomHTTPClient added in v1.0.13

func WithCustomHTTPClient(httpClient *http.Client) ClientOption

func WithLocalization added in v1.0.12

func WithLocalization(lang string) ClientOption

type ClientType added in v1.0.13

type ClientType string
const (
	ClientType_W ClientType = "W"
	ClientType_M ClientType = "M"
)

type CloneStoredCardRequest added in v1.0.15

type CloneStoredCardRequest struct {
	SourceCardUserKey string `json:"sourceCardUserKey"`
	SourceCardToken   string `json:"sourceCardToken"`
	TargetCardUserKey string `json:"targetCardUserKey,omitempty"`
	TargetMerchantId  int64  `json:"targetMerchantId"`
}

type Complete3DSPaymentRequest

type Complete3DSPaymentRequest struct {
	PaymentId int64 `json:"paymentId"`
}

type CompleteApmPaymentRequest

type CompleteApmPaymentRequest struct {
	PaymentId        int64             `json:"paymentId,omitempty"`
	AdditionalParams map[string]string `json:"additionalParams,omitempty"`
}

type CompleteApmPaymentResponse

type CompleteApmPaymentResponse struct {
	PaymentId     *int64         `json:"paymentId"`
	PaymentStatus *PaymentStatus `json:"paymentStatus"`
	PaymentError  *PaymentError  `json:"paymentError"`
}

type CompletePosApmPaymentRequest added in v1.0.9

type CompletePosApmPaymentRequest struct {
	PaymentId        int64                  `json:"paymentId"`
	AdditionalParams map[string]interface{} `json:"additionalParams"`
}

type CompletePosApmPaymentResponse added in v1.0.9

type CompletePosApmPaymentResponse struct {
	PaymentId      *int64         `json:"paymentId"`
	ConversationId *string        `json:"conversationId"`
	PaymentStatus  *PaymentStatus `json:"paymentStatus"`
	PaymentError   *PaymentError  `json:"paymentError"`
}

type CreateApmPaymentRequest

type CreateApmPaymentRequest struct {
	ApmType        ApmType       `json:"apmType,omitempty"`
	Price          float64       `json:"price,omitempty"`
	PaidPrice      float64       `json:"paidPrice,omitempty"`
	Currency       Currency      `json:"currency,omitempty"`
	PaymentGroup   PaymentGroup  `json:"paymentGroup,omitempty"`
	PaymentChannel string        `json:"paymentChannel,omitempty"`
	ConversationId string        `json:"conversationId,omitempty"`
	ExternalId     string        `json:"externalId,omitempty"`
	BuyerMemberId  int64         `json:"buyerMemberId,omitempty"`
	ApmOrderId     string        `json:"apmOrderId,omitempty"`
	ClientIp       string        `json:"clientIp,omitempty"`
	Items          []PaymentItem `json:"items"`
}

type CreateFundTransferDepositPaymentRequest

type CreateFundTransferDepositPaymentRequest struct {
	Price          float64 `json:"price,omitempty"`
	BuyerMemberId  int64   `json:"buyerMemberId,omitempty"`
	ConversationId string  `json:"conversationId,omitempty"`
	ClientIp       string  `json:"clientIp,omitempty"`
}

type CreateInstantWalletSettlementRequest

type CreateInstantWalletSettlementRequest struct {
	ExcludedSubMerchantMemberIds []int64
}

type CreateInstantWalletSettlementResponse

type CreateInstantWalletSettlementResponse struct {
	SettlementResultStatus *string `json:"settlementResultStatus"`
}

type CreateMemberRequest

type CreateMemberRequest struct {
	MemberExternalId                         string                        `json:"memberExternalId,omitempty"`
	Name                                     string                        `json:"name,omitempty"`
	Address                                  string                        `json:"address,omitempty"`
	Email                                    string                        `json:"email,omitempty"`
	PhoneNumber                              string                        `json:"phoneNumber,omitempty"`
	ContactName                              string                        `json:"contactName,omitempty"`
	ContactSurname                           string                        `json:"contactSurname,omitempty"`
	MemberType                               MemberType                    `json:"memberType,omitempty"`
	LegalCompanyTitle                        string                        `json:"legalCompanyTitle,omitempty"`
	TaxOffice                                string                        `json:"taxOffice,omitempty"`
	TaxNumber                                string                        `json:"taxNumber,omitempty"`
	Iban                                     string                        `json:"iban,omitempty"`
	SettlementEarningsDestination            SettlementEarningsDestination `json:"settlementEarningsDestination,omitempty"`
	IsBuyer                                  bool                          `json:"isBuyer,omitempty"`
	IsSubMerchant                            bool                          `json:"isSubMerchant,omitempty"`
	SubMerchantMaximumAllowedNegativeBalance float64                       `json:"subMerchantMaximumAllowedNegativeBalance,omitempty"`
}

type CreateMemberWalletRequest added in v1.0.4

type CreateMemberWalletRequest struct {
	NegativeAmountLimit float64  `json:"negativeAmountLimit"`
	Currency            Currency `json:"currency"`
}

type CreateMerchantPosCommission added in v1.0.11

type CreateMerchantPosCommission struct {
	CardBrandName                       CardBrand `json:"cardBrandName,omitempty"`
	Installment                         int64     `json:"installment"`
	Status                              Status    `json:"status"`
	BlockageDay                         int64     `json:"blockageDay"`
	InstallmentLabel                    string    `json:"installmentLabel,omitempty"`
	BankOnUsCreditCardCommissionRate    float64   `json:"bankOnUsCreditCardCommissionRate"`
	BankOnUsDebitCardCommissionRate     float64   `json:"bankOnUsDebitCardCommissionRate,omitempty"`
	BankNotOnUsCreditCardCommissionRate float64   `json:"bankNotOnUsCreditCardCommissionRate,omitempty"`
	BankNotOnUsDebitCardCommissionRate  float64   `json:"bankNotOnUsDebitCardCommissionRate,omitempty"`
	BankForeignCardCommissionRate       float64   `json:"bankForeignCardCommissionRate,omitempty"`
	MerchantCommissionRate              float64   `json:"merchantCommissionRate,omitempty"`
}

type CreateMerchantPosCommissionRequest added in v1.0.11

type CreateMerchantPosCommissionRequest struct {
	Commissions []CreateMerchantPosCommission `json:"commissions"`
}

type CreateMerchantPosRequest added in v1.0.11

type CreateMerchantPosRequest struct {
	Status                            PosStatus                   `json:"status"`
	Name                              string                      `json:"name"`
	ClientId                          string                      `json:"clientId"`
	Currency                          Currency                    `json:"currency"`
	PosnetId                          string                      `json:"posnetId,omitempty"`
	TerminalId                        string                      `json:"terminalId,omitempty"`
	ThreedsPosnetId                   string                      `json:"threedsPosnetId,omitempty"`
	ThreedsTerminalId                 string                      `json:"threedsTerminalId,omitempty"`
	ThreedsKey                        string                      `json:"threedsKey,omitempty"`
	EnableForeignCard                 bool                        `json:"enableForeignCard"`
	EnableInstallment                 bool                        `json:"enableInstallment"`
	EnablePaymentWithoutCvc           bool                        `json:"enablePaymentWithoutCvc"`
	NewIntegration                    bool                        `json:"newIntegration"`
	OrderNumber                       int64                       `json:"orderNumber"`
	PosIntegrator                     PosIntegrator               `json:"posIntegrator"`
	EnabledPaymentAuthenticationTypes []PaymentAuthenticationType `json:"enabledPaymentAuthenticationTypes"`
	MerchantPosUsers                  []CreateMerchantPosUser     `json:"merchantPosUsers"`
}

type CreateMerchantPosUser added in v1.0.11

type CreateMerchantPosUser struct {
	PosUsername      string           `json:"posUsername"`
	PosPassword      string           `json:"posPassword"`
	PosUserType      PosUserType      `json:"posUserType"`
	PosOperationType PosOperationType `json:"posOperationType"`
}

type CreateMerchantRequest added in v1.0.11

type CreateMerchantRequest struct {
	Name               string `json:"name"`
	LegalCompanyTitle  string `json:"legalCompanyTitle"`
	Email              string `json:"email"`
	SecretWord         string `json:"secretWord,omitempty"`
	Website            string `json:"website"`
	PhoneNumber        string `json:"phoneNumber,omitempty"`
	ContactName        string `json:"contactName"`
	ContactSurname     string `json:"contactSurname"`
	ContactPhoneNumber string `json:"contactPhoneNumber"`
}

type CreateMerchantResponse added in v1.0.11

type CreateMerchantResponse struct {
	Id                     *int64                  `json:"id"`
	Name                   *string                 `json:"name"`
	MerchantApiCredentials []MerchantApiCredential `json:"merchantApiCredentials"`
}

type CreatePaymentRequest

type CreatePaymentRequest struct {
	Price            float64                `json:"price,omitempty"`
	PaidPrice        float64                `json:"paidPrice,omitempty"`
	WalletPrice      float64                `json:"walletPrice,omitempty"`
	PosAlias         string                 `json:"posAlias,omitempty"`
	Installment      int                    `json:"installment,omitempty"`
	Currency         Currency               `json:"currency,omitempty"`
	PaymentGroup     PaymentGroup           `json:"paymentGroup,omitempty"`
	ConversationId   string                 `json:"conversationId,omitempty"`
	ExternalId       string                 `json:"externalId,omitempty"`
	ClientIp         string                 `json:"clientIp,omitempty"`
	PaymentPhase     PaymentPhase           `json:"paymentPhase,omitempty"`
	PaymentChannel   string                 `json:"paymentChannel,omitempty"`
	BuyerMemberId    int64                  `json:"buyerMemberId,omitempty"`
	BankOrderId      string                 `json:"bankOrderId,omitempty"`
	Card             *Card                  `json:"card,omitempty"`
	FraudParams      *FraudCheckParameters  `json:"fraudParams,omitempty"`
	Items            []PaymentItem          `json:"items"`
	AdditionalParams map[string]interface{} `json:"additionalParams,omitempty"`
	Retry            bool                   `json:"retry"`
}

requests

type CreatePayoutAccountRequest added in v1.0.8

type CreatePayoutAccountRequest struct {
	AccountType         PayoutAccountType `json:"type,omitempty"`
	ExternalAccountId   string            `json:"externalAccountId,omitempty"`
	Currency            Currency          `json:"currency,omitempty"`
	AccountOwner        AccountOwner      `json:"accountOwner,omitempty"`
	SubMerchantMemberId int64             `json:"subMerchantMemberId,omitempty"`
}

type CreateProductRequest

type CreateProductRequest struct {
	Name                string   `json:"name"`
	Channel             string   `json:"channel,omitempty"`
	OrderId             string   `json:"orderId,omitempty"`
	ConversationId      string   `json:"conversationId,omitempty"`
	ExternalId          string   `json:"externalId,omitempty"`
	Stock               int      `json:"stock,omitempty"`
	Price               float64  `json:"price"`
	Currency            Currency `json:"currency"`
	Description         string   `json:"description,omitempty"`
	MultiPayment        bool     `json:"multiPayment,omitempty"`
	EnabledInstallments []int    `json:"enabledInstallments"`
}

type CreateWithdrawRequest

type CreateWithdrawRequest struct {
	MemberId    int64    `json:"memberId"`
	Price       float64  `json:"price"`
	Description string   `json:"description"`
	Currency    Currency `json:"currency"`
}

type Currency

type Currency string
const (
	Currency_TRY Currency = "TRY"
	Currency_USD Currency = "USD"
	Currency_EUR Currency = "EUR"
	Currency_GBP Currency = "GBP"
	Currency_CNY Currency = "CNY"
	Currency_ARS Currency = "ARS"
	Currency_BRL Currency = "BRL"
	Currency_AED Currency = "AED"
	Currency_IQD Currency = "IQD"
	Currency_AZN Currency = "AZN"
	Currency_KZT Currency = "KZT"
	Currency_KWD Currency = "KWD"
	Currency_SAR Currency = "SAR"
	Currency_BHD Currency = "BHD"
	Currency_RUB Currency = "RUB"
	Currency_JPY Currency = "JPY"
)

currency declaration

type CustomInstallment added in v1.0.8

type CustomInstallment struct {
	Number     int     `json:"number,omitempty"`
	TotalPrice float64 `json:"totalPrice,omitempty"`
}

type DataResponse

type DataResponse[T any] struct {
	Items     []T   `json:"items"`
	Page      int   `json:"page"`
	Size      int   `json:"size"`
	TotalSize int64 `json:"totalSize"`
}

type Date

type Date struct {
	Year  int        // Year (e.g., 2014).
	Month time.Month // Month of the year (January = 1, ...).
	Day   int        // Day of the month, starting at 1.
}

func DateOf

func DateOf(t time.Time) Date

type DeleteStoredCardRequest

type DeleteStoredCardRequest struct {
	CardUserKey string `json:"cardUserKey,omitempty"`
	CardToken   string `json:"cardToken,omitempty"`
}

type DepositPaymentRequest

type DepositPaymentRequest struct {
	BuyerMemberId  int64    `json:"buyerMemberId,omitempty"`
	Price          float64  `json:"price,omitempty"`
	Currency       Currency `json:"currency,omitempty"`
	ConversationId string   `json:"conversationId,omitempty"`
	CallbackUrl    string   `json:"callbackUrl,omitempty"`
	PosAlias       string   `json:"posAlias,omitempty"`
	ClientIp       string   `json:"clientIp,omitempty"`
	Card           Card     `json:"card"`
}

type DepositPaymentResponse

type DepositPaymentResponse struct {
	Id                       *int64             `json:"id"`
	CreatedDate              *TimeResponse      `json:"createdDate"`
	Price                    *float64           `json:"price"`
	Currency                 *string            `json:"currency"`
	BuyerMemberId            *int64             `json:"buyerMemberId"`
	ConversationId           *string            `json:"conversationId"`
	BankCommissionRate       *float64           `json:"bankCommissionRate"`
	BankCommissionRateAmount *float64           `json:"bankCommissionRateAmount"`
	AuthCode                 *string            `json:"authCode"`
	HostReference            *string            `json:"hostReference"`
	TransId                  *string            `json:"transId"`
	OrderId                  *string            `json:"orderId"`
	PaymentType              *PaymentType       `json:"paymentType"`
	PaymentStatus            *PaymentStatus     `json:"paymentStatus"`
	CardUserKey              *string            `json:"cardUserKey"`
	CardToken                *string            `json:"cardToken"`
	WalletTransaction        *WalletTransaction `json:"walletTransaction"`
	FraudId                  *int64             `json:"fraudId"`
	FraudAction              *FraudAction       `json:"fraudAction"`
}

type ErrorResponse

type ErrorResponse struct {
	ErrorGroup       *string `json:"errorGroup"`
	ErrorDescription *string `json:"errorDescription"`
	ErrorCode        *string `json:"errorCode"`
}

func (*ErrorResponse) Error

func (r *ErrorResponse) Error() string

type FileReporting

type FileReporting struct {
	Client *Client
}

func (*FileReporting) RetrieveDailyTransactionReport

func (api *FileReporting) RetrieveDailyTransactionReport(ctx context.Context, request RetrieveDailyTransactionReportRequest) ([]byte, error)

type FileStatus added in v1.0.7

type FileStatus string
const (
	FileStatus_CREATED  FileStatus = "CREATED"
	FileStatus_UPLOADED FileStatus = "UPLOADED"
	FileStatus_APPROVED FileStatus = "APPROVED"
)

type Fraud

type Fraud struct {
	Client *Client
}

func (*Fraud) AddValueToFraudValueList

func (api *Fraud) AddValueToFraudValueList(ctx context.Context, request FraudValueListRequest) error

func (*Fraud) CreateFraudValueList

func (api *Fraud) CreateFraudValueList(ctx context.Context, listName string, fraudValueType FraudValueType) error

func (*Fraud) DeleteFraudValueList

func (api *Fraud) DeleteFraudValueList(ctx context.Context, listName string) error

func (*Fraud) RemoveValueFromFraudValueList

func (api *Fraud) RemoveValueFromFraudValueList(ctx context.Context, listName, valueId string) error

func (*Fraud) RetrieveAllFraudValueList

func (api *Fraud) RetrieveAllFraudValueList(ctx context.Context) (*DataResponse[FraudValuesResponse], error)

func (*Fraud) RetrieveFraudValueList

func (api *Fraud) RetrieveFraudValueList(ctx context.Context, listName string) (*FraudValuesResponse, error)

func (*Fraud) SearchFraudChecks

func (api *Fraud) SearchFraudChecks(ctx context.Context, request SearchFraudChecksRequest) (*DataResponse[FraudCheckResponse], error)

type FraudAction

type FraudAction string
const (
	FraudAction_BLOCK  FraudAction = "BLOCK"
	FraudAction_REVIEW FraudAction = "REVIEW"
)

fraud action type declaration

type FraudCheckParameters added in v1.0.5

type FraudCheckParameters struct {
	BuyerExternalId  string `json:"buyerExternalId,omitempty"`
	BuyerPhoneNumber string `json:"buyerPhoneNumber,omitempty"`
	BuyerEmail       string `json:"buyerEmail,omitempty"`
}

type FraudCheckResponse

type FraudCheckResponse struct {
	Id             *int64            `json:"id"`
	Status         *Status           `json:"status"`
	Action         *FraudAction      `json:"action"`
	CheckStatus    *FraudCheckStatus `json:"checkStatus"`
	PaymentData    *FraudPaymentData `json:"paymentData"`
	RuleId         *int64            `json:"ruleId"`
	RuleName       *string           `json:"ruleName"`
	RuleConditions *string           `json:"ruleConditions"`
	PaymentId      *int64            `json:"paymentId"`
	PaymentStatus  *PaymentStatus    `json:"paymentStatus"`
}

type FraudCheckStatus

type FraudCheckStatus string
const (
	FraudCheckStatus_WAITING   FraudCheckStatus = "WAITING"
	FraudCheckStatus_NOT_FRAUD FraudCheckStatus = "NOT_FRAUD"
	FraudCheckStatus_FRAUD     FraudCheckStatus = "FRAUD"
)

fraud check status type declaration

type FraudPaymentData

type FraudPaymentData struct {
	PaymentDate    *time.Time `json:"paymentDate"`
	ConversationId *string    `json:"conversationId"`
	PaidPrice      *float64   `json:"paidPrice"`
	Currency       *Currency  `json:"currency"`
	BuyerId        *int64     `json:"buyerId"`
	ClientIp       *string    `json:"clientIp"`
}

type FraudValue

type FraudValue struct {
	Id              *string `json:"id"`
	Label           *string `json:"label"`
	Value           *string `json:"value"`
	ExpireInSeconds *int    `json:"expireInSeconds"`
}

type FraudValueListRequest

type FraudValueListRequest struct {
	ListName          string         `json:"listName,omitempty"`
	Type              FraudValueType `json:"type,omitempty"`
	Label             string         `json:"label,omitempty"`
	Value             string         `json:"value,omitempty"`
	PaymentId         int64          `json:"paymentId"`
	DurationInSeconds int            `json:"durationInSeconds,omitempty"`
}

type FraudValueType added in v1.0.13

type FraudValueType string
const (
	FraudValueType_CARD         FraudValueType = "CARD"
	FraudValueType_IP           FraudValueType = "IP"
	FraudValueType_PHONE_NUMBER FraudValueType = "PHONE_NUMBER"
	FraudValueType_EMAIL        FraudValueType = "EMAIL"
	FraudValueType_OTHER        FraudValueType = "OTHER"
)

fraud value type type declaration

type FraudValuesResponse

type FraudValuesResponse struct {
	Name   string       `json:"name"`
	Values []FraudValue `json:"values"`
}

type FundTransferDepositPaymentResponse

type FundTransferDepositPaymentResponse struct {
	Price             *float64           `json:"price"`
	Currency          *string            `json:"currency"`
	ConversationId    *string            `json:"conversationId"`
	BuyerMemberId     *int64             `json:"buyerMemberId"`
	WalletTransaction *WalletTransaction `json:"walletTransaction"`
}

type GarantiPayInstallment

type GarantiPayInstallment struct {
	Number     int     `json:"number,omitempty"`
	TotalPrice float64 `json:"totalPrice,omitempty"`
}

type Hook added in v1.0.1

type Hook struct {
	Client *Client
}

func (*Hook) IsWebhookVerified added in v1.0.1

func (c *Hook) IsWebhookVerified(merchantHookKey, incomingSignature string, webhookData WebhookData) bool

type Init3DSPaymentRequest

type Init3DSPaymentRequest struct {
	Price            float64                `json:"price,omitempty"`
	PaidPrice        float64                `json:"paidPrice,omitempty"`
	WalletPrice      float64                `json:"walletPrice,omitempty"`
	PosAlias         string                 `json:"posAlias,omitempty"`
	Installment      int                    `json:"installment,omitempty"`
	Currency         Currency               `json:"currency,omitempty"`
	PaymentGroup     PaymentGroup           `json:"paymentGroup,omitempty"`
	ConversationId   string                 `json:"conversationId,omitempty"`
	ExternalId       string                 `json:"externalId,omitempty"`
	ClientIp         string                 `json:"clientIp,omitempty"`
	PaymentPhase     PaymentPhase           `json:"paymentPhase,omitempty"`
	PaymentChannel   string                 `json:"paymentChannel,omitempty"`
	BuyerMemberId    int64                  `json:"buyerMemberId,omitempty"`
	BankOrderId      string                 `json:"bankOrderId,omitempty"`
	Card             *Card                  `json:"card,omitempty"`
	CallbackUrl      string                 `json:"callbackUrl,omitempty"`
	Items            []PaymentItem          `json:"items"`
	AdditionalParams map[string]interface{} `json:"additionalParams"`
	Retry            bool                   `json:"retry"`
}

type Init3DSPaymentResponse

type Init3DSPaymentResponse struct {
	HtmlContent      *string           `json:"htmlContent"`
	PaymentId        *int64            `json:"paymentId"`
	PaymentStatus    *PaymentStatus    `json:"paymentStatus"`
	AdditionalAction *AdditionalAction `json:"additionalAction"`
}

func (*Init3DSPaymentResponse) GetDecodedHtmlContent

func (r *Init3DSPaymentResponse) GetDecodedHtmlContent() string

type InitApmDepositPaymentRequest added in v1.0.7

type InitApmDepositPaymentRequest struct {
	ApmType          ApmType           `json:"apmType,omitempty"`
	MerchantApmId    int64             `json:"merchantApmId,omitempty"`
	Price            float64           `json:"price,omitempty"`
	Currency         Currency          `json:"currency,omitempty"`
	BuyerMemberId    int64             `json:"buyerMemberId,omitempty"`
	PaymentChannel   string            `json:"paymentChannel,omitempty"`
	ConversationId   string            `json:"conversationId,omitempty"`
	ExternalId       string            `json:"externalId,omitempty"`
	CallbackUrl      string            `json:"callbackUrl,omitempty"`
	ApmOrderId       string            `json:"apmOrderId,omitempty"`
	ApmUserIdentity  string            `json:"apmUserIdentity,omitempty"`
	ClientIp         string            `json:"clientIp,omitempty"`
	AdditionalParams map[string]string `json:"additionalParams,omitempty"`
}

type InitApmPaymentRequest

type InitApmPaymentRequest struct {
	ApmType          ApmType           `json:"apmType,omitempty"`
	MerchantApmId    int64             `json:"merchantApmId,omitempty"`
	Price            float64           `json:"price,omitempty"`
	PaidPrice        float64           `json:"paidPrice,omitempty"`
	Currency         Currency          `json:"currency,omitempty"`
	PaymentGroup     PaymentGroup      `json:"paymentGroup,omitempty"`
	PaymentChannel   string            `json:"paymentChannel,omitempty"`
	ConversationId   string            `json:"conversationId,omitempty"`
	ExternalId       string            `json:"externalId,omitempty"`
	CallbackUrl      string            `json:"callbackUrl,omitempty"`
	BuyerMemberId    int64             `json:"buyerMemberId,omitempty"`
	ApmOrderId       string            `json:"apmOrderId,omitempty"`
	ApmUserIdentity  string            `json:"apmUserIdentity,omitempty"`
	ClientIp         string            `json:"clientIp,omitempty"`
	AdditionalParams map[string]string `json:"additionalParams,omitempty"`
	Items            []PaymentItem     `json:"items"`
}

type InitApmPaymentResponse

type InitApmPaymentResponse struct {
	PaymentId           *int64               `json:"paymentId"`
	RedirectUrl         *string              `json:"redirectUrl"`
	HtmlContent         *string              `json:"htmlContent"`
	PaymentStatus       *PaymentStatus       `json:"paymentStatus"`
	ApmAdditionalAction *ApmAdditionalAction `json:"additionalAction"`
	PaymentError        *PaymentError        `json:"paymentError"`
}

type InitBnplPaymentRequest added in v1.0.11

type InitBnplPaymentRequest struct {
	ApmType          ApmType               `json:"apmType"`
	MerchantApmId    int64                 `json:"merchantApmId,omitempty"`
	Price            float64               `json:"price"`
	PaidPrice        float64               `json:"paidPrice"`
	CommissionRate   float64               `json:"commissionRate,omitempty"`
	Currency         Currency              `json:"currency"`
	PaymentType      PaymentType           `json:"paymentType"`
	PaymentGroup     PaymentGroup          `json:"paymentGroup"`
	PaymentSource    PaymentSource         `json:"paymentSource,omitempty"`
	PaymentChannel   string                `json:"paymentChannel,omitempty"`
	ConversationId   string                `json:"conversationId,omitempty"`
	ExternalId       string                `json:"externalId,omitempty"`
	CallbackUrl      string                `json:"callbackUrl"`
	BuyerMemberId    int64                 `json:"buyerMemberId,omitempty"`
	ApmOrderId       string                `json:"apmOrderId,omitempty"`
	ClientIp         string                `json:"clientIp,omitempty"`
	ApmUserIdentity  string                `json:"apmUserIdentity,omitempty"`
	AdditionalParams map[string]string     `json:"additionalParams"`
	Items            []PaymentItem         `json:"items"`
	BankCode         string                `json:"bankCode,omitempty"`
	CartItems        []BnplPaymentCartItem `json:"cartItems"`
}

type InitBnplPaymentResponse added in v1.0.11

type InitBnplPaymentResponse struct {
	PaymentId        int64               `json:"paymentId"`
	RedirectUrl      string              `json:"redirectUrl"`
	PaymentStatus    PaymentStatus       `json:"paymentStatus"`
	AdditionalAction ApmAdditionalAction `json:"additionalAction"`
	PaymentError     PaymentError        `json:"paymentError"`
}

type InitCheckoutPaymentRequest

type InitCheckoutPaymentRequest struct {
	Price                       float64             `json:"price,omitempty"`
	PaidPrice                   float64             `json:"paidPrice,omitempty"`
	Currency                    Currency            `json:"currency,omitempty"`
	PaymentGroup                PaymentGroup        `json:"paymentGroup,omitempty"`
	ConversationId              string              `json:"conversationId,omitempty"`
	ExternalId                  string              `json:"externalId,omitempty"`
	BankOrderId                 string              `json:"bankOrderId,omitempty"`
	CallbackUrl                 string              `json:"callbackUrl,omitempty"`
	ClientIp                    string              `json:"clientIp,omitempty"`
	PaymentPhase                PaymentPhase        `json:"paymentPhase,omitempty"`
	PaymentChannel              string              `json:"paymentChannel,omitempty"`
	EnabledPaymentMethods       []PaymentMethod     `json:"enabledPaymentMethods,omitempty"`
	MasterpassGsmNumber         string              `json:"masterpassGsmNumber,omitempty"`
	MasterpassUserId            string              `json:"masterpassUserId,omitempty"`
	CardUserKey                 string              `json:"cardUserKey,omitempty"`
	BuyerMemberId               int64               `json:"buyerMemberId,omitempty"`
	EnabledInstallments         []int               `json:"enabledInstallments,omitempty"`
	AlwaysStoreCardAfterPayment bool                `json:"alwaysStoreCardAfterPayment,omitempty"`
	AllowOnlyStoredCards        bool                `json:"allowOnlyStoredCards,omitempty"`
	AllowOnlyCreditCard         bool                `json:"allowOnlyCreditCard,omitempty"`
	ForceThreeDS                bool                `json:"forceThreeDS,omitempty"`
	ForceAuthForNonCreditCards  bool                `json:"forceAuthForNonCreditCards,omitempty"`
	Ttl                         int64               `json:"ttl,omitempty"`
	CustomInstallments          []CustomInstallment `json:"customInstallments,omitempty"`
	Items                       []PaymentItem       `json:"items"`
}

type InitCheckoutPaymentResponse

type InitCheckoutPaymentResponse struct {
	Token           *string       `json:"token"`
	PageUrl         *string       `json:"pageUrl"`
	TokenExpireDate *TimeResponse `json:"tokenExpireDate"`
}

type InitGarantiPayPaymentRequest

type InitGarantiPayPaymentRequest struct {
	Price          float64                 `json:"price,omitempty"`
	PaidPrice      float64                 `json:"paidPrice,omitempty"`
	Currency       Currency                `json:"currency,omitempty"`
	PosAlias       string                  `json:"posAlias,omitempty"`
	PaymentGroup   PaymentGroup            `json:"paymentGroup,omitempty"`
	ConversationId string                  `json:"conversationId,omitempty"`
	ExternalId     string                  `json:"externalId,omitempty"`
	CallbackUrl    string                  `json:"callbackUrl,omitempty"`
	ClientIp       string                  `json:"clientIp,omitempty"`
	PaymentChannel string                  `json:"paymentChannel,omitempty"`
	BuyerMemberId  int64                   `json:"buyerMemberId,omitempty"`
	BankOrderId    string                  `json:"bankOrderId,omitempty"`
	Items          []PaymentItem           `json:"items"`
	Installments   []GarantiPayInstallment `json:"installments,omitempty"`
}

type InitGarantiPayPaymentResponse

type InitGarantiPayPaymentResponse struct {
	HtmlContent *string `json:"htmlContent"`
	PaymentId   *int64  `json:"paymentId"`
}

func (*InitGarantiPayPaymentResponse) GetDecodedHtmlContent

func (r *InitGarantiPayPaymentResponse) GetDecodedHtmlContent() string

type InitJuzdanPaymentRequest added in v1.0.13

type InitJuzdanPaymentRequest struct {
	Price          float64       `json:"price,omitempty"`
	PaidPrice      float64       `json:"paidPrice,omitempty"`
	Currency       Currency      `json:"currency,omitempty"`
	PaymentGroup   PaymentGroup  `json:"paymentGroup,omitempty"`
	ConversationId string        `json:"conversationId,omitempty"`
	ExternalId     string        `json:"externalId,omitempty"`
	CallbackUrl    string        `json:"callbackUrl,omitempty"`
	PaymentPhase   PaymentPhase  `json:"paymentPhase,omitempty"`
	PaymentChannel string        `json:"paymentChannel,omitempty"`
	BuyerMemberId  int64         `json:"buyerMemberId,omitempty"`
	BankOrderId    string        `json:"bankOrderId,omitempty"`
	Items          []PaymentItem `json:"items"`
	ClientType     ClientType    `json:"clientType,omitempty"`
	LoanCampaignId int64         `json:"loanCampaignId,omitempty"`
}

type InitJuzdanPaymentResponse added in v1.0.13

type InitJuzdanPaymentResponse struct {
	ReferenceId string `json:"referenceId"`
	JuzdanQrUrl string `json:"juzdanQrUrl"`
}

type InitPosApmPaymentRequest added in v1.0.9

type InitPosApmPaymentRequest struct {
	Price             float64               `json:"price,omitempty"`
	PaidPrice         float64               `json:"paidPrice,omitempty"`
	PosAlias          string                `json:"posAlias,omitempty"`
	Currency          Currency              `json:"currency,omitempty"`
	ConversationId    string                `json:"conversationId,omitempty"`
	ExternalId        string                `json:"externalId,omitempty"`
	CallbackUrl       string                `json:"callbackUrl,omitempty"`
	PaymentPhase      PaymentPhase          `json:"paymentPhase,omitempty"`
	PaymentGroup      PaymentGroup          `json:"paymentGroup,omitempty"`
	PaymentChannel    string                `json:"paymentChannel,omitempty"`
	BuyerMemberId     int64                 `json:"buyerMemberId,omitempty"`
	BankOrderId       string                `json:"bankOrderId,omitempty"`
	ClientIp          string                `json:"clientIp,omitempty"`
	Items             []PaymentItem         `json:"items"`
	AdditionalParams  map[string]string     `json:"additionalParams"`
	Installments      []PosApmInstallment   `json:"installments"`
	PaymentProvider   PosApmPaymentProvider `json:"paymentProvider,omitempty"`
	FraudParams       *FraudCheckParameters `json:"fraudParams,omitempty"`
	CheckoutFormToken string                `json:"checkoutFormToken,omitempty"`
}

type InitPosApmPaymentResponse added in v1.0.9

type InitPosApmPaymentResponse struct {
	PaymentId        *int64            `json:"paymentId"`
	HtmlContent      *string           `json:"htmlContent"`
	PaymentStatus    *PaymentStatus    `json:"paymentStatus"`
	AdditionalAction *AdditionalAction `json:"additionalAction"`
	AdditionalData   map[string]any    `json:"additionalData"`
	PaymentError     *PaymentError     `json:"paymentError"`
}

type Installment

type Installment struct {
	Client *Client
}

func (*Installment) RetrieveBinNumber

func (api *Installment) RetrieveBinNumber(ctx context.Context, binNumber string) (*RetrieveBinNumberResponse, error)

func (*Installment) SearchInstallments

func (api *Installment) SearchInstallments(ctx context.Context, request SearchInstallmentsRequest) (*InstallmentListResponse, error)

type InstallmentListResponse

type InstallmentListResponse struct {
	Items []InstallmentResponse `json:"items"`
}

type InstallmentPrice

type InstallmentPrice struct {
	InstallmentPrice       *float64 `json:"installmentPrice"`
	BankCommissionRate     *float64 `json:"bankCommissionRate"`
	MerchantCommissionRate *float64 `json:"merchantCommissionRate"`
	TotalPrice             *float64 `json:"totalPrice"`
	InstallmentNumber      *int     `json:"installmentNumber"`
	InstallmentLabel       *string  `json:"installmentLabel"`
}

type InstallmentResponse

type InstallmentResponse struct {
	BinNumber         *string            `json:"binNumber"`
	Price             *float64           `json:"price"`
	CardType          *string            `json:"cardType"`
	CardAssociation   *string            `json:"cardAssociation"`
	CardBrand         *string            `json:"cardBrand"`
	BankName          *string            `json:"bankName"`
	BankCode          *int               `json:"bankCode"`
	Force3Ds          *bool              `json:"force3ds"`
	CvcRequired       *bool              `json:"cvcRequired"`
	Commercial        *bool              `json:"commercial"`
	PosAlias          *string            `json:"posAlias"`
	InstallmentPrices []InstallmentPrice `json:"installmentPrices"`
}

type InstantTransferBank added in v1.0.14

type InstantTransferBank struct {
	BankCode    *string `json:"bankCode"`
	BankName    *string `json:"bankName"`
	BankLogoUrl *string `json:"bankLogoUrl"`
}

type InstantTransferBanksResponse added in v1.0.14

type InstantTransferBanksResponse struct {
	Items []InstantTransferBank `json:"items"`
}

type Juzdan added in v1.0.13

type Juzdan struct {
	Client *Client
}

func (*Juzdan) InitJuzdanPayment added in v1.0.13

func (api *Juzdan) InitJuzdanPayment(ctx context.Context, request InitJuzdanPaymentRequest) (*InitJuzdanPaymentResponse, error)

func (*Juzdan) RetrieveJuzdanPayment added in v1.0.13

func (api *Juzdan) RetrieveJuzdanPayment(ctx context.Context, referenceId string) (*PaymentResponse, error)

type Loyalty

type Loyalty struct {
	LoyaltyType *LoyaltyType `json:"type,omitempty"`
	Reward      *Reward      `json:"reward,omitempty"`
	Message     *string      `json:"message,omitempty"`
}

type LoyaltyType

type LoyaltyType string
const (
	LoyaltyType_REWARD_MONEY           LoyaltyType = "REWARD_MONEY"
	LoyaltyType_ADDITIONAL_INSTALLMENT LoyaltyType = "ADDITIONAL_INSTALLMENT"
	LoyaltyType_POSTPONING_INSTALLMENT LoyaltyType = "POSTPONING_INSTALLMENT"
	LoyaltyType_EXTRA_POINTS           LoyaltyType = "EXTRA_POINTS"
	LoyaltyType_GAINING_MINUTES        LoyaltyType = "GAINING_MINUTES"
	LoyaltyType_POSTPONING_STATEMENT   LoyaltyType = "POSTPONING_STATEMENT"
)

loyalty type declaration

type Masterpass added in v1.0.9

type Masterpass struct {
	Client *Client
}

func (*Masterpass) CheckMasterpassUser added in v1.0.9

func (api *Masterpass) CheckMasterpassUser(ctx context.Context, request CheckMasterpassUserRequest) (*CheckMasterpassUserResponse, error)

func (*Masterpass) Complete3DSMasterpassPayment added in v1.0.9

func (api *Masterpass) Complete3DSMasterpassPayment(ctx context.Context, request MasterpassPaymentThreeDSCompleteRequest) (*PaymentResponse, error)

func (*Masterpass) CompleteMasterpassPayment added in v1.0.9

func (api *Masterpass) CompleteMasterpassPayment(ctx context.Context, request MasterpassPaymentCompleteRequest) (*PaymentResponse, error)

func (*Masterpass) GenerateMasterpassPaymentToken added in v1.0.9

func (*Masterpass) Init3DSMasterpassPayment added in v1.0.9

type MasterpassCreatePayment added in v1.0.9

type MasterpassCreatePayment struct {
	Price            float64                `json:"price,omitempty"`
	PaidPrice        float64                `json:"paidPrice,omitempty"`
	PosAlias         string                 `json:"posAlias,omitempty"`
	Installment      int                    `json:"installment,omitempty"`
	Currency         Currency               `json:"currency,omitempty"`
	PaymentGroup     PaymentGroup           `json:"paymentGroup,omitempty"`
	ConversationId   string                 `json:"conversationId,omitempty"`
	ExternalId       string                 `json:"externalId,omitempty"`
	ClientIp         string                 `json:"clientIp,omitempty"`
	PaymentPhase     PaymentPhase           `json:"paymentPhase,omitempty"`
	PaymentChannel   string                 `json:"paymentChannel,omitempty"`
	BuyerMemberId    int64                  `json:"buyerMemberId,omitempty"`
	BankOrderId      string                 `json:"bankOrderId,omitempty"`
	Items            []PaymentItem          `json:"items"`
	AdditionalParams map[string]interface{} `json:"additionalParams,omitempty"`
}

type MasterpassPaymentCompleteRequest added in v1.0.9

type MasterpassPaymentCompleteRequest struct {
	ReferenceId string `json:"referenceId,omitempty"`
	Token       string `json:"token,omitempty"`
}

type MasterpassPaymentThreeDSCompleteRequest added in v1.0.9

type MasterpassPaymentThreeDSCompleteRequest struct {
	PaymentId int64 `json:"paymentId,omitempty"`
}

type MasterpassPaymentThreeDSInitRequest added in v1.0.9

type MasterpassPaymentThreeDSInitRequest struct {
	ReferenceId string `json:"referenceId,omitempty"`
	CallbackUrl string `json:"callbackUrl,omitempty"`
}

type MasterpassPaymentThreeDSInitResponse added in v1.0.9

type MasterpassPaymentThreeDSInitResponse struct {
	ReturnUrl *string `json:"returnUrl"`
}

type MasterpassPaymentTokenGenerateRequest added in v1.0.9

type MasterpassPaymentTokenGenerateRequest struct {
	Msisdn        string                  `json:"msisdn,omitempty"`
	UserId        string                  `json:"userId,omitempty"`
	BinNumber     string                  `json:"binNumber,omitempty"`
	ForceThreeDS  bool                    `json:"forceThreeDS,omitempty"`
	CreatePayment MasterpassCreatePayment `json:"createPayment,omitempty"`
	Loyalty       Loyalty                 `json:"loyalty,omitempty"`
}

type MasterpassPaymentTokenGenerateResponse added in v1.0.9

type MasterpassPaymentTokenGenerateResponse struct {
	Token       *string `json:"token"`
	ReferenceId *string `json:"referenceId"`
	OrderNo     *string `json:"orderNo"`
}

type MemberResponse

type MemberResponse struct {
	Id                            *int64                         `json:"id"`
	CreatedDate                   *TimeResponse                  `json:"createdDate"`
	UpdatedDate                   *TimeResponse                  `json:"updatedDate"`
	Status                        *Status                        `json:"status"`
	IsBuyer                       *bool                          `json:"isBuyer"`
	IsSubMerchant                 *bool                          `json:"isSubMerchant"`
	MemberType                    *MemberType                    `json:"memberType"`
	MemberExternalId              *string                        `json:"memberExternalId"`
	Name                          *string                        `json:"name"`
	Email                         *string                        `json:"email"`
	Address                       *string                        `json:"address"`
	PhoneNumber                   *string                        `json:"phoneNumber"`
	ContactName                   *string                        `json:"contactName"`
	ContactSurname                *string                        `json:"contactSurname"`
	LegalCompanyTitle             *string                        `json:"legalCompanyTitle"`
	TaxOffice                     *string                        `json:"taxOffice"`
	TaxNumber                     *string                        `json:"taxNumber"`
	SettlementEarningsDestination *SettlementEarningsDestination `json:"settlementEarningsDestination"`
	Iban                          *string                        `json:"iban"`
}

type MemberType

type MemberType string
const (
	MemberType_PERSONAL                       MemberType = "PERSONAL"
	MemberType_PRIVATE_COMPANY                MemberType = "PRIVATE_COMPANY"
	MemberType_LIMITED_OR_JOINT_STOCK_COMPANY MemberType = "LIMITED_OR_JOINT_STOCK_COMPANY"
)

member type declaration

type MemberWalletResponse

type MemberWalletResponse struct {
	Id                  *int64        `json:"id"`
	CreatedDate         *TimeResponse `json:"createdDate"`
	UpdatedDate         *TimeResponse `json:"updatedDate"`
	Amount              *float64      `json:"amount"`
	WithdrawalAmount    *float64      `json:"withdrawalAmount"`
	NegativeAmountLimit *float64      `json:"negativeAmountLimit"`
	Currency            *Currency     `json:"currency"`
	MemberId            *int64        `json:"memberId"`
}

type Merchant added in v1.0.11

type Merchant struct {
	Client *Client
}

func (*Merchant) CreateMerchantPos added in v1.0.11

func (api *Merchant) CreateMerchantPos(ctx context.Context, request CreateMerchantPosRequest) (*MerchantPosResponse, error)

func (*Merchant) DeleteMerchantPosStatus added in v1.0.11

func (api *Merchant) DeleteMerchantPosStatus(ctx context.Context, id int64) error

func (*Merchant) RetrieveMerchantPos added in v1.0.11

func (api *Merchant) RetrieveMerchantPos(ctx context.Context, id int64) (*MerchantPosResponse, error)

func (*Merchant) RetrieveMerchantPosCommissions added in v1.0.11

func (api *Merchant) RetrieveMerchantPosCommissions(ctx context.Context, id int64) (*DataResponse[MerchantPosCommissionResponse], error)

func (*Merchant) SearchMerchantPos added in v1.0.11

func (api *Merchant) SearchMerchantPos(ctx context.Context, request SearchMerchantPosRequest) (*DataResponse[MerchantPosResponse], error)

func (*Merchant) UpdateMerchantPosCommissions added in v1.0.11

func (api *Merchant) UpdateMerchantPosCommissions(ctx context.Context, id int64, request CreateMerchantPosCommissionRequest) (*DataResponse[MerchantPosCommissionResponse], error)

func (*Merchant) UpdateMerchantPosStatus added in v1.0.11

func (api *Merchant) UpdateMerchantPosStatus(ctx context.Context, id int64, status PosStatus) error

type MerchantApiCredential added in v1.0.11

type MerchantApiCredential struct {
	Name      string `json:"name"`
	ApiKey    string `json:"apiKey"`
	SecretKey string `json:"secretKey"`
}

type MerchantPos

type MerchantPos struct {
	Id     *int64  `json:"id"`
	Name   *string `json:"name"`
	Alias  *string `json:"alias"`
	BankId *int64  `json:"bankId"`
}

type MerchantPosCommissionResponse added in v1.0.11

type MerchantPosCommissionResponse struct {
	Id                                  int64     `json:"id"`
	Status                              Status    `json:"status"`
	Installment                         int64     `json:"installment"`
	BlockageDay                         int64     `json:"blockageDay"`
	InstallmentLabel                    string    `json:"installmentLabel"`
	CardBrandName                       CardBrand `json:"cardBrandName"`
	BankOnUsCreditCardCommissionRate    float64   `json:"bankOnUsCreditCardCommissionRate"`
	BankNotOnUsCreditCardCommissionRate float64   `json:"bankNotOnUsCreditCardCommissionRate"`
	BankOnUsDebitCardCommissionRate     float64   `json:"bankOnUsDebitCardCommissionRate"`
	BankNotOnUsDebitCardCommissionRate  float64   `json:"bankNotOnUsDebitCardCommissionRate"`
	BankForeignCardCommissionRate       float64   `json:"bankForeignCardCommissionRate"`
	MerchantCommissionRate              float64   `json:"merchantCommissionRate"`
}

type MerchantPosResponse added in v1.0.11

type MerchantPosResponse struct {
	Id                                int64                       `json:"id"`
	Status                            PosStatus                   `json:"status"`
	Name                              string                      `json:"name"`
	Alias                             string                      `json:"alias"`
	PosIntegrator                     PosIntegrator               `json:"posIntegrator"`
	Hostname                          string                      `json:"hostname"`
	ClientId                          string                      `json:"clientId"`
	PosCurrencyCode                   string                      `json:"posCurrencyCode"`
	Mode                              string                      `json:"mode"`
	Path                              string                      `json:"path"`
	Port                              int64                       `json:"port"`
	PosnetId                          string                      `json:"posnetId"`
	TerminalId                        string                      `json:"terminalId"`
	ThreedsPosnetId                   string                      `json:"threedsPosnetId"`
	ThreedsTerminalId                 string                      `json:"threedsTerminalId"`
	ThreedsKey                        string                      `json:"threedsKey"`
	ThreedsPath                       string                      `json:"threedsPath"`
	EnableForeignCard                 bool                        `json:"enableForeignCard"`
	EnableInstallment                 bool                        `json:"enableInstallment"`
	EnablePaymentWithoutCvc           bool                        `json:"enablePaymentWithoutCvc"`
	NewIntegration                    bool                        `json:"newIntegration"`
	OrderNumber                       int64                       `json:"orderNumber"`
	AutopilotState                    AutopilotState              `json:"autopilotState"`
	Currency                          Currency                    `json:"currency"`
	BankId                            int64                       `json:"bankId"`
	BankName                          string                      `json:"bankName"`
	IsPf                              bool                        `json:"isPf"`
	MerchantPosUsers                  []MerchantPosUser           `json:"merchantPosUsers"`
	SupportedCardAssociations         []CardAssociation           `json:"supportedCardAssociations"`
	EnabledPaymentAuthenticationTypes []PaymentAuthenticationType `json:"enabledPaymentAuthenticationTypes"`
}

type MerchantPosUser added in v1.0.11

type MerchantPosUser struct {
	Id               int64            `json:"id"`
	PosUsername      string           `json:"posUsername"`
	PosPassword      string           `json:"posPassword"`
	PosUserType      PosUserType      `json:"posUserType"`
	PosOperationType PosOperationType `json:"posOperationType"`
}

type MultiPaymentResponse added in v1.0.15

type MultiPaymentResponse struct {
	Id                 *int64              `json:"id"`
	MultiPaymentStatus *MultiPaymentStatus `json:"multiPaymentStatus"`
	Token              *string             `json:"token"`
	ConversationId     *string             `json:"conversationId"`
	ExternalId         *string             `json:"externalId"`
	PaidPrice          *float64            `json:"paidPrice"`
	RemainingAmount    *float64            `json:"remainingAmount"`
	TokenExpireDate    *TimeResponse       `json:"tokenExpireDate"`
	PaymentIds         []int64             `json:"paymentIds"`
}

type MultiPaymentStatus added in v1.0.15

type MultiPaymentStatus string
const (
	MultiPaymentStatus_CREATED   MultiPaymentStatus = "CREATED"
	MultiPaymentStatus_COMPLETED MultiPaymentStatus = "COMPLETED"
)

multi payment status declaration

type Onboarding

type Onboarding struct {
	Client *Client
}

func (*Onboarding) CreateMember

func (api *Onboarding) CreateMember(ctx context.Context, request CreateMemberRequest) (*MemberResponse, error)

func (*Onboarding) CreateMerchant added in v1.0.11

func (api *Onboarding) CreateMerchant(ctx context.Context, request CreateMerchantRequest) (*CreateMerchantResponse, error)

func (*Onboarding) RetrieveMember

func (api *Onboarding) RetrieveMember(ctx context.Context, id int64) (*MemberResponse, error)

func (*Onboarding) SearchMembers

func (api *Onboarding) SearchMembers(ctx context.Context, request SearchMembersRequest) (*DataResponse[MemberResponse], error)

func (*Onboarding) UpdateMember

func (api *Onboarding) UpdateMember(ctx context.Context, id int64, request UpdateMemberRequest) (*MemberResponse, error)

type OnboardingStatus added in v1.0.9

type OnboardingStatus string
const (
	OnboardingStatus_APPLICATION_REJECTED OnboardingStatus = "APPLICATION_REJECTED"
	OnboardingStatus_REGISTERED           OnboardingStatus = "REGISTERED"
	OnboardingStatus_REGISTER_CONFIRMED   OnboardingStatus = "REGISTER_CONFIRMED"
	OnboardingStatus_APPLIED              OnboardingStatus = "APPLIED"
	OnboardingStatus_INTEGRATION          OnboardingStatus = "INTEGRATION"
	OnboardingStatus_LIVE                 OnboardingStatus = "LIVE"
)

onboarding status declaration

type PayByLink struct {
	Client *Client
}

func (*PayByLink) CreateProduct

func (api *PayByLink) CreateProduct(ctx context.Context, request CreateProductRequest) (*ProductResponse, error)

func (*PayByLink) DeleteProduct

func (api *PayByLink) DeleteProduct(ctx context.Context, id int64) error

func (*PayByLink) RetrieveProduct

func (api *PayByLink) RetrieveProduct(ctx context.Context, id int64) (interface{}, error)

func (*PayByLink) SearchProducts

func (api *PayByLink) SearchProducts(ctx context.Context, request SearchProductsRequest) (*DataResponse[ProductResponse], error)

func (*PayByLink) UpdateProduct

func (api *PayByLink) UpdateProduct(ctx context.Context, id int64, request UpdateProductRequest) (*ProductResponse, error)

type Payment

type Payment struct {
	Client *Client
}

func (*Payment) ApproveBnplPayment added in v1.0.11

func (api *Payment) ApproveBnplPayment(ctx context.Context, paymentId int64) error

func (*Payment) CloneStoredCard added in v1.0.15

func (api *Payment) CloneStoredCard(ctx context.Context, request CloneStoredCardRequest) (*StoredCardResponse, error)

func (*Payment) Complete3DSDepositPayment

func (api *Payment) Complete3DSDepositPayment(ctx context.Context, request Complete3DSPaymentRequest) (*DepositPaymentResponse, error)

func (*Payment) Complete3DSPayment

func (api *Payment) Complete3DSPayment(ctx context.Context, request Complete3DSPaymentRequest) (*PaymentResponse, error)

func (*Payment) CompleteApmPayment

func (api *Payment) CompleteApmPayment(ctx context.Context, request CompleteApmPaymentRequest) (*CompleteApmPaymentResponse, error)

func (*Payment) CompletePosApmPayment added in v1.0.9

func (api *Payment) CompletePosApmPayment(ctx context.Context, request CompletePosApmPaymentRequest) (*CompletePosApmPaymentResponse, error)

func (*Payment) CreateApmPayment

func (api *Payment) CreateApmPayment(ctx context.Context, request CreateApmPaymentRequest) (*PaymentResponse, error)

func (*Payment) CreateApplePayMerchantSession added in v1.0.14

func (api *Payment) CreateApplePayMerchantSession(ctx context.Context, request ApplePayMerchantSessionCreateRequest) (*interface{}, error)

func (*Payment) CreateDepositPayment

func (api *Payment) CreateDepositPayment(ctx context.Context, request DepositPaymentRequest) (*DepositPaymentResponse, error)

func (*Payment) CreatePayment

func (api *Payment) CreatePayment(ctx context.Context, request CreatePaymentRequest) (*PaymentResponse, error)

func (*Payment) DeleteStoredCard

func (api *Payment) DeleteStoredCard(ctx context.Context, request DeleteStoredCardRequest) error

func (*Payment) ExpireCheckoutPayment added in v1.0.8

func (api *Payment) ExpireCheckoutPayment(ctx context.Context, token string) error

func (*Payment) Init3DSDepositPayment

func (api *Payment) Init3DSDepositPayment(ctx context.Context, request DepositPaymentRequest) (*Init3DSPaymentResponse, error)

func (*Payment) Init3DSPayment

func (api *Payment) Init3DSPayment(ctx context.Context, request Init3DSPaymentRequest) (*Init3DSPaymentResponse, error)

func (*Payment) InitApmDepositPayment added in v1.0.7

func (api *Payment) InitApmDepositPayment(ctx context.Context, request InitApmDepositPaymentRequest) (*ApmDepositPaymentResponse, error)

func (*Payment) InitApmPayment

func (api *Payment) InitApmPayment(ctx context.Context, request InitApmPaymentRequest) (*InitApmPaymentResponse, error)

func (*Payment) InitBnplPayment added in v1.0.11

func (api *Payment) InitBnplPayment(ctx context.Context, request InitBnplPaymentRequest) (*InitBnplPaymentResponse, error)

func (*Payment) InitCheckoutPayment

func (api *Payment) InitCheckoutPayment(ctx context.Context, request InitCheckoutPaymentRequest) (*InitCheckoutPaymentResponse, error)

func (*Payment) InitGarantiPayPayment

func (api *Payment) InitGarantiPayPayment(ctx context.Context, request InitGarantiPayPaymentRequest) (*InitGarantiPayPaymentResponse, error)

func (*Payment) InitPosApmPayment added in v1.0.9

func (api *Payment) InitPosApmPayment(ctx context.Context, request InitPosApmPaymentRequest) (*InitPosApmPaymentResponse, error)

func (*Payment) Is3DSecureCallbackVerified added in v1.0.1

func (c *Payment) Is3DSecureCallbackVerified(threeDSecureCallbackKey string, params map[string]string) bool

func (*Payment) PostAuthPayment

func (api *Payment) PostAuthPayment(ctx context.Context, paymentId int64, request PostAuthPaymentRequest) (*PaymentResponse, error)

func (*Payment) RefundPayment

func (api *Payment) RefundPayment(ctx context.Context, request RefundPaymentRequest) (*PaymentRefundResponse, error)

func (*Payment) RefundPaymentTransaction

func (api *Payment) RefundPaymentTransaction(ctx context.Context, request RefundPaymentTransactionRequest) (*PaymentTransactionRefundResponse, error)

func (*Payment) RetrieveActiveBanks added in v1.0.14

func (api *Payment) RetrieveActiveBanks(ctx context.Context) (*InstantTransferBanksResponse, error)

func (*Payment) RetrieveBnplOffers added in v1.0.11

func (api *Payment) RetrieveBnplOffers(ctx context.Context, request BnplPaymentOfferRequest) (*DataResponse[BnplPaymentOfferResponse], error)

func (*Payment) RetrieveCheckoutPayment

func (api *Payment) RetrieveCheckoutPayment(ctx context.Context, token string) (*PaymentResponse, error)

func (*Payment) RetrieveLoyalties

func (api *Payment) RetrieveLoyalties(ctx context.Context, request RetrieveLoyaltiesRequest) (*RetrieveLoyaltiesResponse, error)

func (*Payment) RetrieveMultiPayment added in v1.0.15

func (api *Payment) RetrieveMultiPayment(ctx context.Context, token string) (*MultiPaymentResponse, error)

func (*Payment) RetrievePayment

func (api *Payment) RetrievePayment(ctx context.Context, paymentId int64) (*PaymentResponse, error)

func (*Payment) RetrievePaymentRefund

func (api *Payment) RetrievePaymentRefund(ctx context.Context, id int64) (*PaymentRefundResponse, error)

func (*Payment) RetrievePaymentTransactionRefund

func (api *Payment) RetrievePaymentTransactionRefund(ctx context.Context, id int64) (*PaymentTransactionRefundResponse, error)

func (*Payment) SearchStoredCards

func (api *Payment) SearchStoredCards(ctx context.Context, request SearchStoredCardsRequest) (*DataResponse[StoredCardResponse], error)

func (*Payment) StoreCard

func (api *Payment) StoreCard(ctx context.Context, request StoreCardRequest) (*StoredCardResponse, error)

func (*Payment) UpdatePaymentTransaction

func (api *Payment) UpdatePaymentTransaction(ctx context.Context, id int64, request UpdatePaymentTransactionRequest) (*PaymentTransactionResponse, error)

func (*Payment) UpdateStoredCard

func (api *Payment) UpdateStoredCard(ctx context.Context, request UpdateStoredCardRequest) (*StoredCardResponse, error)

type PaymentAuthenticationType added in v1.0.11

type PaymentAuthenticationType string
const (
	PaymentAuthenticationType_THREE_DS     PaymentAuthenticationType = "THREE_DS"
	PaymentAuthenticationType_NON_THREE_DS PaymentAuthenticationType = "NON_THREE_DS"
)

type PaymentError

type PaymentError ErrorResponse

type PaymentGroup

type PaymentGroup string
const (
	PaymentGroup_PRODUCT                 PaymentGroup = "PRODUCT"
	PaymentGroup_LISTING_OR_SUBSCRIPTION PaymentGroup = "LISTING_OR_SUBSCRIPTION"
)

payment group declaration

type PaymentItem

type PaymentItem struct {
	Name                   string  `json:"name,omitempty"`
	Price                  float64 `json:"price,omitempty"`
	ExternalId             string  `json:"externalId,omitempty"`
	SubMerchantMemberId    int64   `json:"subMerchantMemberId,omitempty"`
	SubMerchantMemberPrice float64 `json:"subMerchantMemberPrice,omitempty"`
}

type PaymentMethod

type PaymentMethod string
const (
	PaymentMethod_CARD             PaymentMethod = "CARD"
	PaymentMethod_MASTERPASS       PaymentMethod = "MASTERPASS"
	PaymentMethod_PAPARA           PaymentMethod = "PAPARA"
	PaymentMethod_PAYONEER         PaymentMethod = "PAYONEER"
	PaymentMethod_SODEXO           PaymentMethod = "SODEXO"
	PaymentMethod_EDENRED          PaymentMethod = "EDENRED"
	PaymentMethod_EDENRED_GIFT     PaymentMethod = "EDENRED_GIFT"
	PaymentMethod_ALIPAY           PaymentMethod = "ALIPAY"
	PaymentMethod_PAYPAL           PaymentMethod = "PAYPAL"
	PaymentMethod_KLARNA           PaymentMethod = "KLARNA"
	PaymentMethod_AFTERPAY         PaymentMethod = "AFTERPAY"
	PaymentMethod_KASPI            PaymentMethod = "KASPI"
	PaymentMethod_INSTANT_TRANSFER PaymentMethod = "INSTANT_TRANSFER"
	PaymentMethod_TOMPAY           PaymentMethod = "TOMPAY"
	PaymentMethod_STRIPE           PaymentMethod = "STRIPE"
)

payment method declaration

type PaymentPhase

type PaymentPhase string
const (
	PaymentPhase_AUTH      PaymentPhase = "AUTH"
	PaymentPhase_PRE_AUTH  PaymentPhase = "PRE_AUTH"
	PaymentPhase_POST_AUTH PaymentPhase = "POST_AUTH"
)

payment phase declaration

type PaymentProvider

type PaymentProvider string
const (
	PaymentProvider_BANK             PaymentProvider = "BANK"
	PaymentProvider_CG_WALLET        PaymentProvider = "CG_WALLET"
	PaymentProvider_MASTERPASS       PaymentProvider = "MASTERPASS"
	PaymentProvider_GARANTI_PAY      PaymentProvider = "GARANTI_PAY"
	PaymentProvider_YKB_WORLD_PAY    PaymentProvider = "YKB_WORLD_PAY"
	PaymentProvider_PAPARA           PaymentProvider = "PAPARA"
	PaymentProvider_PAYONEER         PaymentProvider = "PAYONEER"
	PaymentProvider_SODEXO           PaymentProvider = "SODEXO"
	PaymentProvider_EDENRED          PaymentProvider = "EDENRED"
	PaymentProvider_ALIPAY           PaymentProvider = "ALIPAY"
	PaymentProvider_PAYPAL           PaymentProvider = "PAYPAL"
	PaymentProvider_KLARNA           PaymentProvider = "KLARNA"
	PaymentProvider_AFTERPAY         PaymentProvider = "AFTERPAY"
	PaymentProvider_APPLEPAY         PaymentProvider = "APPLEPAY"
	PaymentProvider_GOOGLEPAY        PaymentProvider = "GOOGLEPAY"
	PaymentProvider_HEPSIPAY         PaymentProvider = "HEPSIPAY"
	PaymentProvider_STRIPE           PaymentProvider = "STRIPE"
	PaymentProvider_KASPI            PaymentProvider = "KASPI"
	PaymentProvider_INSTANT_TRANSFER PaymentProvider = "INSTANT_TRANSFER"
	PaymentProvider_MASLAK           PaymentProvider = "MASLAK"
	PaymentProvider_TOMPAY           PaymentProvider = "TOMPAY"
	PaymentProvider_TOM_FINANCE      PaymentProvider = "TOM_FINANCE"
	PaymentProvider_ALFABANK         PaymentProvider = "ALFABANK"
	PaymentProvider_PAYCELL          PaymentProvider = "PAYCELL"
	PaymentProvider_HASO             PaymentProvider = "HASO"
	PaymentProvider_OFFLINE          PaymentProvider = "OFFLINE"
)

payment provider declaration

type PaymentRefundResponse

type PaymentRefundResponse struct {
	Id                        *int64                             `json:"id"`
	CreatedDate               *TimeResponse                      `json:"createdDate"`
	Status                    *RefundStatus                      `json:"status"`
	RefundDestinationType     *RefundDestinationType             `json:"refundDestinationType"`
	RefundPrice               *float64                           `json:"refundPrice"`
	RefundBankPrice           *float64                           `json:"refundBankPrice"`
	RefundWalletPrice         *float64                           `json:"refundWalletPrice"`
	ConversationId            *string                            `json:"conversationId"`
	AuthCode                  *string                            `json:"authCode"`
	HostReference             *string                            `json:"hostReference"`
	TransId                   *string                            `json:"transId"`
	PaymentId                 *int64                             `json:"paymentId"`
	RefundType                *RefundType                        `json:"refundType"`
	Currency                  *Currency                          `json:"currency"`
	PaymentTransactionRefunds []PaymentTransactionRefundResponse `json:"paymentTransactionRefunds"`
}

type PaymentRefundStatus

type PaymentRefundStatus string
const (
	PaymentRefundStatus_NO_REFUND        PaymentRefundStatus = "NO_REFUND"
	PaymentRefundStatus_NOT_REFUNDED     PaymentRefundStatus = "NOT_REFUNDED"
	PaymentRefundStatus_PARTIAL_REFUNDED PaymentRefundStatus = "PARTIAL_REFUNDED"
	PaymentRefundStatus_FULLY_REFUNDED   PaymentRefundStatus = "FULLY_REFUNDED"
)

payment refund status declaration

type PaymentReporting

type PaymentReporting struct {
	Client *Client
}

func (*PaymentReporting) RetrievePayment

func (api *PaymentReporting) RetrievePayment(ctx context.Context, id int64) (*ReportingPaymentResponse, error)

func (*PaymentReporting) RetrievePaymentRefunds

func (api *PaymentReporting) RetrievePaymentRefunds(ctx context.Context, paymentId int64) (*DataResponse[ReportingPaymentRefundResponse], error)

func (*PaymentReporting) RetrievePaymentTransactionRefunds

func (api *PaymentReporting) RetrievePaymentTransactionRefunds(ctx context.Context, paymentId, paymentTransactionId int64) (*DataResponse[ReportingPaymentTransactionRefundResponse], error)

func (*PaymentReporting) RetrievePaymentTransactions

func (api *PaymentReporting) RetrievePaymentTransactions(ctx context.Context, paymentId int64) (*DataResponse[ReportingPaymentTransactionResponse], error)

func (*PaymentReporting) SearchPaymentRefunds

func (*PaymentReporting) SearchPayments

type PaymentResponse

type PaymentResponse struct {
	Id                           *int64                       `json:"id"`
	CreatedDate                  *TimeResponse                `json:"createdDate"`
	Price                        *float64                     `json:"price"`
	PaidPrice                    *float64                     `json:"paidPrice"`
	WalletPrice                  *float64                     `json:"walletPrice"`
	Currency                     *string                      `json:"currency"`
	BuyerMemberId                *int64                       `json:"buyerMemberId"`
	FraudId                      *int64                       `json:"fraudId"`
	Installment                  *int                         `json:"installment"`
	ConversationId               *string                      `json:"conversationId"`
	ExternalId                   *string                      `json:"externalId"`
	PaymentType                  *PaymentType                 `json:"paymentType"`
	PaymentProvider              *PaymentProvider             `json:"paymentProvider"`
	PaymentSource                *PaymentSource               `json:"paymentSource"`
	PaymentGroup                 *PaymentGroup                `json:"paymentGroup"`
	PaymentStatus                *PaymentStatus               `json:"paymentStatus"`
	PaymentPhase                 *PaymentPhase                `json:"paymentPhase"`
	FraudAction                  *FraudAction                 `json:"fraudAction"`
	PaymentChannel               *string                      `json:"paymentChannel"`
	IsThreeDS                    *bool                        `json:"isThreeDS"`
	MerchantCommissionRate       *float64                     `json:"merchantCommissionRate"`
	MerchantCommissionRateAmount *float64                     `json:"merchantCommissionRateAmount"`
	BankCommissionRate           *float64                     `json:"bankCommissionRate"`
	BankCommissionRateAmount     *float64                     `json:"bankCommissionRateAmount"`
	PaidWithStoredCard           *bool                        `json:"paidWithStoredCard"`
	BinNumber                    *string                      `json:"binNumber"`
	LastFourDigits               *string                      `json:"lastFourDigits"`
	AuthCode                     *string                      `json:"authCode"`
	HostReference                *string                      `json:"hostReference"`
	TransId                      *string                      `json:"transId"`
	MdStatus                     *int                         `json:"mdStatus"`
	OrderId                      *string                      `json:"orderId"`
	CardHolderName               *string                      `json:"cardHolderName"`
	BankCardHolderName           *string                      `json:"bankCardHolderName"`
	CardType                     *string                      `json:"cardType"`
	CardAssociation              *string                      `json:"cardAssociation"`
	CardBrand                    *string                      `json:"cardBrand"`
	RequestedPosAlias            *string                      `json:"requestedPosAlias"`
	Pos                          *MerchantPos                 `json:"pos"`
	Loyalty                      *Loyalty                     `json:"loyalty"`
	PaymentError                 *PaymentError                `json:"paymentError"`
	CardUserKey                  *string                      `json:"cardUserKey"`
	CardToken                    *string                      `json:"cardToken"`
	PaymentTransactions          []PaymentTransactionResponse `json:"paymentTransactions"`
	AdditionalData               map[string]any               `json:"additionalData"`
}

responses

type PaymentSource

type PaymentSource string
const (
	PaymentSource_API           PaymentSource = "API"
	PaymentSource_CHECKOUT_FORM PaymentSource = "CHECKOUT_FORM"
	PaymentSource_PAY_BY_LINK   PaymentSource = "PAY_BY_LINK"
)

payment source declaration

type PaymentStatus

type PaymentStatus string
const (
	PaymentStatus_FAILURE          PaymentStatus = "FAILURE"
	PaymentStatus_SUCCESS          PaymentStatus = "SUCCESS"
	PaymentStatus_INIT_THREEDS     PaymentStatus = "INIT_THREEDS"
	PaymentStatus_CALLBACK_THREEDS PaymentStatus = "CALLBACK_THREEDS"
	PaymentStatus_WAITING          PaymentStatus = "WAITING"
)

payment status declaration

type PaymentTransactionRefundResponse

type PaymentTransactionRefundResponse struct {
	Id                    *int64                 `json:"id"`
	CreatedDate           *TimeResponse          `json:"createdDate"`
	Status                *RefundStatus          `json:"status"`
	RefundDestinationType *RefundDestinationType `json:"refundDestinationType"`
	RefundPrice           *float64               `json:"refundPrice"`
	RefundBankPrice       *float64               `json:"refundBankPrice"`
	RefundWalletPrice     *float64               `json:"refundWalletPrice"`
	ConversationId        *string                `json:"conversationId"`
	AuthCode              *string                `json:"authCode"`
	HostReference         *string                `json:"hostReference"`
	TransId               *string                `json:"transId"`
	IsAfterSettlement     *bool                  `json:"isAfterSettlement"`
	PaymentTransactionId  *int64                 `json:"paymentTransactionId"`
	Currency              *Currency              `json:"currency"`
	PaymentId             *int64                 `json:"paymentId"`
}

type PaymentTransactionResponse

type PaymentTransactionResponse struct {
	ID                            *int64   `json:"id"`
	ExternalID                    *string  `json:"externalId"`
	Name                          *string  `json:"name"`
	TransactionStatus             *string  `json:"transactionStatus"`
	BlockageResolvedDate          *string  `json:"blockageResolvedDate"`
	Price                         *float64 `json:"price"`
	PaidPrice                     *float64 `json:"paidPrice"`
	WalletPrice                   *float64 `json:"walletPrice"`
	MerchantCommissionRate        *float64 `json:"merchantCommissionRate"`
	MerchantCommissionRateAmount  *float64 `json:"merchantCommissionRateAmount"`
	MerchantPayoutAmount          *float64 `json:"merchantPayoutAmount"`
	SubMerchantMemberID           *int64   `json:"subMerchantMemberId"`
	SubMerchantMemberPrice        *float64 `json:"subMerchantMemberPrice"`
	SubMerchantMemberPayoutRate   *float64 `json:"subMerchantMemberPayoutRate"`
	SubMerchantMemberPayoutAmount *float64 `json:"subMerchantMemberPayoutAmount"`
	Payout                        *Payout  `json:"payout"`
}

type PaymentTransactionsApprovalRequest

type PaymentTransactionsApprovalRequest struct {
	PaymentTransactionIds []int64 `json:"paymentTransactionIds,omitempty"`
	IsTransactional       bool    `json:"isTransactional,omitempty"`
}

type PaymentTransactionsApprovalResponse

type PaymentTransactionsApprovalResponse struct {
	PaymentTransactionId *int64          `json:"paymentTransactionId"`
	ApprovalStatus       *ApprovalStatus `json:"approvalStatus"`
	FailedReason         *string         `json:"failedReason"`
}

type PaymentType

type PaymentType string
const (
	PaymentType_CARD_PAYMENT            PaymentType = "CARD_PAYMENT"
	PaymentType_WALLET_PAYMENT          PaymentType = "WALLET_PAYMENT"
	PaymentType_CARD_AND_WALLET_PAYMENT PaymentType = "CARD_AND_WALLET_PAYMENT"
	PaymentType_DEPOSIT_PAYMENT         PaymentType = "DEPOSIT_PAYMENT"
	PaymentType_BANK_TRANSFER           PaymentType = "BANK_TRANSFER"
	PaymentType_APM                     PaymentType = "APM"
)

payment type declaration

type Payout

type Payout struct {
	PaidPrice                     *float64  `json:"paidPrice"`
	Parity                        *float64  `json:"parity"`
	Currency                      *Currency `json:"currency"`
	MerchantPayoutAmount          *float64  `json:"merchantPayoutAmount"`
	SubMerchantMemberPayoutAmount *float64  `json:"subMerchantMemberPayoutAmount"`
}

type PayoutAccountResponse added in v1.0.8

type PayoutAccountResponse struct {
	Id                  int64             `json:"id"`
	AccountType         PayoutAccountType `json:"type"`
	ExternalAccountId   string            `json:"externalAccountId"`
	Currency            Currency          `json:"currency"`
	AccountOwner        AccountOwner      `json:"accountOwner"`
	SubMerchantMemberId *int64            `json:"subMerchantMemberId"`
}

type PayoutAccountType added in v1.0.8

type PayoutAccountType string
const (
	PayoutAccountType_WISE PayoutAccountType = "WISE"
)

type PayoutDetailResponse

type PayoutDetailResponse struct {
	RowDescription                *string                           `json:"rowDescription"`
	PayoutDate                    *TimeResponse                     `json:"payoutDate"`
	Name                          *string                           `json:"name"`
	Iban                          *string                           `json:"iban"`
	PayoutAmount                  *float64                          `json:"payoutAmount"`
	Currency                      *string                           `json:"currency"`
	MerchantId                    *int64                            `json:"merchantId"`
	MerchantType                  *string                           `json:"merchantType"`
	SettlementEarningsDestination *string                           `json:"settlementEarningsDestination"`
	SettlementSource              *string                           `json:"settlementSource"`
	BounceStatus                  *string                           `json:"bounceStatus"`
	PayoutTransactions            []PayoutDetailTransactionResponse `json:"payoutTransactions"`
}

type PayoutDetailTransactionResponse

type PayoutDetailTransactionResponse struct {
	TransactionId   *int64   `json:"transactionId"`
	TransactionType *string  `json:"transactionType"`
	PayoutAmount    *float64 `json:"payoutAmount"`
}

type PayoutRowResponse added in v1.0.7

type PayoutRowResponse struct {
	Name         *string       `json:"name"`
	Iban         *string       `json:"iban"`
	PayoutId     *int64        `json:"payoutId"`
	MerchantId   *int64        `json:"merchantId"`
	MerchantType *string       `json:"merchantType"`
	PayoutAmount *float64      `json:"payoutAmount"`
	PayoutDate   *TimeResponse `json:"payoutDate"`
}

type PayoutStatus

type PayoutStatus struct {
	MerchantStatus              *TransactionPayoutStatus `json:"merchantStatus"`
	MerchantStatusDate          *TimeResponse            `json:"merchantStatusDate"`
	SubMerchantMemberStatus     *TransactionPayoutStatus `json:"subMerchantMemberStatus"`
	SubMerchantMemberStatusDate *TimeResponse            `json:"subMerchantMemberStatusDate"`
}

type PosApmInstallment added in v1.0.9

type PosApmInstallment struct {
	Number     *int     `json:"number,omitempty"`
	TotalPrice *float64 `json:"totalPrice,omitempty"`
}

type PosApmPaymentProvider added in v1.0.9

type PosApmPaymentProvider string
const (
	PosApmPaymentProvider_YKB_WORLD_PAY               PosApmPaymentProvider = "YKB_WORLD_PAY"
	PosApmPaymentProvider_YKB_WORLD_PAY_SHOPPING_LOAN PosApmPaymentProvider = "YKB_WORLD_PAY_SHOPPING_LOAN"
	PosApmPaymentProvider_GOOGLEPAY                   PosApmPaymentProvider = "GOOGLEPAY"
	PosApmPaymentProvider_GARANTI_PAY                 PosApmPaymentProvider = "GARANTI_PAY"
)

pos apm payment provider declaration

type PosIntegrator added in v1.0.9

type PosIntegrator string
const (
	PosIntegrator_YKB               PosIntegrator = "YKB"
	PosIntegrator_GARANTI           PosIntegrator = "GARANTI"
	PosIntegrator_ISBANK            PosIntegrator = "ISBANK"
	PosIntegrator_AKBANK            PosIntegrator = "AKBANK"
	PosIntegrator_ZIRAATBANK        PosIntegrator = "ZIRAATBANK"
	PosIntegrator_ZIRAATBANK_INNOVA PosIntegrator = "ZIRAATBANK_INNOVA"
	PosIntegrator_ZIRAATKATILIM     PosIntegrator = "ZIRAATKATILIM"
	PosIntegrator_KUVEYTTURK        PosIntegrator = "KUVEYTTURK"
	PosIntegrator_HALKBANK          PosIntegrator = "HALKBANK"
	PosIntegrator_DENIZBANK         PosIntegrator = "DENIZBANK"
	PosIntegrator_VAKIFBANK         PosIntegrator = "VAKIFBANK"
	PosIntegrator_VAKIFKATILIM      PosIntegrator = "VAKIFKATILIM"
	PosIntegrator_FINANSBANK        PosIntegrator = "FINANSBANK"
	PosIntegrator_FIBABANK          PosIntegrator = "FIBABANK"
	PosIntegrator_FIBABANK_ASSECO   PosIntegrator = "FIBABANK_ASSECO"
	PosIntegrator_ANADOLUBANK       PosIntegrator = "ANADOLUBANK"
	PosIntegrator_PARAM_POS         PosIntegrator = "PARAM_POS"
	PosIntegrator_IYZICO            PosIntegrator = "IYZICO"
	PosIntegrator_SIPAY             PosIntegrator = "SIPAY"
	PosIntegrator_PAYNET            PosIntegrator = "PAYNET"
	PosIntegrator_PAYTR             PosIntegrator = "PAYTR"
	PosIntegrator_BIRLESIK_ODEME    PosIntegrator = "BIRLESIK_ODEME"
	PosIntegrator_MOKA              PosIntegrator = "MOKA"
	PosIntegrator_STRIPE            PosIntegrator = "STRIPE"
	PosIntegrator_TEB               PosIntegrator = "TEB"
	PosIntegrator_IPARA             PosIntegrator = "IPARA"
	PosIntegrator_OZAN              PosIntegrator = "OZAN"
	PosIntegrator_BRAINTREE         PosIntegrator = "BRAINTREE"
	PosIntegrator_NKOLAY            PosIntegrator = "NKOLAY"
	PosIntegrator_PAYTABS           PosIntegrator = "PAYTABS"
	PosIntegrator_PAYBULL           PosIntegrator = "PAYBULL"
	PosIntegrator_ELEKSE            PosIntegrator = "ELEKSE"
	PosIntegrator_ALGORITMA         PosIntegrator = "ALGORITMA"
	PosIntegrator_PAYCELL           PosIntegrator = "PAYCELL"
	PosIntegrator_TAMI              PosIntegrator = "TAMI"
	PosIntegrator_QNB_PAY           PosIntegrator = "QNB_PAY"
	PosIntegrator_AKBANK_VPOS       PosIntegrator = "AKBANK_VPOS"
	PosIntegrator_TAP               PosIntegrator = "TAP"
	PosIntegrator_RUBIK             PosIntegrator = "RUBIK"
)

type PosOperationType added in v1.0.9

type PosOperationType string
const (
	PosOperationType_STANDARD PosOperationType = "STANDARD"
	PosOperationType_PROVAUT  PosOperationType = "PROVAUT"
	PosOperationType_PROVRFN  PosOperationType = "PROVRFN"
	PosOperationType_PAYMENT  PosOperationType = "PAYMENT"
	PosOperationType_REFUND   PosOperationType = "REFUND"
	PosOperationType_INQUIRY  PosOperationType = "INQUIRY"
)

type PosStatus added in v1.0.9

type PosStatus string
const (
	PosStatus_DELETED     PosStatus = "DELETED"
	PosStatus_PASSIVE     PosStatus = "PASSIVE"
	PosStatus_ACTIVE      PosStatus = "ACTIVE"
	PosStatus_REFUND_ONLY PosStatus = "REFUND_ONLY"
	PosStatus_AUTOPILOT   PosStatus = "AUTOPILOT"
)

type PosUserType added in v1.0.9

type PosUserType string
const (
	PosUserType_API PosUserType = "API"
)

type PostAuthPaymentRequest

type PostAuthPaymentRequest struct {
	PaidPrice float64 `json:"paidPrice"`
}

type ProductResponse

type ProductResponse struct {
	Id                  *int64    `json:"id"`
	Name                *string   `json:"name"`
	Description         *string   `json:"description"`
	OrderId             *string   `json:"orderId,omitempty"`
	ConversationId      *string   `json:"conversationId,omitempty"`
	ExternalId          *string   `json:"externalId,omitempty"`
	Status              *Status   `json:"status"`
	Price               *float64  `json:"price"`
	Currency            *Currency `json:"currency"`
	Stock               *int      `json:"stock"`
	SoldCount           *int      `json:"soldCount"`
	Token               *string   `json:"token"`
	EnabledInstallments []int     `json:"enabledInstallments"`
	Url                 *string   `json:"url"`
	QrCodeUrl           *string   `json:"qrCodeUrl"`
	Channel             *string   `json:"channel"`
}

type RecordType added in v1.0.10

type RecordType string
const (
	RecordType_SEND    RecordType = "SEND"
	RecordType_RECEIVE RecordType = "RECEIVE"
)

RecordType declaration

type RefundDestinationType

type RefundDestinationType string
const (
	RefundDestinationType_PROVIDER RefundDestinationType = "PROVIDER"
	RefundDestinationType_WALLET   RefundDestinationType = "WALLET"
)

refundDestinationType type declaration

type RefundPaymentRequest

type RefundPaymentRequest struct {
	PaymentId             int64                 `json:"paymentId,omitempty"`
	ConversationId        string                `json:"conversationId,omitempty"`
	RefundDestinationType RefundDestinationType `json:"refundDestinationType,omitempty"`
	ChargeFromMe          bool                  `json:"chargeFromMe,omitempty"`
}

type RefundPaymentTransactionRequest

type RefundPaymentTransactionRequest struct {
	PaymentTransactionId  int64                 `json:"paymentTransactionId"`
	ConversationId        string                `json:"conversationId"`
	RefundPrice           float64               `json:"refundPrice"`
	RefundDestinationType RefundDestinationType `json:"refundDestinationType"`
	ChargeFromMe          bool                  `json:"chargeFromMe"`
}

type RefundStatus

type RefundStatus string
const (
	RefundStatus_SUCCESS RefundStatus = "SUCCESS"
	RefundStatus_FAILURE RefundStatus = "FAILURE"
)

refund status declaration

type RefundType

type RefundType string
const (
	RefundType_CANCEL RefundType = "CANCEL"
	RefundType_REFUND RefundType = "REFUND"
)

refund type declaration

type RefundWalletTransactionRequest added in v1.0.5

type RefundWalletTransactionRequest struct {
	RefundPrice float64 `json:"refundPrice"`
}

type RefundWalletTransactionResponse added in v1.0.5

type RefundWalletTransactionResponse struct {
	Id                  *int64                                  `json:"id"`
	CreatedDate         *TimeResponse                           `json:"createdDate"`
	RefundStatus        *string                                 `json:"refundStatus"`
	RefundPrice         *float64                                `json:"refundPrice"`
	AuthCode            *string                                 `json:"authCode"`
	HostReference       *string                                 `json:"hostReference"`
	TransId             *string                                 `json:"transId"`
	TransactionId       *int64                                  `json:"transactionId"`
	WalletTransactionId *int64                                  `json:"walletTransactionId"`
	PaymentError        *PaymentError                           `json:"paymentError"`
	TransactionType     *WalletTransactionRefundTransactionType `json:"transactionType"`
}

type RemittanceRequest

type RemittanceRequest struct {
	MemberId             int64    `json:"memberId"`
	Price                float64  `json:"price"`
	Currency             Currency `json:"currency,omitempty"`
	Description          string   `json:"description"`
	RemittanceReasonType string   `json:"remittanceReasonType"`
}

type RemittanceResponse

type RemittanceResponse struct {
	Id                   *int64        `json:"id"`
	CreatedDate          *TimeResponse `json:"createdDate"`
	Status               *Status       `json:"status"`
	Price                *float64      `json:"price"`
	Currency             Currency      `json:"currency,omitempty"`
	MemberId             *int64        `json:"memberId"`
	RemittanceType       *string       `json:"remittanceType"`
	RemittanceReasonType *string       `json:"remittanceReasonType"`
	Description          *string       `json:"description"`
}

type ReportFileType

type ReportFileType string
const (
	ReportFileType_CSV  ReportFileType = "CSV"
	ReportFileType_XLSX ReportFileType = "XLSX"
)

report file type declaration

type ReportingPaymentRefundResponse

type ReportingPaymentRefundResponse struct {
	Id                    *int64                 `json:"id"`
	CreatedDate           *TimeResponse          `json:"createdDate"`
	Status                *RefundStatus          `json:"status"`
	RefundDestinationType *RefundDestinationType `json:"refundDestinationType"`
	RefundPrice           *float64               `json:"refundPrice"`
	RefundBankPrice       *float64               `json:"refundBankPrice"`
	RefundWalletPrice     *float64               `json:"refundWalletPrice"`
	ConversationId        *string                `json:"conversationId"`
	AuthCode              *string                `json:"authCode"`
	HostReference         *string                `json:"hostReference"`
	PaymentType           *PaymentType           `json:"paymentType"`
	TransId               *string                `json:"transId"`
	PaymentId             *int64                 `json:"paymentId"`
	PaymentError          *PaymentError          `json:"paymentError"`
}

type ReportingPaymentResponse

type ReportingPaymentResponse struct {
	Id                           *int64                            `json:"id"`
	CreatedDate                  *TimeResponse                     `json:"createdDate"`
	Price                        *float64                          `json:"price"`
	PaidPrice                    *float64                          `json:"paidPrice"`
	WalletPrice                  *float64                          `json:"walletPrice"`
	Currency                     *Currency                         `json:"currency"`
	BuyerMemberId                *int64                            `json:"buyerMemberId"`
	Installment                  *int                              `json:"installment"`
	ConversationId               *string                           `json:"conversationId"`
	ExternalId                   *string                           `json:"externalId"`
	PaymentType                  *PaymentType                      `json:"paymentType"`
	PaymentProvider              *PaymentProvider                  `json:"paymentProvider"`
	PaymentSource                *PaymentSource                    `json:"paymentSource"`
	PaymentGroup                 *PaymentGroup                     `json:"paymentGroup"`
	PaymentStatus                *PaymentStatus                    `json:"paymentStatus"`
	PaymentPhase                 *PaymentPhase                     `json:"paymentPhase"`
	PaymentChannel               *string                           `json:"paymentChannel"`
	IsThreeDS                    *bool                             `json:"isThreeDS"`
	MerchantCommissionRate       *float64                          `json:"merchantCommissionRate"`
	MerchantCommissionRateAmount *float64                          `json:"merchantCommissionRateAmount"`
	BankCommissionRate           *float64                          `json:"bankCommissionRate"`
	BankCommissionRateAmount     *float64                          `json:"bankCommissionRateAmount"`
	PaidWithStoredCard           *bool                             `json:"paidWithStoredCard"`
	BinNumber                    *string                           `json:"binNumber"`
	LastFourDigits               *string                           `json:"lastFourDigits"`
	AuthCode                     *string                           `json:"authCode"`
	HostReference                *string                           `json:"hostReference"`
	OrderId                      *string                           `json:"orderId"`
	TransId                      *string                           `json:"transId"`
	CardHolderName               *string                           `json:"cardHolderName"`
	BankCardHolderName           *string                           `json:"bankCardHolderName"`
	CardType                     *CardType                         `json:"cardType"`
	CardAssociation              *CardAssociation                  `json:"cardAssociation"`
	CardBrand                    *string                           `json:"cardBrand"`
	RequestedPosAlias            *string                           `json:"requestedPosAlias"`
	RetryCount                   *int                              `json:"retryCount"`
	RefundablePrice              *float64                          `json:"refundablePrice"`
	RefundStatus                 *PaymentRefundStatus              `json:"refundStatus"`
	CardIssuerBankName           *string                           `json:"cardIssuerBankName"`
	MdStatus                     *int                              `json:"mdStatus"`
	BuyerMember                  *MemberResponse                   `json:"buyerMember"`
	Refunds                      *[]ReportingPaymentRefundResponse `json:"refunds"`
	Pos                          *MerchantPos                      `json:"pos"`
	Loyalty                      *Loyalty                          `json:"loyalty"`
	PaymentError                 *PaymentError                     `json:"paymentError"`
}

type ReportingPaymentTransactionRefundResponse

type ReportingPaymentTransactionRefundResponse struct {
	Id                    *int64                 `json:"id"`
	CreatedDate           *TimeResponse          `json:"createdDate"`
	Status                *RefundStatus          `json:"status"`
	RefundDestinationType *RefundDestinationType `json:"refundDestinationType"`
	RefundPrice           *float64               `json:"refundPrice"`
	RefundBankPrice       *float64               `json:"refundBankPrice"`
	RefundWalletPrice     *float64               `json:"refundWalletPrice"`
	ConversationId        *string                `json:"conversationId"`
	AuthCode              *string                `json:"authCode"`
	HostReference         *string                `json:"hostReference"`
	TransId               *string                `json:"transId"`
	IsAfterSettlement     *bool                  `json:"isAfterSettlement"`
	PaymentTransactionId  *int64                 `json:"paymentTransactionId"`
	PaymentError          *PaymentError          `json:"paymentError"`
}

type ReportingPaymentTransactionResponse

type ReportingPaymentTransactionResponse struct {
	Id                            *int64               `json:"id"`
	Name                          *string              `json:"name"`
	ExternalId                    *string              `json:"externalId"`
	Price                         *float64             `json:"price"`
	PaidPrice                     *float64             `json:"paidPrice"`
	WalletPrice                   *float64             `json:"walletPrice"`
	MerchantCommissionRate        *float64             `json:"merchantCommissionRate"`
	MerchantCommissionRateAmount  *float64             `json:"merchantCommissionRateAmount"`
	MerchantPayoutAmount          *float64             `json:"merchantPayoutAmount"`
	SubMerchantMemberId           *int64               `json:"subMerchantMemberId"`
	SubMerchantMemberPrice        *float64             `json:"subMerchantMemberPrice"`
	SubMerchantMemberPayoutRate   *float64             `json:"subMerchantMemberPayoutRate"`
	SubMerchantMemberPayoutAmount *float64             `json:"subMerchantMemberPayoutAmount"`
	TransactionStatus             *TransactionStatus   `json:"transactionStatus"`
	BlockageResolvedDate          *TimeResponse        `json:"blockageResolvedDate"`
	CreatedDate                   *TimeResponse        `json:"createdDate"`
	TransactionStatusDate         *TimeResponse        `json:"transactionStatusDate"`
	RefundablePrice               *float64             `json:"refundablePrice"`
	BankCommissionRate            *float64             `json:"bankCommissionRate"`
	BankCommissionRateAmount      *float64             `json:"bankCommissionRateAmount"`
	Payout                        *Payout              `json:"payout"`
	SubMerchantMember             *MemberResponse      `json:"subMerchantMember"`
	RefundStatus                  *PaymentRefundStatus `json:"refundStatus"`
	PayoutStatus                  *PayoutStatus        `json:"payoutStatus"`
}

type RequestOptions

type RequestOptions struct {
	BaseURL   string
	ApiKey    string
	SecretKey string
}

type ResetMerchantMemberWalletBalanceRequest

type ResetMerchantMemberWalletBalanceRequest struct {
	WalletAmount float64 `json:"walletAmount"`
}

type Response

type Response[T any] struct {
	Data   *T             `json:"data"`
	Errors *ErrorResponse `json:"errors"`
}

func (Response[ErrorResponse]) Error

func (r Response[ErrorResponse]) Error() string

type RetrieveBinNumberResponse

type RetrieveBinNumberResponse struct {
	BinNumber       *string `json:"binNumber"`
	CardType        *string `json:"cardType"`
	CardAssociation *string `json:"cardAssociation"`
	CardBrand       *string `json:"cardBrand"`
	BankName        *string `json:"bankName"`
	BankCode        *int    `json:"bankCode"`
	Commercial      *bool   `json:"commercial"`
}

type RetrieveDailyTransactionReportRequest

type RetrieveDailyTransactionReportRequest struct {
	ReportDate Date           `schema:"reportDate,omitempty"`
	FileType   ReportFileType `schema:"fileType,omitempty"`
}

type RetrieveLoyaltiesRequest

type RetrieveLoyaltiesRequest struct {
	CardNumber  string `json:"cardNumber,omitempty"`
	ExpireYear  string `json:"expireYear,omitempty"`
	ExpireMonth string `json:"expireMonth,omitempty"`
	Cvc         string `json:"cvc,omitempty"`
	CardUserKey string `json:"cardUserKey,omitempty"`
	CardToken   string `json:"cardToken,omitempty"`
}

type RetrieveLoyaltiesResponse

type RetrieveLoyaltiesResponse struct {
	CardBrand *string      `json:"cardBrand"`
	Force3ds  *bool        `json:"force3ds"`
	Pos       *MerchantPos `json:"pos"`
	Loyalties []Loyalty    `json:"loyalties"`
}

type RetrievePayoutDetailsRequest

type RetrievePayoutDetailsRequest struct {
	PayoutDetailId int64
}

type RetrieveWalletTransactionRefundableAmountResponse

type RetrieveWalletTransactionRefundableAmountResponse struct {
	RefundableAmount *float64 `json:"refundableAmount"`
}

type Reward

type Reward struct {
	CardRewardMoney *float64 `json:"cardRewardMoney,omitempty"`
	FirmRewardMoney *float64 `json:"firmRewardMoney,omitempty"`
}

type SearchBankAccountTrackingRecordRequest added in v1.0.10

type SearchBankAccountTrackingRecordRequest struct {
	SenderName    string    `schema:"senderName,omitempty"`
	SenderIban    string    `schema:"senderIban,omitempty"`
	Description   string    `schema:"description,omitempty"`
	Currency      Currency  `schema:"currency,omitempty"`
	MinRecordDate time.Time `schema:"minRecordDate,omitempty"`
	MaxRecordDate time.Time `schema:"maxRecordDate,omitempty"`
	Page          int       `schema:"page,omitempty"`
	Size          int       `schema:"size,omitempty"`
}

type SearchFraudChecksRequest

type SearchFraudChecksRequest struct {
	Page           int              `schema:"page,omitempty"`
	Size           int              `schema:"size,omitempty"`
	Action         FraudAction      `schema:"action,omitempty"`
	CheckStatus    FraudCheckStatus `schema:"checkStatus,omitempty"`
	MinCreatedDate time.Time        `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate time.Time        `schema:"maxCreatedDate,omitempty"`
	RuleId         int64            `schema:"ruleId,omitempty"`
	PaymentId      int64            `schema:"paymentId,omitempty"`
	PaymentStatus  PaymentStatus    `schema:"paymentStatus,omitempty"`
}

type SearchInstallmentsRequest

type SearchInstallmentsRequest struct {
	BinNumber                               string   `schema:"binNumber"`
	Price                                   float64  `schema:"price"`
	Currency                                Currency `schema:"currency"`
	DistinctCardBrandsWithLowestCommissions bool     `schema:"distinctCardBrandsWithLowestCommissions"`
	LoyaltyExists                           bool     `schema:"loyaltyExists"`
}

type SearchMembersRequest

type SearchMembersRequest struct {
	Page             int        `schema:"page,omitempty"`
	Size             int        `schema:"size,omitempty"`
	IsBuyer          bool       `schema:"isBuyer,omitempty"`
	IsSubMerchant    bool       `schema:"isSubMerchant,omitempty"`
	Name             string     `schema:"name,omitempty"`
	MemberIds        []int64    `schema:"memberIds,omitempty"`
	MemberType       MemberType `schema:"memberType,omitempty"`
	MemberExternalId string     `schema:"memberExternalId,omitempty"`
}

type SearchMerchantPosRequest added in v1.0.11

type SearchMerchantPosRequest struct {
	Name              string   `schema:"name,omitempty"`
	Alias             string   `schema:"alias,omitempty"`
	Currency          Currency `schema:"currency,omitempty"`
	EnableInstallment bool     `schema:"enableInstallment,omitempty"`
	EnableForeignCard bool     `schema:"enableForeignCard,omitempty"`
	BankName          string   `schema:"bankName,omitempty"`
	Page              int64    `schema:"page,omitempty"`
	Size              int64    `schema:"size,omitempty"`
}

type SearchPaymentRefundsRequest

type SearchPaymentRefundsRequest struct {
	Page           int          `schema:"page,omitempty"`
	Size           int          `schema:"size,omitempty"`
	Id             int64        `schema:"id,omitempty"`
	PaymentId      int64        `schema:"paymentId,omitempty"`
	BuyerMemberId  int64        `schema:"buyerMemberId,omitempty"`
	ConversationId string       `schema:"conversationId,omitempty"`
	Status         RefundStatus `schema:"status,omitempty"`
	Currency       Currency     `schema:"currency,omitempty"`
	MinRefundPrice float64      `schema:"minRefundPrice,omitempty"`
	MaxRefundPrice float64      `schema:"maxRefundPrice,omitempty"`
	MinCreatedDate time.Time    `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate time.Time    `schema:"maxCreatedDate,omitempty"`
}

type SearchPaymentTransactionRefundsRequest

type SearchPaymentTransactionRefundsRequest struct {
	Page                 int          `schema:"page,omitempty"`
	Size                 int          `schema:"size,omitempty"`
	Id                   int64        `schema:"id,omitempty"`
	PaymentId            int64        `schema:"paymentId,omitempty"`
	PaymentTransactionId int64        `schema:"paymentTransactionId,omitempty"`
	BuyerMemberId        int64        `schema:"buyerMemberId,omitempty"`
	ConversationId       string       `schema:"conversationId,omitempty"`
	Status               RefundStatus `schema:"status,omitempty"`
	Currency             Currency     `schema:"currency,omitempty"`
	IsAfterSettlement    bool         `schema:"isAfterSettlement,omitempty"`
	MinRefundPrice       float64      `schema:"minRefundPrice,omitempty"`
	MaxRefundPrice       float64      `schema:"maxRefundPrice,omitempty"`
	MinCreatedDate       time.Time    `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate       time.Time    `schema:"maxCreatedDate,omitempty"`
}

type SearchPaymentsRequest

type SearchPaymentsRequest struct {
	Page                 int             `schema:"page,omitempty"`
	Size                 int             `schema:"size,omitempty"`
	PaymentId            int64           `schema:"paymentId,omitempty"`
	PaymentTransactionId int64           `schema:"paymentTransactionId,omitempty"`
	BuyerMemberId        int64           `schema:"buyerMemberId,omitempty"`
	SubMerchantMemberId  int64           `schema:"subMerchantMemberId,omitempty"`
	ConversationId       string          `schema:"conversationId,omitempty"`
	ExternalId           string          `schema:"externalId,omitempty"`
	OrderId              string          `schema:"orderId,omitempty"`
	PaymentType          PaymentType     `schema:"paymentType,omitempty"`
	PaymentProvider      PaymentProvider `schema:"paymentProvider,omitempty"`
	PaymentStatus        PaymentStatus   `schema:"paymentStatus,omitempty"`
	PaymentSource        PaymentSource   `schema:"paymentSource,omitempty"`
	PaymentChannel       string          `schema:"paymentChannel,omitempty"`
	BinNumber            string          `schema:"binNumber,omitempty"`
	LastFourDigits       string          `schema:"lastFourDigits,omitempty"`
	Currency             Currency        `schema:"currency,omitempty"`
	MinPaidPrice         float64         `schema:"minPaidPrice,omitempty"`
	MaxPaidPrice         float64         `schema:"maxPaidPrice,omitempty"`
	Installment          int             `schema:"installment,omitempty"`
	IsThreeDS            bool            `schema:"isThreeDS,omitempty"`
	MinCreatedDate       time.Time       `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate       time.Time       `schema:"maxCreatedDate,omitempty"`
}

type SearchPayoutAccountRequest added in v1.0.8

type SearchPayoutAccountRequest struct {
	Currency            Currency     `json:"currency,omitempty"`
	AccountOwner        AccountOwner `json:"accountOwner,omitempty"`
	SubMerchantMemberId int64        `json:"subMerchantMemberId,omitempty"`
	Page                int          `schema:"page,omitempty"`
	Size                int          `schema:"size,omitempty"`
}

type SearchPayoutBouncedTransactionsRequest

type SearchPayoutBouncedTransactionsRequest struct {
	StartDate time.Time `schema:"startDate,omitempty"`
	EndDate   time.Time `schema:"endDate,omitempty"`
}

type SearchPayoutBouncedTransactionsResponse

type SearchPayoutBouncedTransactionsResponse struct {
	Id                *int64        `json:"id"`
	Iban              *string       `json:"iban"`
	CreatedDate       *TimeResponse `json:"createdDate"`
	UpdatedDate       *TimeResponse `json:"updatedDate"`
	PayoutId          *int64        `json:"payoutId"`
	PayoutAmount      *float64      `json:"payoutAmount"`
	ContactName       *string       `json:"contactName"`
	ContactSurname    *string       `json:"contactSurname"`
	LegalCompanyTitle *string       `json:"legalCompanyTitle"`
	RowDescription    *string       `json:"rowDescription"`
}

type SearchPayoutCompletedTransactionsRequest

type SearchPayoutCompletedTransactionsRequest struct {
	SettlementFileId int64          `schema:"settlementFileId,omitempty"`
	SettlementType   SettlementType `schema:"settlementType,omitempty"`
	StartDate        time.Time      `schema:"startDate,omitempty"`
	EndDate          time.Time      `schema:"endDate,omitempty"`
	Page             int            `schema:"page"`
	Size             int            `schema:"size"`
}

type SearchPayoutCompletedTransactionsResponse

type SearchPayoutCompletedTransactionsResponse struct {
	PayoutId                      *int64        `json:"payoutId"`
	TransactionId                 *int64        `json:"transactionId"`
	TransactionType               *string       `json:"transactionType"`
	PayoutAmount                  *float64      `json:"payoutAmount"`
	PayoutDate                    *TimeResponse `json:"payoutDate"`
	Currency                      *Currency     `json:"currency"`
	MerchantId                    *int64        `json:"merchantId"`
	MerchantType                  *string       `json:"merchantType"`
	SettlementEarningsDestination *string       `json:"settlementEarningsDestination"`
	SettlementSource              *string       `json:"settlementSource"`
}

type SearchPayoutRowRequest added in v1.0.7

type SearchPayoutRowRequest struct {
	Page       int        `schema:"page,omitempty"`
	Size       int        `schema:"size,omitempty"`
	FileStatus FileStatus `schema:"fileStatus,omitempty"`
	StartDate  time.Time  `schema:"startDate,omitempty"`
	EndDate    time.Time  `schema:"endDate,omitempty"`
}

type SearchProductsRequest

type SearchProductsRequest struct {
	Name     string   `schema:"name,omitempty"`
	MinPrice float64  `schema:"minPrice,omitempty"`
	MaxPrice float64  `schema:"maxPrice,omitempty"`
	Currency Currency `schema:"currency,omitempty"`
	Channel  string   `schema:"channel,omitempty"`
	Page     int      `schema:"page,omitempty"`
	Size     int      `schema:"size,omitempty"`
}

type SearchStoredCardsRequest

type SearchStoredCardsRequest struct {
	CardAlias       string          `schema:"cardAlias,omitempty"`
	CardBrand       string          `schema:"cardBrand,omitempty"`
	CardType        CardType        `schema:"cardType,omitempty"`
	CardUserKey     string          `schema:"cardUserKey,omitempty"`
	CardToken       string          `schema:"cardToken,omitempty"`
	CardBankName    string          `schema:"cardBankName,omitempty"`
	CardAssociation CardAssociation `schema:"cardAssociation,omitempty"`
	MinCreatedDate  time.Time       `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate  time.Time       `schema:"maxCreatedDate,omitempty"`
	Page            int             `schema:"page,omitempty"`
	Size            int             `schema:"size,omitempty"`
}

type SearchWalletTransactionsRequest

type SearchWalletTransactionsRequest struct {
	WalletTransactionTypes []WalletTransactionType `schema:"walletTransactionTypes,omitempty"`
	MinAmount              float64                 `schema:"minWithdrawPrice,omitempty"`
	MaxAmount              float64                 `schema:"maxWithdrawPrice,omitempty"`
	MinCreatedDate         time.Time               `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate         time.Time               `schema:"maxCreatedDate,omitempty"`
	Page                   int                     `schema:"page,omitempty"`
	Size                   int                     `schema:"size,omitempty"`
}

type SearchWalletTransactionsResponse

type SearchWalletTransactionsResponse struct {
	ID                    *int64        `json:"id"`
	CreatedDate           *TimeResponse `json:"createdDate"`
	WalletTransactionType *string       `json:"walletTransactionType"`
	Amount                *float64      `json:"amount"`
	TransactionID         *int64        `json:"transactionId"`
	WalletID              *int64        `json:"walletId"`
}

type SearchWithdrawsRequest

type SearchWithdrawsRequest struct {
	MemberId         int64     `schema:"walletId,omitempty"`
	PayoutStatus     string    `schema:"payoutStatus,omitempty"`
	Currency         Currency  `schema:"currency,omitempty"`
	MinWithdrawPrice float64   `schema:"minWithdrawPrice,omitempty"`
	MaxWithdrawPrice float64   `schema:"maxWithdrawPrice,omitempty"`
	MinCreatedDate   time.Time `schema:"minCreatedDate,omitempty"`
	MaxCreatedDate   time.Time `schema:"maxCreatedDate,omitempty"`
	Page             int       `schema:"page,omitempty"`
	Size             int       `schema:"size,omitempty"`
}

type Settlement

type Settlement struct {
	Client *Client
}

func (*Settlement) CreatePayoutAccount added in v1.0.8

func (api *Settlement) CreatePayoutAccount(ctx context.Context, request CreatePayoutAccountRequest) (*PayoutAccountResponse, error)

func (*Settlement) DeletePayoutAccount added in v1.0.8

func (api *Settlement) DeletePayoutAccount(ctx context.Context, id int64) error

func (*Settlement) SearchPayoutAccounts added in v1.0.8

func (api *Settlement) SearchPayoutAccounts(ctx context.Context, request SearchPayoutAccountRequest) (*DataResponse[PayoutAccountResponse], error)

func (*Settlement) UpdatePayoutAccount added in v1.0.8

func (api *Settlement) UpdatePayoutAccount(ctx context.Context, id int64, request UpdatePayoutAccountRequest) error

type SettlementEarningsDestination

type SettlementEarningsDestination string
const (
	SettlementEarningsDestination_IBAN         SettlementEarningsDestination = "IBAN"
	SettlementEarningsDestination_WALLET       SettlementEarningsDestination = "WALLET"
	SettlementEarningsDestination_CROSS_BORDER SettlementEarningsDestination = "CROSS_BORDER"
)

settlementEarningsDestination type declaration

type SettlementReporting

type SettlementReporting struct {
	Client *Client
}

func (*SettlementReporting) RetrievePayoutDetails

func (api *SettlementReporting) RetrievePayoutDetails(ctx context.Context, payoutDetailId int64) (*PayoutDetailResponse, error)

func (*SettlementReporting) SearchPayoutRows added in v1.0.7

type SettlementType

type SettlementType string
const (
	SettlementType_SETTLEMENT         SettlementType = "SETTLEMENT"
	SettlementType_BOUNCED_SETTLEMENT SettlementType = "BOUNCED_SETTLEMENT"
	SettlementType_WITHDRAW           SettlementType = "WITHDRAW"
)

settlement type declaration

type Status

type Status string
const (
	Status_ACTIVE  Status = "ACTIVE"
	Status_PASSIVE Status = "PASSIVE"
)

status declaration

type StoreCardRequest

type StoreCardRequest struct {
	CardHolderName string `json:"cardHolderName,omitempty"`
	CardNumber     string `json:"cardNumber,omitempty"`
	ExpireYear     string `json:"expireYear,omitempty"`
	ExpireMonth    string `json:"expireMonth,omitempty"`
	CardAlias      string `json:"cardAlias,omitempty"`
	CardUserKey    string `json:"cardUserKey,omitempty"`
}

type StoredCardResponse

type StoredCardResponse struct {
	BinNumber        *string           `json:"binNumber"`
	LastFourDigits   *string           `json:"lastFourDigits"`
	CardUserKey      *string           `json:"cardUserKey"`
	CardToken        *string           `json:"cardToken"`
	CardAlias        *string           `json:"cardAlias"`
	CardType         *CardType         `json:"cardType"`
	CardAssociation  *CardAssociation  `json:"cardAssociation"`
	CardExpiryStatus *CardExpiryStatus `json:"cardExpiryStatus"`
	CardBrand        *string           `json:"cardBrand"`
	CardBankName     *string           `json:"cardBankName"`
	CardBankId       *int64            `json:"cardBankId"`
}

type TimeResponse

type TimeResponse struct {
	time.Time
}

func (*TimeResponse) UnmarshalJSON

func (v *TimeResponse) UnmarshalJSON(b []byte) error

type TokenizedCard added in v1.0.14

type TokenizedCard struct {
	TokenizedCardType TokenizedCardType      `json:"type,omitempty"`
	Data              map[string]interface{} `json:"data,omitempty"`
}

type TokenizedCardType added in v1.0.14

type TokenizedCardType string
const (
	TokenizedCardType_APPLE_PAY TokenizedCardType = "APPLE_PAY"
)

tokenized card type declaration

type TransactionPayoutStatus

type TransactionPayoutStatus string
const (
	TransactionPayoutStatus_CANCELLED          TransactionPayoutStatus = "CANCELLED"
	TransactionPayoutStatus_NO_PAYOUT          TransactionPayoutStatus = "NO_PAYOUT"
	TransactionPayoutStatus_WAITING_FOR_PAYOUT TransactionPayoutStatus = "WAITING_FOR_PAYOUT"
	TransactionPayoutStatus_PAYOUT_STARTED     TransactionPayoutStatus = "PAYOUT_STARTED"
	TransactionPayoutStatus_PAYOUT_COMPLETED   TransactionPayoutStatus = "PAYOUT_COMPLETED"
)

transaction payout status declaration

type TransactionStatus

type TransactionStatus string
const (
	TransactionStatus_WAITING_FOR_APPROVAL TransactionStatus = "WAITING_FOR_APPROVAL"
	TransactionStatus_APPROVED             TransactionStatus = "APPROVED"
	TransactionStatus_PAYOUT_STARTED       TransactionStatus = "PAYOUT_STARTED"
)

transaction status declaration

type UpdateMemberRequest

type UpdateMemberRequest struct {
	Name                                     string                        `json:"name,omitempty"`
	Address                                  string                        `json:"address,omitempty"`
	Email                                    string                        `json:"email,omitempty"`
	PhoneNumber                              string                        `json:"phoneNumber,omitempty"`
	ContactName                              string                        `json:"contactName,omitempty"`
	ContactSurname                           string                        `json:"contactSurname,omitempty"`
	MemberType                               MemberType                    `json:"memberType,omitempty"`
	LegalCompanyTitle                        string                        `json:"legalCompanyTitle,omitempty"`
	TaxOffice                                string                        `json:"taxOffice,omitempty"`
	TaxNumber                                string                        `json:"taxNumber,omitempty"`
	Iban                                     string                        `json:"iban,omitempty"`
	SettlementEarningsDestination            SettlementEarningsDestination `json:"settlementEarningsDestination,omitempty"`
	IsBuyer                                  bool                          `json:"isBuyer,omitempty"`
	IsSubMerchant                            bool                          `json:"isSubMerchant,omitempty"`
	SubMerchantMaximumAllowedNegativeBalance float64                       `json:"subMerchantMaximumAllowedNegativeBalance,omitempty"`
}

type UpdateMemberWalletRequest added in v1.0.7

type UpdateMemberWalletRequest struct {
	NegativeAmountLimit float64 `json:"negativeAmountLimit"`
}

type UpdatePaymentTransactionRequest

type UpdatePaymentTransactionRequest struct {
	SubMerchantMemberId    int64   `json:"subMerchantMemberId,omitempty"`
	SubMerchantMemberPrice float64 `json:"subMerchantMemberPrice,omitempty"`
}

type UpdatePayoutAccountRequest added in v1.0.8

type UpdatePayoutAccountRequest struct {
	AccountType       PayoutAccountType `json:"type,omitempty"`
	ExternalAccountId string            `json:"externalAccountId,omitempty"`
}

type UpdateProductRequest

type UpdateProductRequest struct {
	Name                string   `json:"name"`
	Channel             string   `json:"channel,omitempty"`
	OrderId             string   `json:"orderId,omitempty"`
	ConversationId      string   `json:"conversationId,omitempty"`
	ExternalId          string   `json:"externalId,omitempty"`
	Stock               int      `json:"stock,omitempty"`
	Status              Status   `json:"status"`
	Price               float64  `json:"price"`
	Currency            Currency `json:"currency"`
	Description         string   `json:"description,omitempty"`
	EnabledInstallments []int    `json:"enabledInstallments"`
}

type UpdateStoredCardRequest

type UpdateStoredCardRequest struct {
	CardUserKey string `json:"cardUserKey,omitempty"`
	CardToken   string `json:"cardToken,omitempty"`
	ExpireYear  string `json:"expireYear,omitempty"`
	ExpireMonth string `json:"expireMonth,omitempty"`
}

type Void

type Void struct {
}

type Wallet

type Wallet struct {
	Client *Client
}

func (*Wallet) CancelWithdraw

func (api *Wallet) CancelWithdraw(ctx context.Context, withdrawId int64) (interface{}, error)

func (*Wallet) CreateMemberWallet added in v1.0.4

func (api *Wallet) CreateMemberWallet(ctx context.Context, memberId int64, request CreateMemberWalletRequest) (*MemberWalletResponse, error)

func (*Wallet) CreateWithdraw

func (api *Wallet) CreateWithdraw(ctx context.Context, request CreateWithdrawRequest) (*WithdrawResponse, error)

func (*Wallet) ReceiveRemittance

func (api *Wallet) ReceiveRemittance(ctx context.Context, request RemittanceRequest) (*RemittanceResponse, error)

func (*Wallet) RefundWalletTransaction added in v1.0.5

func (api *Wallet) RefundWalletTransaction(ctx context.Context, walletTransactionId int64, request RefundWalletTransactionRequest) (*RefundWalletTransactionResponse, error)

func (*Wallet) ResetMerchantMemberWalletBalance

func (api *Wallet) ResetMerchantMemberWalletBalance(ctx context.Context, request ResetMerchantMemberWalletBalanceRequest) (*MemberWalletResponse, error)

func (*Wallet) RetrieveMemberWallet

func (api *Wallet) RetrieveMemberWallet(ctx context.Context, memberId int64) (*MemberWalletResponse, error)

func (*Wallet) RetrieveMerchantMemberWallet

func (api *Wallet) RetrieveMerchantMemberWallet(ctx context.Context) (*MemberWalletResponse, error)

func (*Wallet) RetrieveRefundWalletTransactions added in v1.0.5

func (api *Wallet) RetrieveRefundWalletTransactions(ctx context.Context, walletTransactionId int64) (*DataResponse[RefundWalletTransactionResponse], error)

func (*Wallet) RetrieveRefundableAmountOfWalletTransaction

func (api *Wallet) RetrieveRefundableAmountOfWalletTransaction(ctx context.Context, walletTransactionId int64) (*RetrieveWalletTransactionRefundableAmountResponse, error)

func (*Wallet) RetrieveRemittance

func (api *Wallet) RetrieveRemittance(ctx context.Context, remittanceId int64) (*RemittanceResponse, error)

func (*Wallet) RetrieveWithdraw

func (api *Wallet) RetrieveWithdraw(ctx context.Context, withdrawId int64) (*WithdrawResponse, error)

func (*Wallet) SearchWalletTransactions

func (api *Wallet) SearchWalletTransactions(ctx context.Context, walletId int64, request SearchWalletTransactionsRequest) (*DataResponse[SearchWalletTransactionsResponse], error)

func (*Wallet) SearchWithdraws

func (api *Wallet) SearchWithdraws(ctx context.Context, request SearchWithdrawsRequest) (*DataResponse[WithdrawResponse], error)

func (*Wallet) SendRemittance

func (api *Wallet) SendRemittance(ctx context.Context, request RemittanceRequest) (*RemittanceResponse, error)

func (*Wallet) UpdateMemberWallet added in v1.0.7

func (api *Wallet) UpdateMemberWallet(ctx context.Context, memberId int64, walletId int64, request UpdateMemberWalletRequest) (*MemberWalletResponse, error)

type WalletTransaction

type WalletTransaction struct {
	Id                    *int64                 `json:"id"`
	WalletTransactionType *WalletTransactionType `json:"walletTransactionType"`
	Amount                *float64               `json:"amount"`
	WalletId              *int64                 `json:"walletId"`
}

type WalletTransactionRefundTransactionType added in v1.0.5

type WalletTransactionRefundTransactionType string
const (
	WalletTransactionRefundCardTransactionType_PAYMENT    WalletTransactionRefundTransactionType = "PAYMENT"
	WalletTransactionRefundCardTransactionType_PAYMENT_TX WalletTransactionRefundTransactionType = "PAYMENT_TX"
	WalletTransactionRefundCardTransactionType_WALLET_TX  WalletTransactionRefundTransactionType = "WALLET_TX"
)

wallet transaction refund type declaration

type WalletTransactionType

type WalletTransactionType string
const (
	WalletTransactionType_PAYMENT_REDEEM                 WalletTransactionType = "PAYMENT_REDEEM"
	WalletTransactionType_REFUND_DEPOSIT                 WalletTransactionType = "REFUND_DEPOSIT"
	WalletTransactionType_REFUND_TX_DEPOSIT              WalletTransactionType = "REFUND_TX_DEPOSIT"
	WalletTransactionType_WITHDRAW                       WalletTransactionType = "WITHDRAW"
	WalletTransactionType_CANCEL_REFUND_WALLET_TO_CARD   WalletTransactionType = "CANCEL_REFUND_WALLET_TO_CARD"
	WalletTransactionType_REFUND_WALLET_TX_TO_CARD       WalletTransactionType = "REFUND_WALLET_TX_TO_CARD"
	WalletTransactionType_REFUND_WALLET_TX_FUND_TRANSFER WalletTransactionType = "REFUND_WALLET_TX_FUND_TRANSFER"
	WalletTransactionType_CANCEL_REFUND_TO_WALLET        WalletTransactionType = "CANCEL_REFUND_TO_WALLET"
	WalletTransactionType_REFUND_TX_TO_WALLET            WalletTransactionType = "REFUND_TX_TO_WALLET"
	WalletTransactionType_MANUAL_REFUND_TX_TO_WALLET     WalletTransactionType = "MANUAL_REFUND_TX_TO_WALLET"
	WalletTransactionType_SETTLEMENT_EARNINGS            WalletTransactionType = "SETTLEMENT_EARNINGS"
	WalletTransactionType_DEPOSIT_FROM_CARD              WalletTransactionType = "DEPOSIT_FROM_CARD"
	WalletTransactionType_DEPOSIT_FROM_APM               WalletTransactionType = "DEPOSIT_FROM_APM"
	WalletTransactionType_DEPOSIT_FROM_FUND_TRANSFER     WalletTransactionType = "DEPOSIT_FROM_FUND_TRANSFER"
	WalletTransactionType_REMITTANCE                     WalletTransactionType = "REMITTANCE"
	WalletTransactionType_LOYALTY                        WalletTransactionType = "LOYALTY"
	WalletTransactionType_WITHDRAW_CANCEL                WalletTransactionType = "WITHDRAW_CANCEL"
	WalletTransactionType_MERCHANT_BALANCE_RESET         WalletTransactionType = "MERCHANT_BALANCE_RESET"
)

wallet transaction type declaration

type WebhookData added in v1.0.1

type WebhookData struct {
	EventType      WebhookEventType
	EventTime      time.Time
	EventTimestamp int64
	Status         WebhookStatus
	PayloadId      string
}

type WebhookEventType added in v1.0.1

type WebhookEventType string
const (
	WebhookEventType_API_AUTH            WebhookEventType = "API_AUTH"
	WebhookEventType_API_VERIFY_AND_AUTH WebhookEventType = "API_VERIFY_AND_AUTH"
	WebhookEventType_CHECKOUTFORM_AUTH   WebhookEventType = "CHECKOUTFORM_AUTH"
	WebhookEventType_THREEDS_VERIFY      WebhookEventType = "THREEDS_VERIFY"
	WebhookEventType_REFUND              WebhookEventType = "REFUND"
	WebhookEventType_REFUND_TX           WebhookEventType = "REFUND_TX"
	WebhookEventType_PAYOUT_COMPLETED    WebhookEventType = "PAYOUT_COMPLETED"
	WebhookEventType_AUTOPILOT           WebhookEventType = "AUTOPILOT"
	WebhookEventType_WALLET_CREATED      WebhookEventType = "WALLET_CREATED"
	WebhookEventType_WALLET_TX_CREATED   WebhookEventType = "WALLET_TX_CREATED"
	WebhookEventType_BNPL_NOTIFICATION   WebhookEventType = "BNPL_NOTIFICATION"
)

type WebhookStatus added in v1.0.1

type WebhookStatus string
const (
	WebhookStatus_SUCCESS WebhookStatus = "SUCCESS"
	WebhookStatus_FAILURE WebhookStatus = "FAILURE"
)

type WithdrawResponse

type WithdrawResponse struct {
	Id           *int64                   `json:"id"`
	CreatedDate  *TimeResponse            `json:"createdDate"`
	Status       *Status                  `json:"status"`
	MemberId     *int64                   `json:"memberId"`
	PayoutId     *int64                   `json:"payoutId"`
	Price        *float64                 `json:"price"`
	Description  *string                  `json:"description"`
	Currency     *Currency                `json:"currency"`
	PayoutStatus *TransactionPayoutStatus `json:"payoutStatus"`
}

Jump to

Keyboard shortcuts

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