cashfree_pg

package module
v4.0.9 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

README

Cashfree PG Go SDK

GitHub Discord GitHub last commit (branch) GitHub release (with filter) GitHub forks Coverage Status GoDoc

The Cashfree PG Go SDK offers a convenient solution to access Cashfree PG APIs from a server-side Go applications.

Documentation

Cashfree's PG API Documentation - https://docs.cashfree.com/reference/pg-new-apis-endpoint

Learn and understand payment gateway workflows at Cashfree Payments here

Try out our interactive guides at Cashfree Dev Studio !

Getting Started

Installation
go get github.com/cashfree/cashfree-pg/v4
Configuration
import (
    cashfree "github.com/cashfree/cashfree-pg/v4"
)

clientId := "<x-client-id>"
clientSecret := "<x-client-secret>"
cashfree.XClientId = &clientId
cashfree.XClientSecret = &clientSecret
cashfree.XEnvironment = cashfree.SANDBOX

Generate your API keys (x-client-id , x-client-secret) from Cashfree Merchant Dashboard

Basic Usage

Create Order

returnUrl := "https://www.cashfree.com/devstudio/preview/pg/web/checkout?order_id={order_id}"

request := cashfree.CreateOrderRequest{
	OrderAmount:   1.0,
	OrderCurrency: "INR",
	CustomerDetails: cashfree.CustomerDetails{
		CustomerId:    "walterwNrcMi",
		CustomerPhone: "9999999999",
	},
	OrderMeta: &cashfree.OrderMeta{
		ReturnUrl: &returnUrl,
	},
}

version := "2022-09-01"

response, httpResponse, err := cashfree.PGCreateOrder(&version, &request, nil, nil, nil)
if err != nil {
	fmt.Println(err.Error())
} else {
	fmt.Println(httpResponse.StatusCode)
	fmt.Println(response)
}

Get Order

version := "2022-09-01"
response, httpResponse, err := cashfree.PGFetchOrder(&version, "<order_id>", nil, nil, nil)
if err != nil {
	fmt.Println(err.Error())
} else {
	fmt.Println(httpResponse.StatusCode)
	fmt.Println(response)
}

Supported Resources

Licence

Apache Licensed. See LICENSE.md for more details

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	XPartnerMerchantId    *string
	XClientId             *string
	XClientSignature      *string
	XClientSecret         *string
	XPartnerApiKey        *string
	XEnvironment          CFEnvironment = SANDBOX
	XEnableErrorAnalytics               = true
	XApiVersion                         = "2023-08-01"
)
View Source
var (
	// ContextAPIKeys takes a string apikey as authentication for the request
	ContextAPIKeys = contextKey("apiKeys")

	// ContextServerIndex uses a server configuration from the index.
	ContextServerIndex = contextKey("serverIndex")

	// ContextOperationServerIndices uses a server configuration from the index mapping.
	ContextOperationServerIndices = contextKey("serverOperationIndices")

	// ContextServerVariables overrides a server configuration variables.
	ContextServerVariables = contextKey("serverVariables")

	// ContextOperationServerVariables overrides a server configuration variables using operation specific values.
	ContextOperationServerVariables = contextKey("serverOperationVariables")
)
View Source
var AllowedOfferTypeEnumValues = []OfferType{
	"DISCOUNT",
	"CASHBACK",
	"DISCOUNT_AND_CASHBACK",
	"NO_COST_EMI",
}

All allowed values of OfferType enum

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

func CaptureError

func CaptureError(api string)

func IsNil

func IsNil(i interface{}) bool

IsNil checks if an input is nil

func PtrBool

func PtrBool(v bool) *bool

PtrBool is a helper routine that returns a pointer to given boolean value.

func PtrFloat32

func PtrFloat32(v float32) *float32

PtrFloat32 is a helper routine that returns a pointer to given float value.

func PtrFloat64

func PtrFloat64(v float64) *float64

PtrFloat64 is a helper routine that returns a pointer to given float value.

func PtrInt

func PtrInt(v int) *int

PtrInt is a helper routine that returns a pointer to given integer value.

func PtrInt32

func PtrInt32(v int32) *int32

PtrInt32 is a helper routine that returns a pointer to given integer value.

func PtrInt64

func PtrInt64(v int64) *int64

PtrInt64 is a helper routine that returns a pointer to given integer value.

func PtrString

func PtrString(v string) *string

PtrString is a helper routine that returns a pointer to given string value.

func PtrTime

func PtrTime(v time.Time) *time.Time

PtrTime is helper routine that returns a pointer to given Time value.

func SetupSentry

func SetupSentry(environment CFEnvironment)

Types

type APIClient

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

APIClient manages communication with the Cashfree Payment Gateway APIs API v2023-08-01 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) GetConfig

func (c *APIClient) GetConfig() *Configuration

Allow modification of underlying config for alternate implementations and testing Caution: modifying the configuration while live can cause data races and potentially unwanted behavior

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type APIResponse

type APIResponse struct {
	*http.Response `json:"-"`
	Message        string `json:"message,omitempty"`
	// Operation is the name of the OpenAPI operation.
	Operation string `json:"operation,omitempty"`
	// RequestURL is the request URL. This value is always available, even if the
	// embedded *http.Response is nil.
	RequestURL string `json:"url,omitempty"`
	// Method is the HTTP method used for the request.  This value is always
	// available, even if the embedded *http.Response is nil.
	Method string `json:"method,omitempty"`
	// Payload holds the contents of the response body (which may be nil or empty).
	// This is provided here as the raw response.Body() reader will have already
	// been drained.
	Payload []byte `json:"-"`
}

APIResponse stores the API response returned by the server.

func NewAPIResponse

func NewAPIResponse(r *http.Response) *APIResponse

NewAPIResponse returns a new APIResponse object.

func NewAPIResponseWithError

func NewAPIResponseWithError(errorMessage string) *APIResponse

NewAPIResponseWithError returns a new APIResponse object with the provided error message.

type AdjustVendorBalanceRequest added in v4.0.8

type AdjustVendorBalanceRequest struct {
	// Mention to whom you want to transfer the on demand balance. Possible values - MERCHANT, VENDOR.
	TransferFrom string `json:"transfer_from"`
	// Mention the type of transfer. Possible values: ON_DEMAND.
	TransferType string `json:"transfer_type"`
	// Mention the on demand transfer amount.
	TransferAmount float32 `json:"transfer_amount"`
	// Mention remarks if any for the on demand transfer.
	Remark *string `json:"remark,omitempty"`
	// Provide additional data fields using tags.
	Tags map[string]interface{} `json:"tags,omitempty"`
}

AdjustVendorBalanceRequest Adjust Vendor Balance Request

func (AdjustVendorBalanceRequest) MarshalJSON added in v4.0.8

func (o AdjustVendorBalanceRequest) MarshalJSON() ([]byte, error)

func (AdjustVendorBalanceRequest) ToMap added in v4.0.8

func (o AdjustVendorBalanceRequest) ToMap() (map[string]interface{}, error)

type AdjustVendorBalanceResponse added in v4.0.8

type AdjustVendorBalanceResponse struct {
	SettlementId    *float32         `json:"settlement_id,omitempty"`
	TransferDetails *TransferDetails `json:"transfer_details,omitempty"`
	Balances        *BalanceDetails  `json:"balances,omitempty"`
	Charges         *ChargesDetails  `json:"charges,omitempty"`
}

AdjustVendorBalanceResponse Adjust Vendor Balance Response

func PGESCreateOnDemandTransfer added in v4.0.8

func PGESCreateOnDemandTransfer(xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, adjustVendorBalanceRequest *AdjustVendorBalanceRequest, httpClient *http.Client) (*AdjustVendorBalanceResponse, *http.Response, error)

Execute executes the request

@return AdjustVendorBalanceResponse

func PGESCreateOnDemandTransferWithContext added in v4.0.8

func PGESCreateOnDemandTransferWithContext(ctx context.Context, xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, adjustVendorBalanceRequest *AdjustVendorBalanceRequest, httpClient *http.Client) (*AdjustVendorBalanceResponse, *http.Response, error)

With Context Execute executes the request

@return AdjustVendorBalanceResponse

func (AdjustVendorBalanceResponse) MarshalJSON added in v4.0.8

func (o AdjustVendorBalanceResponse) MarshalJSON() ([]byte, error)

func (AdjustVendorBalanceResponse) ToMap added in v4.0.8

func (o AdjustVendorBalanceResponse) ToMap() (map[string]interface{}, error)

type ApiError

type ApiError struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	// api_error
	Type *string `json:"type,omitempty"`
}

ApiError Error at cashfree's server

func (ApiError) MarshalJSON

func (o ApiError) MarshalJSON() ([]byte, error)

func (ApiError) ToMap

func (o ApiError) ToMap() (map[string]interface{}, error)

type ApiError404

type ApiError404 struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	// invalid_request_error
	Type *string `json:"type,omitempty"`
}

ApiError404 Error when resource requested is not found

func (ApiError404) MarshalJSON

func (o ApiError404) MarshalJSON() ([]byte, error)

func (ApiError404) ToMap

func (o ApiError404) ToMap() (map[string]interface{}, error)

type ApiError409

type ApiError409 struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	// invalid_request_error
	Type *string `json:"type,omitempty"`
}

ApiError409 duplicate request

func (ApiError409) MarshalJSON

func (o ApiError409) MarshalJSON() ([]byte, error)

func (ApiError409) ToMap

func (o ApiError409) ToMap() (map[string]interface{}, error)

type ApiError502

type ApiError502 struct {
	Message *string `json:"message,omitempty"`
	// `bank_processing_failure` will be returned here to denote failure at bank.
	Code *string `json:"code,omitempty"`
	// api_error
	Type *string `json:"type,omitempty"`
}

ApiError502 Error when there is error at partner bank

func (ApiError502) MarshalJSON

func (o ApiError502) MarshalJSON() ([]byte, error)

func (ApiError502) ToMap

func (o ApiError502) ToMap() (map[string]interface{}, error)

type App

type App struct {
	// Specify the channel through which the payment must be processed.
	Channel string `json:"channel"`
	// Specify the provider through which the payment must be processed.
	Provider string `json:"provider"`
	// Customer phone number associated with a wallet for payment.
	Phone string `json:"phone"`
}

App App payment method

func (App) MarshalJSON

func (o App) MarshalJSON() ([]byte, error)

func (App) ToMap

func (o App) ToMap() (map[string]interface{}, error)

type AppPaymentMethod

type AppPaymentMethod struct {
	App App `json:"app"`
}

AppPaymentMethod App payment method

func (AppPaymentMethod) MarshalJSON

func (o AppPaymentMethod) MarshalJSON() ([]byte, error)

func (AppPaymentMethod) ToMap

func (o AppPaymentMethod) ToMap() (map[string]interface{}, error)

type AuthenticationError

type AuthenticationError struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	// authentication_error
	Type *string `json:"type,omitempty"`
}

AuthenticationError Error if api keys are wrong

func (AuthenticationError) MarshalJSON

func (o AuthenticationError) MarshalJSON() ([]byte, error)

func (AuthenticationError) ToMap

func (o AuthenticationError) ToMap() (map[string]interface{}, error)

type AuthorizationInPaymentsEntity

type AuthorizationInPaymentsEntity struct {
	// One of CAPTURE or VOID
	Action *string `json:"action,omitempty"`
	// One of SUCCESS or PENDING
	Status *string `json:"status,omitempty"`
	// The captured amount for this authorization request
	CapturedAmount *float32 `json:"captured_amount,omitempty"`
	// Start time of this authorization hold (only for UPI)
	StartTime *string `json:"start_time,omitempty"`
	// End time of this authorization hold (only for UPI)
	EndTime *string `json:"end_time,omitempty"`
	// Approve by time as passed in the authorization request (only for UPI)
	ApproveBy *string `json:"approve_by,omitempty"`
	// CAPTURE or VOID reference number based on action
	ActionReference *string `json:"action_reference,omitempty"`
	// Time of action (CAPTURE or VOID)
	ActionTime *string `json:"action_time,omitempty"`
}

AuthorizationInPaymentsEntity If preauth enabled for account you will get this body

func (AuthorizationInPaymentsEntity) MarshalJSON

func (o AuthorizationInPaymentsEntity) MarshalJSON() ([]byte, error)

func (AuthorizationInPaymentsEntity) ToMap

func (o AuthorizationInPaymentsEntity) ToMap() (map[string]interface{}, error)

type AuthorizeOrderRequest

type AuthorizeOrderRequest struct {
	// Type of authorization to run. Can be one of 'CAPTURE' , 'VOID'
	Action *string `json:"action,omitempty"`
	// The amount if you are running a 'CAPTURE'
	Amount *float32 `json:"amount,omitempty"`
}

AuthorizeOrderRequest Request to capture or void transaction

func (AuthorizeOrderRequest) MarshalJSON

func (o AuthorizeOrderRequest) MarshalJSON() ([]byte, error)

func (AuthorizeOrderRequest) ToMap

func (o AuthorizeOrderRequest) ToMap() (map[string]interface{}, error)

type BadRequestError

type BadRequestError struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	Type    *string `json:"type,omitempty"`
}

BadRequestError Invalid request received from client

func (BadRequestError) MarshalJSON

func (o BadRequestError) MarshalJSON() ([]byte, error)

func (BadRequestError) ToMap

func (o BadRequestError) ToMap() (map[string]interface{}, error)

type BalanceDetails added in v4.0.8

type BalanceDetails struct {
	MerchantId        *float32 `json:"merchant_id,omitempty"`
	VendorId          *string  `json:"vendor_id,omitempty"`
	MerchantUnsettled *float32 `json:"merchant_unsettled,omitempty"`
	VendorUnsettled   *float32 `json:"vendor_unsettled,omitempty"`
}

BalanceDetails struct for BalanceDetails

func (BalanceDetails) MarshalJSON added in v4.0.8

func (o BalanceDetails) MarshalJSON() ([]byte, error)

func (BalanceDetails) ToMap added in v4.0.8

func (o BalanceDetails) ToMap() (map[string]interface{}, error)

type BankDetails added in v4.0.8

type BankDetails struct {
	AccountNumber *string `json:"account_number,omitempty"`
	AccountHolder *string `json:"account_holder,omitempty"`
	Ifsc          *string `json:"ifsc,omitempty"`
}

BankDetails struct for BankDetails

func (BankDetails) MarshalJSON added in v4.0.8

func (o BankDetails) MarshalJSON() ([]byte, error)

func (BankDetails) ToMap added in v4.0.8

func (o BankDetails) ToMap() (map[string]interface{}, error)

type Banktransfer added in v4.0.8

type Banktransfer struct {
	// The channel for cardless EMI is always `link`
	Channel *string `json:"channel,omitempty"`
}

Banktransfer Banktransfer payment method

func (Banktransfer) MarshalJSON added in v4.0.8

func (o Banktransfer) MarshalJSON() ([]byte, error)

func (Banktransfer) ToMap added in v4.0.8

func (o Banktransfer) ToMap() (map[string]interface{}, error)

type BanktransferPaymentMethod added in v4.0.8

type BanktransferPaymentMethod struct {
	Banktransfer Banktransfer `json:"banktransfer"`
}

BanktransferPaymentMethod banktransfer payment method

func (BanktransferPaymentMethod) MarshalJSON added in v4.0.8

func (o BanktransferPaymentMethod) MarshalJSON() ([]byte, error)

func (BanktransferPaymentMethod) ToMap added in v4.0.8

func (o BanktransferPaymentMethod) ToMap() (map[string]interface{}, error)

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type CFEnvironment

type CFEnvironment int
const (
	SANDBOX    CFEnvironment = 0
	PRODUCTION CFEnvironment = 1
)

type Card

type Card struct {
	// The channel for card payments can be \"link\" or \"post\". Post is used for seamless OTP payments where merchant captures OTP on their own page.
	Channel string `json:"channel"`
	// Customer card number for plain card transactions. Token pan number for tokenized card transactions.
	CardNumber *string `json:"card_number,omitempty"`
	// Customer name mentioned on the card.
	CardHolderName *string `json:"card_holder_name,omitempty"`
	// Card expiry month for plain card transactions. Token expiry month for tokenized card transactions.
	CardExpiryMm *string `json:"card_expiry_mm,omitempty"`
	// Card expiry year for plain card transactions. Token expiry year for tokenized card transactions.
	CardExpiryYy *string `json:"card_expiry_yy,omitempty"`
	// CVV mentioned on the card.
	CardCvv *string `json:"card_cvv,omitempty"`
	// instrument id of saved card. Required only to make payment using saved instrument.
	InstrumentId *string `json:"instrument_id,omitempty"`
	// cryptogram received from card network. Required only for tokenized card transactions.
	Cryptogram *string `json:"cryptogram,omitempty"`
	// TRID issued by card networks. Required only for tokenized card transactions.
	TokenRequestorId *string `json:"token_requestor_id,omitempty"`
	// Token Reference Id provided by Diners for Guest Checkout Token.  Required only for Diners cards.
	TokenReferenceId *string `json:"token_reference_id,omitempty"`
	TokenType        *string `json:"token_type,omitempty"`
	// last 4 digits of original card number. Required only for tokenized card transactions.
	CardDisplay *string `json:"card_display,omitempty"`
	// Card alias as returned by Cashfree Vault API.
	CardAlias *string `json:"card_alias,omitempty"`
	// One of [\"Kotak\", \"ICICI\", \"RBL\", \"BOB\", \"Standard Chartered\"]. Card bank name, required for EMI payments. This is the bank user has selected for EMI
	CardBankName *string `json:"card_bank_name,omitempty"`
	// EMI tenure selected by the user
	EmiTenure *int32 `json:"emi_tenure,omitempty"`
}

Card Card Payment method

func (Card) MarshalJSON

func (o Card) MarshalJSON() ([]byte, error)

func (Card) ToMap

func (o Card) ToMap() (map[string]interface{}, error)

type CardEMI

type CardEMI struct {
	// The channel for card payments will always be \"link\"
	Channel string `json:"channel"`
	// Customer card number.
	CardNumber string `json:"card_number"`
	// Customer name mentioned on the card.
	CardHolderName *string `json:"card_holder_name,omitempty"`
	// Card expiry month.
	CardExpiryMm string `json:"card_expiry_mm"`
	// Card expiry year.
	CardExpiryYy string `json:"card_expiry_yy"`
	// CVV mentioned on the card.
	CardCvv string `json:"card_cvv"`
	// Card alias as returned by Cashfree Vault API
	CardAlias *string `json:"card_alias,omitempty"`
	// Card bank name, required for EMI payments. This is the bank user has selected for EMI. One of [\"hdfc, \"kotak\", \"icici\", \"rbl\", \"bob\", \"standard chartered\", \"axis\", \"au\", \"yes\", \"sbi\", \"fed\", \"hsbc\", \"citi\", \"amex\"]
	CardBankName string `json:"card_bank_name"`
	// EMI tenure selected by the user
	EmiTenure int32 `json:"emi_tenure"`
}

CardEMI Payment method for card emi

func (CardEMI) MarshalJSON

func (o CardEMI) MarshalJSON() ([]byte, error)

func (CardEMI) ToMap

func (o CardEMI) ToMap() (map[string]interface{}, error)

type CardEMIPaymentMethod

type CardEMIPaymentMethod struct {
	Emi CardEMI `json:"emi"`
}

CardEMIPaymentMethod Complete card emi payment method

func (CardEMIPaymentMethod) MarshalJSON

func (o CardEMIPaymentMethod) MarshalJSON() ([]byte, error)

func (CardEMIPaymentMethod) ToMap

func (o CardEMIPaymentMethod) ToMap() (map[string]interface{}, error)

type CardOffer

type CardOffer struct {
	Type []string `json:"type"`
	// Bank Name of Card.
	BankName   string   `json:"bank_name"`
	SchemeName []string `json:"scheme_name"`
}

CardOffer struct for CardOffer

func (CardOffer) MarshalJSON

func (o CardOffer) MarshalJSON() ([]byte, error)

func (CardOffer) ToMap

func (o CardOffer) ToMap() (map[string]interface{}, error)

type CardPaymentMethod

type CardPaymentMethod struct {
	Card Card `json:"card"`
}

CardPaymentMethod The card payment object is used to make payment using either plain card number, saved card instrument id or using cryptogram

func (CardPaymentMethod) MarshalJSON

func (o CardPaymentMethod) MarshalJSON() ([]byte, error)

func (CardPaymentMethod) ToMap

func (o CardPaymentMethod) ToMap() (map[string]interface{}, error)

type CardlessEMI

type CardlessEMI struct {
	// The channel for cardless EMI is always `link`
	Channel *string `json:"channel,omitempty"`
	// One of [`flexmoney`, `zestmoney`, `hdfc`, `icici`, `cashe`, `idfc`, `kotak`]
	Provider *string `json:"provider,omitempty"`
	// Customers phone number for this payment instrument. If the customer is not eligible you will receive a 400 error with type as 'invalid_request_error' and code as 'invalid_request_error'
	Phone *string `json:"phone,omitempty"`
	// EMI tenure for the selected provider. This is mandatory when provider is one of [`hdfc`, `icici`, `cashe`, `idfc`, `kotak`]
	EmiTenure *int32 `json:"emi_tenure,omitempty"`
}

CardlessEMI Request body for cardless emi payment method

func (CardlessEMI) MarshalJSON

func (o CardlessEMI) MarshalJSON() ([]byte, error)

func (CardlessEMI) ToMap

func (o CardlessEMI) ToMap() (map[string]interface{}, error)

type CardlessEMIEntity

type CardlessEMIEntity struct {
	PaymentMethod *string         `json:"payment_method,omitempty"`
	EmiPlans      []EMIPlansArray `json:"emi_plans,omitempty"`
}

CardlessEMIEntity cardless EMI object

func (CardlessEMIEntity) MarshalJSON

func (o CardlessEMIEntity) MarshalJSON() ([]byte, error)

func (CardlessEMIEntity) ToMap

func (o CardlessEMIEntity) ToMap() (map[string]interface{}, error)

type CardlessEMIPaymentMethod

type CardlessEMIPaymentMethod struct {
	CardlessEmi CardlessEMI `json:"cardless_emi"`
}

CardlessEMIPaymentMethod cardless EMI payment method object

func (CardlessEMIPaymentMethod) MarshalJSON

func (o CardlessEMIPaymentMethod) MarshalJSON() ([]byte, error)

func (CardlessEMIPaymentMethod) ToMap

func (o CardlessEMIPaymentMethod) ToMap() (map[string]interface{}, error)

type CardlessEMIQueries

type CardlessEMIQueries struct {
	// OrderId of the order. Either of `order_id` or `amount` is mandatory.
	OrderId *string `json:"order_id,omitempty"`
	// Amount of the order. OrderId of the order. Either of `order_id` or `amount` is mandatory.
	Amount          *float32                    `json:"amount,omitempty"`
	CustomerDetails *CustomerDetailsCardlessEMI `json:"customer_details,omitempty"`
}

CardlessEMIQueries cardless EMI query object

func (CardlessEMIQueries) MarshalJSON

func (o CardlessEMIQueries) MarshalJSON() ([]byte, error)

func (CardlessEMIQueries) ToMap

func (o CardlessEMIQueries) ToMap() (map[string]interface{}, error)

type CashbackDetails

type CashbackDetails struct {
	// Type of discount
	CashbackType string `json:"cashback_type"`
	// Value of Discount.
	CashbackValue float32 `json:"cashback_value"`
	// Maximum Value of Cashback allowed.
	MaxCashbackAmount float32 `json:"max_cashback_amount"`
}

CashbackDetails Cashback detail boject

func (CashbackDetails) MarshalJSON

func (o CashbackDetails) MarshalJSON() ([]byte, error)

func (CashbackDetails) ToMap

func (o CashbackDetails) ToMap() (map[string]interface{}, error)

type ChargesDetails added in v4.0.8

type ChargesDetails struct {
	ServiceCharges *float32 `json:"service_charges,omitempty"`
	ServiceTax     *float32 `json:"service_tax,omitempty"`
	Amount         *float32 `json:"amount,omitempty"`
	BilledTo       *string  `json:"billed_to,omitempty"`
	IsPostpaid     *bool    `json:"is_postpaid,omitempty"`
}

ChargesDetails struct for ChargesDetails

func (ChargesDetails) MarshalJSON added in v4.0.8

func (o ChargesDetails) MarshalJSON() ([]byte, error)

func (ChargesDetails) ToMap added in v4.0.8

func (o ChargesDetails) ToMap() (map[string]interface{}, error)

type Configuration

type Configuration struct {
	Host             string            `json:"host,omitempty"`
	Scheme           string            `json:"scheme,omitempty"`
	DefaultHeader    map[string]string `json:"defaultHeader,omitempty"`
	UserAgent        string            `json:"userAgent,omitempty"`
	Debug            bool              `json:"debug,omitempty"`
	Servers          ServerConfigurations
	OperationServers map[string]ServerConfigurations
	HTTPClient       *http.Client
}

Configuration stores the configuration of the API client

func NewConfiguration

func NewConfiguration() *Configuration

NewConfiguration returns a new Configuration object

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

AddDefaultHeader adds a new HTTP header to the default header in the request

func (*Configuration) ServerURL

func (c *Configuration) ServerURL(index int, variables map[string]string) (string, error)

ServerURL returns URL based on server settings

func (*Configuration) ServerURLWithContext

func (c *Configuration) ServerURLWithContext(ctx context.Context, endpoint string) (string, error)

ServerURLWithContext returns a new server URL given an endpoint

type CreateCustomerRequest

type CreateCustomerRequest struct {
	// Customer Phone Number
	CustomerPhone string `json:"customer_phone"`
	// Customer Email
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer Name
	CustomerName *string `json:"customer_name,omitempty"`
}

CreateCustomerRequest Request body to create a customer at cashfree

func (CreateCustomerRequest) MarshalJSON

func (o CreateCustomerRequest) MarshalJSON() ([]byte, error)

func (CreateCustomerRequest) ToMap

func (o CreateCustomerRequest) ToMap() (map[string]interface{}, error)

type CreateLinkRequest

type CreateLinkRequest struct {
	// Unique Identifier (provided by merchant) for the Link. Alphanumeric and only - and _ allowed (50 character limit). Use this for other link-related APIs.
	LinkId string `json:"link_id"`
	// Amount to be collected using this link. Provide upto two decimals for paise.
	LinkAmount float64 `json:"link_amount"`
	// Currency for the payment link. Default is INR. Contact care@cashfree.com to enable new currencies.
	LinkCurrency string `json:"link_currency"`
	// A brief description for which payment must be collected. This is shown to the customer.
	LinkPurpose     string                    `json:"link_purpose"`
	CustomerDetails LinkCustomerDetailsEntity `json:"customer_details"`
	// If \"true\", customer can make partial payments for the link.
	LinkPartialPayments *bool `json:"link_partial_payments,omitempty"`
	// Minimum amount in first installment that needs to be paid by the customer if partial payments are enabled. This should be less than the link_amount.
	LinkMinimumPartialAmount *float64 `json:"link_minimum_partial_amount,omitempty"`
	// Time after which the link expires. Customers will not be able to make the payment beyond the time specified here. You can provide them in a valid ISO 8601 time format. Default is 30 days.
	LinkExpiryTime *string           `json:"link_expiry_time,omitempty"`
	LinkNotify     *LinkNotifyEntity `json:"link_notify,omitempty"`
	// If \"true\", reminders will be sent to customers for collecting payments.
	LinkAutoReminders *bool `json:"link_auto_reminders,omitempty"`
	// Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs
	LinkNotes *map[string]string      `json:"link_notes,omitempty"`
	LinkMeta  *LinkMetaResponseEntity `json:"link_meta,omitempty"`
}

CreateLinkRequest Request paramenters for link creation

func (CreateLinkRequest) MarshalJSON

func (o CreateLinkRequest) MarshalJSON() ([]byte, error)

func (CreateLinkRequest) ToMap

func (o CreateLinkRequest) ToMap() (map[string]interface{}, error)

type CreateOfferRequest

type CreateOfferRequest struct {
	OfferMeta        OfferMeta        `json:"offer_meta"`
	OfferTnc         OfferTnc         `json:"offer_tnc"`
	OfferDetails     OfferDetails     `json:"offer_details"`
	OfferValidations OfferValidations `json:"offer_validations"`
}

CreateOfferRequest create offer backend request object

func (CreateOfferRequest) MarshalJSON

func (o CreateOfferRequest) MarshalJSON() ([]byte, error)

func (CreateOfferRequest) ToMap

func (o CreateOfferRequest) ToMap() (map[string]interface{}, error)

type CreateOrderRequest

type CreateOrderRequest struct {
	// Order identifier present in your system. Alphanumeric, '_' and '-' only
	OrderId *string `json:"order_id,omitempty"`
	// Bill amount for the order. Provide upto two decimals. 10.15 means Rs 10 and 15 paisa
	OrderAmount float64 `json:"order_amount"`
	// Currency for the order. INR if left empty. Contact care@cashfree.com to enable new currencies.
	OrderCurrency   string           `json:"order_currency"`
	CustomerDetails CustomerDetails  `json:"customer_details"`
	Terminal        *TerminalDetails `json:"terminal,omitempty"`
	OrderMeta       *OrderMeta       `json:"order_meta,omitempty"`
	// Time after which the order expires. Customers will not be able to make the payment beyond the time specified here. We store timestamps in IST, but you can provide them in a valid ISO 8601 time format. Example 2021-07-02T10:20:12+05:30 for IST, 2021-07-02T10:20:12Z for UTC
	OrderExpiryTime *string `json:"order_expiry_time,omitempty"`
	// Order note for reference.
	OrderNote *string `json:"order_note,omitempty"`
	// Custom Tags in thr form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added
	OrderTags *map[string]string `json:"order_tags,omitempty"`
	// If you have Easy split enabled in your Cashfree account then you can use this option to split the order amount.
	OrderSplits []VendorSplit `json:"order_splits,omitempty"`
}

CreateOrderRequest Request body to create an order at cashfree

func (CreateOrderRequest) MarshalJSON

func (o CreateOrderRequest) MarshalJSON() ([]byte, error)

func (CreateOrderRequest) ToMap

func (o CreateOrderRequest) ToMap() (map[string]interface{}, error)

type CreateOrderRequestOrderMeta

type CreateOrderRequestOrderMeta struct {
	// The URL to which user will be redirected to after the payment on bank OTP page. Maximum length: 250. The return_url must contain placeholder {order_id}. When redirecting the customer back to the return url from the bank’s OTP page, Cashfree will replace this placeholder with the actual value for that order.
	ReturnUrl NullableString `json:"return_url,omitempty"`
	// Notification URL for server-server communication. Useful when user's connection drops while re-directing. NotifyUrl should be an https URL. Maximum length: 250.
	NotifyUrl NullableString `json:"notify_url,omitempty"`
	// Allowed payment modes for this order. Pass comma-separated values among following options - \"cc\", \"dc\", \"ccc\", \"ppc\",\"nb\",\"upi\",\"paypal\",\"app\",\"paylater\",\"cardlessemi\",\"dcemi\",\"ccemi\",\"banktransfer\". Leave it blank to show all available payment methods
	PaymentMethods interface{} `json:"payment_methods,omitempty"`
}

CreateOrderRequestOrderMeta struct for CreateOrderRequestOrderMeta

func NewCreateOrderRequestOrderMeta

func NewCreateOrderRequestOrderMeta() *CreateOrderRequestOrderMeta

NewCreateOrderRequestOrderMeta instantiates a new CreateOrderRequestOrderMeta object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed

func NewCreateOrderRequestOrderMetaWithDefaults

func NewCreateOrderRequestOrderMetaWithDefaults() *CreateOrderRequestOrderMeta

NewCreateOrderRequestOrderMetaWithDefaults instantiates a new CreateOrderRequestOrderMeta object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set

func (*CreateOrderRequestOrderMeta) GetNotifyUrl

func (o *CreateOrderRequestOrderMeta) GetNotifyUrl() string

GetNotifyUrl returns the NotifyUrl field value if set, zero value otherwise (both if not set or set to explicit null).

func (*CreateOrderRequestOrderMeta) GetNotifyUrlOk

func (o *CreateOrderRequestOrderMeta) GetNotifyUrlOk() (*string, bool)

GetNotifyUrlOk returns a tuple with the NotifyUrl field value if set, nil otherwise and a boolean to check if the value has been set. NOTE: If the value is an explicit nil, `nil, true` will be returned

func (*CreateOrderRequestOrderMeta) GetPaymentMethods

func (o *CreateOrderRequestOrderMeta) GetPaymentMethods() interface{}

GetPaymentMethods returns the PaymentMethods field value if set, zero value otherwise (both if not set or set to explicit null).

func (*CreateOrderRequestOrderMeta) GetPaymentMethodsOk

func (o *CreateOrderRequestOrderMeta) GetPaymentMethodsOk() (*interface{}, bool)

GetPaymentMethodsOk returns a tuple with the PaymentMethods field value if set, nil otherwise and a boolean to check if the value has been set. NOTE: If the value is an explicit nil, `nil, true` will be returned

func (*CreateOrderRequestOrderMeta) GetReturnUrl

func (o *CreateOrderRequestOrderMeta) GetReturnUrl() string

GetReturnUrl returns the ReturnUrl field value if set, zero value otherwise (both if not set or set to explicit null).

func (*CreateOrderRequestOrderMeta) GetReturnUrlOk

func (o *CreateOrderRequestOrderMeta) GetReturnUrlOk() (*string, bool)

GetReturnUrlOk returns a tuple with the ReturnUrl field value if set, nil otherwise and a boolean to check if the value has been set. NOTE: If the value is an explicit nil, `nil, true` will be returned

func (*CreateOrderRequestOrderMeta) HasNotifyUrl

func (o *CreateOrderRequestOrderMeta) HasNotifyUrl() bool

HasNotifyUrl returns a boolean if a field has been set.

func (*CreateOrderRequestOrderMeta) HasPaymentMethods

func (o *CreateOrderRequestOrderMeta) HasPaymentMethods() bool

HasPaymentMethods returns a boolean if a field has been set.

func (*CreateOrderRequestOrderMeta) HasReturnUrl

func (o *CreateOrderRequestOrderMeta) HasReturnUrl() bool

HasReturnUrl returns a boolean if a field has been set.

func (CreateOrderRequestOrderMeta) MarshalJSON

func (o CreateOrderRequestOrderMeta) MarshalJSON() ([]byte, error)

func (*CreateOrderRequestOrderMeta) SetNotifyUrl

func (o *CreateOrderRequestOrderMeta) SetNotifyUrl(v string)

SetNotifyUrl gets a reference to the given NullableString and assigns it to the NotifyUrl field.

func (*CreateOrderRequestOrderMeta) SetNotifyUrlNil

func (o *CreateOrderRequestOrderMeta) SetNotifyUrlNil()

SetNotifyUrlNil sets the value for NotifyUrl to be an explicit nil

func (*CreateOrderRequestOrderMeta) SetPaymentMethods

func (o *CreateOrderRequestOrderMeta) SetPaymentMethods(v interface{})

SetPaymentMethods gets a reference to the given interface{} and assigns it to the PaymentMethods field.

func (*CreateOrderRequestOrderMeta) SetReturnUrl

func (o *CreateOrderRequestOrderMeta) SetReturnUrl(v string)

SetReturnUrl gets a reference to the given NullableString and assigns it to the ReturnUrl field.

func (*CreateOrderRequestOrderMeta) SetReturnUrlNil

func (o *CreateOrderRequestOrderMeta) SetReturnUrlNil()

SetReturnUrlNil sets the value for ReturnUrl to be an explicit nil

func (CreateOrderRequestOrderMeta) ToMap

func (o CreateOrderRequestOrderMeta) ToMap() (map[string]interface{}, error)

func (*CreateOrderRequestOrderMeta) UnsetNotifyUrl

func (o *CreateOrderRequestOrderMeta) UnsetNotifyUrl()

UnsetNotifyUrl ensures that no value is present for NotifyUrl, not even an explicit nil

func (*CreateOrderRequestOrderMeta) UnsetReturnUrl

func (o *CreateOrderRequestOrderMeta) UnsetReturnUrl()

UnsetReturnUrl ensures that no value is present for ReturnUrl, not even an explicit nil

type CreateOrderRequestTerminal

type CreateOrderRequestTerminal struct {
	// date time at which terminal is added
	AddedOn *string `json:"added_on,omitempty"`
	// cashfree terminal id
	CfTerminalId *int32 `json:"cf_terminal_id,omitempty"`
	// last instant when this terminal was updated
	LastUpdatedOn *string `json:"last_updated_on,omitempty"`
	// location of terminal
	TerminalAddress *string `json:"terminal_address,omitempty"`
	// terminal id for merchant reference
	TerminalId string `json:"terminal_id"`
	// name of terminal/agent/storefront
	TerminalName *string `json:"terminal_name,omitempty"`
	// note given by merchant while creating the terminal
	TerminalNote *string `json:"terminal_note,omitempty"`
	// mobile num of the terminal/agent/storefront
	TerminalPhoneNo string `json:"terminal_phone_no"`
	// status of terminal active/inactive
	TerminalStatus *string `json:"terminal_status,omitempty"`
	// To identify the type of terminal product in use, in this case it is SPOS.
	TerminalType string `json:"terminal_type"`
}

CreateOrderRequestTerminal struct for CreateOrderRequestTerminal

func NewCreateOrderRequestTerminal

func NewCreateOrderRequestTerminal(terminalId string, terminalPhoneNo string, terminalType string) *CreateOrderRequestTerminal

NewCreateOrderRequestTerminal instantiates a new CreateOrderRequestTerminal object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed

func NewCreateOrderRequestTerminalWithDefaults

func NewCreateOrderRequestTerminalWithDefaults() *CreateOrderRequestTerminal

NewCreateOrderRequestTerminalWithDefaults instantiates a new CreateOrderRequestTerminal object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set

func (*CreateOrderRequestTerminal) GetAddedOn

func (o *CreateOrderRequestTerminal) GetAddedOn() string

GetAddedOn returns the AddedOn field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetAddedOnOk

func (o *CreateOrderRequestTerminal) GetAddedOnOk() (*string, bool)

GetAddedOnOk returns a tuple with the AddedOn field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetCfTerminalId

func (o *CreateOrderRequestTerminal) GetCfTerminalId() int32

GetCfTerminalId returns the CfTerminalId field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetCfTerminalIdOk

func (o *CreateOrderRequestTerminal) GetCfTerminalIdOk() (*int32, bool)

GetCfTerminalIdOk returns a tuple with the CfTerminalId field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetLastUpdatedOn

func (o *CreateOrderRequestTerminal) GetLastUpdatedOn() string

GetLastUpdatedOn returns the LastUpdatedOn field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetLastUpdatedOnOk

func (o *CreateOrderRequestTerminal) GetLastUpdatedOnOk() (*string, bool)

GetLastUpdatedOnOk returns a tuple with the LastUpdatedOn field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalAddress

func (o *CreateOrderRequestTerminal) GetTerminalAddress() string

GetTerminalAddress returns the TerminalAddress field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetTerminalAddressOk

func (o *CreateOrderRequestTerminal) GetTerminalAddressOk() (*string, bool)

GetTerminalAddressOk returns a tuple with the TerminalAddress field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalId

func (o *CreateOrderRequestTerminal) GetTerminalId() string

GetTerminalId returns the TerminalId field value

func (*CreateOrderRequestTerminal) GetTerminalIdOk

func (o *CreateOrderRequestTerminal) GetTerminalIdOk() (*string, bool)

GetTerminalIdOk returns a tuple with the TerminalId field value and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalName

func (o *CreateOrderRequestTerminal) GetTerminalName() string

GetTerminalName returns the TerminalName field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetTerminalNameOk

func (o *CreateOrderRequestTerminal) GetTerminalNameOk() (*string, bool)

GetTerminalNameOk returns a tuple with the TerminalName field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalNote

func (o *CreateOrderRequestTerminal) GetTerminalNote() string

GetTerminalNote returns the TerminalNote field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetTerminalNoteOk

func (o *CreateOrderRequestTerminal) GetTerminalNoteOk() (*string, bool)

GetTerminalNoteOk returns a tuple with the TerminalNote field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalPhoneNo

func (o *CreateOrderRequestTerminal) GetTerminalPhoneNo() string

GetTerminalPhoneNo returns the TerminalPhoneNo field value

func (*CreateOrderRequestTerminal) GetTerminalPhoneNoOk

func (o *CreateOrderRequestTerminal) GetTerminalPhoneNoOk() (*string, bool)

GetTerminalPhoneNoOk returns a tuple with the TerminalPhoneNo field value and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalStatus

func (o *CreateOrderRequestTerminal) GetTerminalStatus() string

GetTerminalStatus returns the TerminalStatus field value if set, zero value otherwise.

func (*CreateOrderRequestTerminal) GetTerminalStatusOk

func (o *CreateOrderRequestTerminal) GetTerminalStatusOk() (*string, bool)

GetTerminalStatusOk returns a tuple with the TerminalStatus field value if set, nil otherwise and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) GetTerminalType

func (o *CreateOrderRequestTerminal) GetTerminalType() string

GetTerminalType returns the TerminalType field value

func (*CreateOrderRequestTerminal) GetTerminalTypeOk

func (o *CreateOrderRequestTerminal) GetTerminalTypeOk() (*string, bool)

GetTerminalTypeOk returns a tuple with the TerminalType field value and a boolean to check if the value has been set.

func (*CreateOrderRequestTerminal) HasAddedOn

func (o *CreateOrderRequestTerminal) HasAddedOn() bool

HasAddedOn returns a boolean if a field has been set.

func (*CreateOrderRequestTerminal) HasCfTerminalId

func (o *CreateOrderRequestTerminal) HasCfTerminalId() bool

HasCfTerminalId returns a boolean if a field has been set.

func (*CreateOrderRequestTerminal) HasLastUpdatedOn

func (o *CreateOrderRequestTerminal) HasLastUpdatedOn() bool

HasLastUpdatedOn returns a boolean if a field has been set.

func (*CreateOrderRequestTerminal) HasTerminalAddress

func (o *CreateOrderRequestTerminal) HasTerminalAddress() bool

HasTerminalAddress returns a boolean if a field has been set.

func (*CreateOrderRequestTerminal) HasTerminalName

func (o *CreateOrderRequestTerminal) HasTerminalName() bool

HasTerminalName returns a boolean if a field has been set.

func (*CreateOrderRequestTerminal) HasTerminalNote

func (o *CreateOrderRequestTerminal) HasTerminalNote() bool

HasTerminalNote returns a boolean if a field has been set.

func (*CreateOrderRequestTerminal) HasTerminalStatus

func (o *CreateOrderRequestTerminal) HasTerminalStatus() bool

HasTerminalStatus returns a boolean if a field has been set.

func (CreateOrderRequestTerminal) MarshalJSON

func (o CreateOrderRequestTerminal) MarshalJSON() ([]byte, error)

func (*CreateOrderRequestTerminal) SetAddedOn

func (o *CreateOrderRequestTerminal) SetAddedOn(v string)

SetAddedOn gets a reference to the given string and assigns it to the AddedOn field.

func (*CreateOrderRequestTerminal) SetCfTerminalId

func (o *CreateOrderRequestTerminal) SetCfTerminalId(v int32)

SetCfTerminalId gets a reference to the given int32 and assigns it to the CfTerminalId field.

func (*CreateOrderRequestTerminal) SetLastUpdatedOn

func (o *CreateOrderRequestTerminal) SetLastUpdatedOn(v string)

SetLastUpdatedOn gets a reference to the given string and assigns it to the LastUpdatedOn field.

func (*CreateOrderRequestTerminal) SetTerminalAddress

func (o *CreateOrderRequestTerminal) SetTerminalAddress(v string)

SetTerminalAddress gets a reference to the given string and assigns it to the TerminalAddress field.

func (*CreateOrderRequestTerminal) SetTerminalId

func (o *CreateOrderRequestTerminal) SetTerminalId(v string)

SetTerminalId sets field value

func (*CreateOrderRequestTerminal) SetTerminalName

func (o *CreateOrderRequestTerminal) SetTerminalName(v string)

SetTerminalName gets a reference to the given string and assigns it to the TerminalName field.

func (*CreateOrderRequestTerminal) SetTerminalNote

func (o *CreateOrderRequestTerminal) SetTerminalNote(v string)

SetTerminalNote gets a reference to the given string and assigns it to the TerminalNote field.

func (*CreateOrderRequestTerminal) SetTerminalPhoneNo

func (o *CreateOrderRequestTerminal) SetTerminalPhoneNo(v string)

SetTerminalPhoneNo sets field value

func (*CreateOrderRequestTerminal) SetTerminalStatus

func (o *CreateOrderRequestTerminal) SetTerminalStatus(v string)

SetTerminalStatus gets a reference to the given string and assigns it to the TerminalStatus field.

func (*CreateOrderRequestTerminal) SetTerminalType

func (o *CreateOrderRequestTerminal) SetTerminalType(v string)

SetTerminalType sets field value

func (CreateOrderRequestTerminal) ToMap

func (o CreateOrderRequestTerminal) ToMap() (map[string]interface{}, error)

type CreateTerminalRequest

type CreateTerminalRequest struct {
	// merchant’s internal terminal id
	TerminalId string `json:"terminal_id"`
	// phone number assigned to the terminal
	TerminalPhoneNo string `json:"terminal_phone_no"`
	// terminal name to be assigned by merchants
	TerminalName string `json:"terminal_name"`
	// address of the terminal. required for STOREFRONT
	TerminalAddress *string `json:"terminal_address,omitempty"`
	// terminal email ID of the AGENT/STOREFRONT assigned by merchants.
	TerminalEmail string `json:"terminal_email"`
	// additional note for terminal
	TerminalNote *string `json:"terminal_note,omitempty"`
	// mention the terminal type. possible values - AGENT, STOREFRONT.
	TerminalType string                             `json:"terminal_type"`
	TerminalMeta *CreateTerminalRequestTerminalMeta `json:"terminal_meta,omitempty"`
}

CreateTerminalRequest Request body to create a terminal

func (CreateTerminalRequest) MarshalJSON

func (o CreateTerminalRequest) MarshalJSON() ([]byte, error)

func (CreateTerminalRequest) ToMap

func (o CreateTerminalRequest) ToMap() (map[string]interface{}, error)

type CreateTerminalRequestTerminalMeta

type CreateTerminalRequestTerminalMeta struct {
	// name of the STOREFRONT operator.
	TerminalOperator *string `json:"terminal_operator,omitempty"`
}

CreateTerminalRequestTerminalMeta terminal metadata. required field for storefront.

func (CreateTerminalRequestTerminalMeta) MarshalJSON

func (o CreateTerminalRequestTerminalMeta) MarshalJSON() ([]byte, error)

func (CreateTerminalRequestTerminalMeta) ToMap

func (o CreateTerminalRequestTerminalMeta) ToMap() (map[string]interface{}, error)

type CreateTerminalTransactionRequest

type CreateTerminalTransactionRequest struct {
	// cashfree order ID that was returned while creating an order.
	CfOrderId string `json:"cf_order_id"`
	// cashfree terminal id. this is a required parameter when you do not provide the terminal phone number.
	CfTerminalId *string `json:"cf_terminal_id,omitempty"`
	// mention the payment method used for the transaction. possible values - QR_CODE, LINK.
	PaymentMethod string `json:"payment_method"`
	// agent mobile number assigned to the terminal. this is a required parameter when you do not provide the cf_terminal_id.
	TerminalPhoneNo *string `json:"terminal_phone_no,omitempty"`
}

CreateTerminalTransactionRequest Request body to create a terminal transaction

func (CreateTerminalTransactionRequest) MarshalJSON

func (o CreateTerminalTransactionRequest) MarshalJSON() ([]byte, error)

func (CreateTerminalTransactionRequest) ToMap

func (o CreateTerminalTransactionRequest) ToMap() (map[string]interface{}, error)

type CreateVendorRequest added in v4.0.8

type CreateVendorRequest struct {
	// Specify the unique Vendor ID to identify the beneficiary. Alphanumeric and underscore (_) allowed.
	VendorId string `json:"vendor_id"`
	// Specify the status of vendor that should be updated. Possible values: ACTIVE,BLOCKED, DELETED
	Status string `json:"status"`
	// Specify the name of the vendor to be updated. Name should not have any special character except . / - &
	Name string `json:"name"`
	// Specify the vendor email ID that should be updated. String in email ID format (Ex:johndoe_1@cashfree.com) should contain @ and dot (.)
	Email string `json:"email"`
	// Specify the beneficiaries phone number to be updated. Phone number registered in India (only digits, 8 - 12 characters after excluding +91).
	Phone string `json:"phone"`
	// Specify if the vendor bank account details should be verified. Possible values: true or false
	VerifyAccount *bool `json:"verify_account,omitempty"`
	// Update if the vendor will have dashboard access or not. Possible values are: true or false
	DashboardAccess *bool `json:"dashboard_access,omitempty"`
	// Specify the settlement cycle to be updated. View the settlement cycle details from the \"Settlement Cycles Supported\" table. If no schedule option is configured, the settlement cycle ID \"1\" will be in effect. Select \"8\" or \"9\" if you want to schedule instant vendor settlements.
	ScheduleOption *float32 `json:"schedule_option,omitempty"`
	// Specify the vendor bank account details to be updated.
	Bank []BankDetails `json:"bank,omitempty"`
	// Updated beneficiary upi vpa. Alphanumeric, dot (.), hyphen (-), at sign (@), and underscore allowed (100 character limit). Note: underscore and dot (.) gets accepted before and after @, but hyphen (-) is only accepted before @ sign.
	Upi []UpiDetails `json:"upi,omitempty"`
	// Specify the kyc details that should be updated.
	KycDetails []KycDetails `json:"kyc_details"`
}

CreateVendorRequest Create Vendor Request

func (CreateVendorRequest) MarshalJSON added in v4.0.8

func (o CreateVendorRequest) MarshalJSON() ([]byte, error)

func (CreateVendorRequest) ToMap added in v4.0.8

func (o CreateVendorRequest) ToMap() (map[string]interface{}, error)

type CreateVendorResponse added in v4.0.8

type CreateVendorResponse struct {
	Email           *string          `json:"email,omitempty"`
	Status          *string          `json:"status,omitempty"`
	Bank            []BankDetails    `json:"bank,omitempty"`
	Upi             *string          `json:"upi,omitempty"`
	Phone           *float32         `json:"phone,omitempty"`
	Name            *string          `json:"name,omitempty"`
	VendorId        *string          `json:"vendor_id,omitempty"`
	ScheduleOption  []ScheduleOption `json:"schedule_option,omitempty"`
	KycDetails      []KycDetails     `json:"kyc_details,omitempty"`
	DashboardAccess *bool            `json:"dashboard_access,omitempty"`
	BankDetails     *string          `json:"bank_details,omitempty"`
}

CreateVendorResponse Create Vendor Response

func PGESCreateVendors added in v4.0.8

func PGESCreateVendors(xApiVersion *string, xRequestId *string, xIdempotencyKey *string, createVendorRequest *CreateVendorRequest, httpClient *http.Client) (*CreateVendorResponse, *http.Response, error)

Execute executes the request

@return CreateVendorResponse

func PGESCreateVendorsWithContext added in v4.0.8

func PGESCreateVendorsWithContext(ctx context.Context, xApiVersion *string, xRequestId *string, xIdempotencyKey *string, createVendorRequest *CreateVendorRequest, httpClient *http.Client) (*CreateVendorResponse, *http.Response, error)

With Context Execute executes the request

@return CreateVendorResponse

func (CreateVendorResponse) MarshalJSON added in v4.0.8

func (o CreateVendorResponse) MarshalJSON() ([]byte, error)

func (CreateVendorResponse) ToMap added in v4.0.8

func (o CreateVendorResponse) ToMap() (map[string]interface{}, error)

type CryptogramEntity

type CryptogramEntity struct {
	// instrument_id of saved instrument
	InstrumentId *string `json:"instrument_id,omitempty"`
	// TRID issued by card networks
	TokenRequestorId *string `json:"token_requestor_id,omitempty"`
	// token pan number
	CardNumber *string `json:"card_number,omitempty"`
	// token pan expiry month
	CardExpiryMm *string `json:"card_expiry_mm,omitempty"`
	// token pan expiry year
	CardExpiryYy *string `json:"card_expiry_yy,omitempty"`
	// cryptogram
	Cryptogram *string `json:"cryptogram,omitempty"`
	// last 4 digits of original card number
	CardDisplay *string `json:"card_display,omitempty"`
}

CryptogramEntity Crytogram Card object

func PGCustomerInstrumentsFetchCryptogram

func PGCustomerInstrumentsFetchCryptogram(xApiVersion *string, customerId string, instrumentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*CryptogramEntity, *http.Response, error)

Execute executes the request

@return CryptogramEntity

func PGCustomerInstrumentsFetchCryptogramWithContext

func PGCustomerInstrumentsFetchCryptogramWithContext(ctx context.Context, xApiVersion *string, customerId string, instrumentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*CryptogramEntity, *http.Response, error)

With Context Execute executes the request

@return CryptogramEntity

func (CryptogramEntity) MarshalJSON

func (o CryptogramEntity) MarshalJSON() ([]byte, error)

func (CryptogramEntity) ToMap

func (o CryptogramEntity) ToMap() (map[string]interface{}, error)

type CustomerDetails

type CustomerDetails struct {
	// A unique identifier for the customer. Use alphanumeric values only.
	CustomerId string `json:"customer_id"`
	// Customer email address.
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer phone number.
	CustomerPhone string `json:"customer_phone"`
	// Name of the customer.
	CustomerName *string `json:"customer_name,omitempty"`
	// Customer bank account. Required if you want to do a bank account check (TPV)
	CustomerBankAccountNumber *string `json:"customer_bank_account_number,omitempty"`
	// Customer bank IFSC. Required if you want to do a bank account check (TPV)
	CustomerBankIfsc *string `json:"customer_bank_ifsc,omitempty"`
	// Customer bank code. Required for net banking payments, if you want to do a bank account check (TPV)
	CustomerBankCode *float32 `json:"customer_bank_code,omitempty"`
	// Customer identifier at Cashfree. You will get this when you create/get customer
	CustomerUid *string `json:"customer_uid,omitempty"`
}

CustomerDetails The customer details that are necessary. Note that you can pass dummy details if your use case does not require the customer details.

func (CustomerDetails) MarshalJSON

func (o CustomerDetails) MarshalJSON() ([]byte, error)

func (CustomerDetails) ToMap

func (o CustomerDetails) ToMap() (map[string]interface{}, error)

type CustomerDetailsCardlessEMI

type CustomerDetailsCardlessEMI struct {
	// Phone Number of the customer
	CustomerPhone string `json:"customer_phone"`
}

CustomerDetailsCardlessEMI Details of the customer for whom eligibility is being checked.

func (CustomerDetailsCardlessEMI) MarshalJSON

func (o CustomerDetailsCardlessEMI) MarshalJSON() ([]byte, error)

func (CustomerDetailsCardlessEMI) ToMap

func (o CustomerDetailsCardlessEMI) ToMap() (map[string]interface{}, error)

type CustomerEntity

type CustomerEntity struct {
	// unique id generated by cashfree for your customer
	CustomerUid *string `json:"customer_uid,omitempty"`
	// Customer Phone Number
	CustomerPhone *string `json:"customer_phone,omitempty"`
	// Customer Email
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer Name
	CustomerName *string `json:"customer_name,omitempty"`
}

CustomerEntity The complete customer entity

func PGCreateCustomer

func PGCreateCustomer(xApiVersion *string, createCustomerRequest *CreateCustomerRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*CustomerEntity, *http.Response, error)

Execute executes the request

@return CustomerEntity

func PGCreateCustomerWithContext

func PGCreateCustomerWithContext(ctx context.Context, xApiVersion *string, createCustomerRequest *CreateCustomerRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*CustomerEntity, *http.Response, error)

With Context Execute executes the request

@return CustomerEntity

func (CustomerEntity) MarshalJSON

func (o CustomerEntity) MarshalJSON() ([]byte, error)

func (CustomerEntity) ToMap

func (o CustomerEntity) ToMap() (map[string]interface{}, error)

type DiscountDetails

type DiscountDetails struct {
	// Type of discount
	DiscountType string `json:"discount_type"`
	// Value of Discount.
	DiscountValue float32 `json:"discount_value"`
	// Maximum Value of Discount allowed.
	MaxDiscountAmount float32 `json:"max_discount_amount"`
}

DiscountDetails detils of the discount object of offer

func (DiscountDetails) MarshalJSON

func (o DiscountDetails) MarshalJSON() ([]byte, error)

func (DiscountDetails) ToMap

func (o DiscountDetails) ToMap() (map[string]interface{}, error)

type EMIOffer

type EMIOffer struct {
	// Type of emi offer. Possible values are `credit_card_emi`, `debit_card_emi`, `cardless_emi`
	Type string `json:"type"`
	// Bank Name
	Issuer  string  `json:"issuer"`
	Tenures []int32 `json:"tenures"`
}

EMIOffer struct for EMIOffer

func (EMIOffer) MarshalJSON

func (o EMIOffer) MarshalJSON() ([]byte, error)

func (EMIOffer) ToMap

func (o EMIOffer) ToMap() (map[string]interface{}, error)

type EMIPlansArray

type EMIPlansArray struct {
	Tenure        *int32   `json:"tenure,omitempty"`
	InterestRate  *float32 `json:"interest_rate,omitempty"`
	Currency      *string  `json:"currency,omitempty"`
	Emi           *int32   `json:"emi,omitempty"`
	TotalInterest *int32   `json:"total_interest,omitempty"`
	TotalAmount   *int32   `json:"total_amount,omitempty"`
}

EMIPlansArray Single EMI object

func (EMIPlansArray) MarshalJSON

func (o EMIPlansArray) MarshalJSON() ([]byte, error)

func (EMIPlansArray) ToMap

func (o EMIPlansArray) ToMap() (map[string]interface{}, error)

type ESOrderReconRequest added in v4.0.8

type ESOrderReconRequest struct {
	Filters    ESOrderReconRequestFilters    `json:"filters"`
	Pagination ESOrderReconRequestPagination `json:"pagination"`
}

ESOrderReconRequest ES Order Recon Request

func (ESOrderReconRequest) MarshalJSON added in v4.0.8

func (o ESOrderReconRequest) MarshalJSON() ([]byte, error)

func (ESOrderReconRequest) ToMap added in v4.0.8

func (o ESOrderReconRequest) ToMap() (map[string]interface{}, error)

type ESOrderReconRequestFilters added in v4.0.8

type ESOrderReconRequestFilters struct {
	// Specify the start data from which you want to get the recon data.
	StartDate *string `json:"start_date,omitempty"`
	// Specify the end data till which you want to get the recon data.
	EndDate *string `json:"end_date,omitempty"`
	// Please provide list of order ids for which you want to get the recon data.
	OrderIds []string `json:"order_ids,omitempty"`
}

ESOrderReconRequestFilters Provide the filter object details.

func (ESOrderReconRequestFilters) MarshalJSON added in v4.0.8

func (o ESOrderReconRequestFilters) MarshalJSON() ([]byte, error)

func (ESOrderReconRequestFilters) ToMap added in v4.0.8

func (o ESOrderReconRequestFilters) ToMap() (map[string]interface{}, error)

type ESOrderReconRequestPagination added in v4.0.8

type ESOrderReconRequestPagination struct {
	Cursor *string `json:"cursor,omitempty"`
	// Set the minimum/maximum limit for number of filtered data. Min value - 10, Max value - 100.
	Limit *int32 `json:"limit,omitempty"`
}

ESOrderReconRequestPagination Set limit based on your requirement. Pagination limit will fetch a set of orders, next set of orders can be generated using the cursor shared in previous response of the same API.

func (ESOrderReconRequestPagination) MarshalJSON added in v4.0.8

func (o ESOrderReconRequestPagination) MarshalJSON() ([]byte, error)

func (ESOrderReconRequestPagination) ToMap added in v4.0.8

func (o ESOrderReconRequestPagination) ToMap() (map[string]interface{}, error)

type ESOrderReconResponse added in v4.0.8

type ESOrderReconResponse struct {
	Cursor *string                         `json:"cursor,omitempty"`
	Data   []ESOrderReconResponseDataInner `json:"data,omitempty"`
	Limit  *int32                          `json:"limit,omitempty"`
}

ESOrderReconResponse ES Order Recon Response

func PGESOrderRecon added in v4.0.8

func PGESOrderRecon(xApiVersion *string, xRequestId *string, xIdempotencyKey *string, eSOrderReconRequest *ESOrderReconRequest, httpClient *http.Client) (*ESOrderReconResponse, *http.Response, error)

Execute executes the request

@return ESOrderReconResponse

func PGESOrderReconWithContext added in v4.0.8

func PGESOrderReconWithContext(ctx context.Context, xApiVersion *string, xRequestId *string, xIdempotencyKey *string, eSOrderReconRequest *ESOrderReconRequest, httpClient *http.Client) (*ESOrderReconResponse, *http.Response, error)

With Context Execute executes the request

@return ESOrderReconResponse

func (ESOrderReconResponse) MarshalJSON added in v4.0.8

func (o ESOrderReconResponse) MarshalJSON() ([]byte, error)

func (ESOrderReconResponse) ToMap added in v4.0.8

func (o ESOrderReconResponse) ToMap() (map[string]interface{}, error)

type ESOrderReconResponseDataInner added in v4.0.8

type ESOrderReconResponseDataInner struct {
	Amount                    *float32                                        `json:"amount,omitempty"`
	SettlementEligibilityTime *string                                         `json:"settlement_eligibility_time,omitempty"`
	MerchantOrderId           *string                                         `json:"merchant_order_id,omitempty"`
	TxTime                    *string                                         `json:"tx_time,omitempty"`
	Settled                   *string                                         `json:"settled,omitempty"`
	EntityId                  *string                                         `json:"entity_id,omitempty"`
	MerchantSettlementUtr     *string                                         `json:"merchant_settlement_utr,omitempty"`
	Currency                  *string                                         `json:"currency,omitempty"`
	SaleType                  *string                                         `json:"sale_type,omitempty"`
	CustomerName              *string                                         `json:"customer_name,omitempty"`
	CustomerEmail             *string                                         `json:"customer_email,omitempty"`
	CustomerPhone             *string                                         `json:"customer_phone,omitempty"`
	MerchantVendorCommission  *string                                         `json:"merchant_vendor_commission,omitempty"`
	SplitServiceCharge        *string                                         `json:"split_service_charge,omitempty"`
	SplitServiceTax           *string                                         `json:"split_service_tax,omitempty"`
	PgServiceTax              *string                                         `json:"pg_service_tax,omitempty"`
	PgServiceCharge           *string                                         `json:"pg_service_charge,omitempty"`
	PgChargePostpaid          *string                                         `json:"pg_charge_postpaid,omitempty"`
	MerchantSettlementId      *string                                         `json:"merchant_settlement_id,omitempty"`
	AddedOn                   *string                                         `json:"added_on,omitempty"`
	Tags                      *string                                         `json:"tags,omitempty"`
	EntityType                *string                                         `json:"entity_type,omitempty"`
	SettlementInitiatedOn     *string                                         `json:"settlement_initiated_on,omitempty"`
	SettlementTime            *string                                         `json:"settlement_time,omitempty"`
	OrderSplits               []ESOrderReconResponseDataInnerOrderSplitsInner `json:"order_splits,omitempty"`
	EligibleSplitBalance      *string                                         `json:"eligible_split_balance,omitempty"`
}

ESOrderReconResponseDataInner struct for ESOrderReconResponseDataInner

func (ESOrderReconResponseDataInner) MarshalJSON added in v4.0.8

func (o ESOrderReconResponseDataInner) MarshalJSON() ([]byte, error)

func (ESOrderReconResponseDataInner) ToMap added in v4.0.8

func (o ESOrderReconResponseDataInner) ToMap() (map[string]interface{}, error)

type ESOrderReconResponseDataInnerOrderSplitsInner added in v4.0.8

type ESOrderReconResponseDataInnerOrderSplitsInner struct {
	Split     []ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner `json:"split,omitempty"`
	CreatedAt *string                                                   `json:"created_at,omitempty"`
}

ESOrderReconResponseDataInnerOrderSplitsInner struct for ESOrderReconResponseDataInnerOrderSplitsInner

func (ESOrderReconResponseDataInnerOrderSplitsInner) MarshalJSON added in v4.0.8

func (ESOrderReconResponseDataInnerOrderSplitsInner) ToMap added in v4.0.8

func (o ESOrderReconResponseDataInnerOrderSplitsInner) ToMap() (map[string]interface{}, error)

type ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner added in v4.0.8

type ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner struct {
	MerchantVendorId *string                `json:"merchant_vendor_id,omitempty"`
	Percentage       *float32               `json:"percentage,omitempty"`
	Tags             map[string]interface{} `json:"tags,omitempty"`
}

ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner struct for ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner

func (ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner) MarshalJSON added in v4.0.8

func (ESOrderReconResponseDataInnerOrderSplitsInnerSplitInner) ToMap added in v4.0.8

type EligibilityCardlessEMIEntity

type EligibilityCardlessEMIEntity struct {
	Eligibility   *bool              `json:"eligibility,omitempty"`
	EntityType    *string            `json:"entity_type,omitempty"`
	EntityValue   *string            `json:"entity_value,omitempty"`
	EntityDetails *CardlessEMIEntity `json:"entity_details,omitempty"`
}

EligibilityCardlessEMIEntity Carless EMI eligible entity

func PGEligibilityFetchCardlessEMI

func PGEligibilityFetchCardlessEMI(xApiVersion *string, eligibilityFetchCardlessEMIRequest *EligibilityFetchCardlessEMIRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityCardlessEMIEntity, *http.Response, error)

Execute executes the request

@return []EligibilityCardlessEMIEntity

func PGEligibilityFetchCardlessEMIWithContext

func PGEligibilityFetchCardlessEMIWithContext(ctx context.Context, xApiVersion *string, eligibilityFetchCardlessEMIRequest *EligibilityFetchCardlessEMIRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityCardlessEMIEntity, *http.Response, error)

With Context Execute executes the request

@return []EligibilityCardlessEMIEntity

func (EligibilityCardlessEMIEntity) MarshalJSON

func (o EligibilityCardlessEMIEntity) MarshalJSON() ([]byte, error)

func (EligibilityCardlessEMIEntity) ToMap

func (o EligibilityCardlessEMIEntity) ToMap() (map[string]interface{}, error)

type EligibilityFetchCardlessEMIRequest

type EligibilityFetchCardlessEMIRequest struct {
	Queries CardlessEMIQueries `json:"queries"`
}

EligibilityFetchCardlessEMIRequest eligibilty request for cardless

func (EligibilityFetchCardlessEMIRequest) MarshalJSON

func (o EligibilityFetchCardlessEMIRequest) MarshalJSON() ([]byte, error)

func (EligibilityFetchCardlessEMIRequest) ToMap

func (o EligibilityFetchCardlessEMIRequest) ToMap() (map[string]interface{}, error)

type EligibilityFetchOffersRequest

type EligibilityFetchOffersRequest struct {
	Queries OfferQueries  `json:"queries"`
	Filters *OfferFilters `json:"filters,omitempty"`
}

EligibilityFetchOffersRequest Eligiblty API request

func (EligibilityFetchOffersRequest) MarshalJSON

func (o EligibilityFetchOffersRequest) MarshalJSON() ([]byte, error)

func (EligibilityFetchOffersRequest) ToMap

func (o EligibilityFetchOffersRequest) ToMap() (map[string]interface{}, error)

type EligibilityFetchPaylaterRequest

type EligibilityFetchPaylaterRequest struct {
	Queries CardlessEMIQueries `json:"queries"`
}

EligibilityFetchPaylaterRequest Request to get eligible paylater payment methods

func (EligibilityFetchPaylaterRequest) MarshalJSON

func (o EligibilityFetchPaylaterRequest) MarshalJSON() ([]byte, error)

func (EligibilityFetchPaylaterRequest) ToMap

func (o EligibilityFetchPaylaterRequest) ToMap() (map[string]interface{}, error)

type EligibilityFetchPaymentMethodsRequest

type EligibilityFetchPaymentMethodsRequest struct {
	Queries PaymentMethodsQueries  `json:"queries"`
	Filters *PaymentMethodsFilters `json:"filters,omitempty"`
}

EligibilityFetchPaymentMethodsRequest eligibilty request to find eligible payment method

func (EligibilityFetchPaymentMethodsRequest) MarshalJSON

func (o EligibilityFetchPaymentMethodsRequest) MarshalJSON() ([]byte, error)

func (EligibilityFetchPaymentMethodsRequest) ToMap

func (o EligibilityFetchPaymentMethodsRequest) ToMap() (map[string]interface{}, error)

type EligibilityOfferEntity

type EligibilityOfferEntity struct {
	Eligibility   *bool        `json:"eligibility,omitempty"`
	EntityType    *string      `json:"entity_type,omitempty"`
	EntityValue   *string      `json:"entity_value,omitempty"`
	EntityDetails *OfferEntity `json:"entity_details,omitempty"`
}

EligibilityOfferEntity Eligible offer object

func PGEligibilityFetchOffers

func PGEligibilityFetchOffers(xApiVersion *string, eligibilityFetchOffersRequest *EligibilityFetchOffersRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityOfferEntity, *http.Response, error)

Execute executes the request

@return []EligibilityOfferEntity

func PGEligibilityFetchOffersWithContext

func PGEligibilityFetchOffersWithContext(ctx context.Context, xApiVersion *string, eligibilityFetchOffersRequest *EligibilityFetchOffersRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityOfferEntity, *http.Response, error)

With Context Execute executes the request

@return []EligibilityOfferEntity

func (EligibilityOfferEntity) MarshalJSON

func (o EligibilityOfferEntity) MarshalJSON() ([]byte, error)

func (EligibilityOfferEntity) ToMap

func (o EligibilityOfferEntity) ToMap() (map[string]interface{}, error)

type EligibilityPaylaterEntity

type EligibilityPaylaterEntity struct {
	Eligibility   *bool           `json:"eligibility,omitempty"`
	EntityType    *string         `json:"entity_type,omitempty"`
	EntityValue   *string         `json:"entity_value,omitempty"`
	EntityDetails *PaylaterEntity `json:"entity_details,omitempty"`
}

EligibilityPaylaterEntity Eligible paylater payment method

func PGEligibilityFetchPaylater

func PGEligibilityFetchPaylater(xApiVersion *string, eligibilityFetchPaylaterRequest *EligibilityFetchPaylaterRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityPaylaterEntity, *http.Response, error)

Execute executes the request

@return []EligibilityPaylaterEntity

func PGEligibilityFetchPaylaterWithContext

func PGEligibilityFetchPaylaterWithContext(ctx context.Context, xApiVersion *string, eligibilityFetchPaylaterRequest *EligibilityFetchPaylaterRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityPaylaterEntity, *http.Response, error)

With Context Execute executes the request

@return []EligibilityPaylaterEntity

func (EligibilityPaylaterEntity) MarshalJSON

func (o EligibilityPaylaterEntity) MarshalJSON() ([]byte, error)

func (EligibilityPaylaterEntity) ToMap

func (o EligibilityPaylaterEntity) ToMap() (map[string]interface{}, error)

type EligibilityPaymentMethodsEntity

type EligibilityPaymentMethodsEntity struct {
	Eligibility   *bool                                         `json:"eligibility,omitempty"`
	EntityType    *string                                       `json:"entity_type,omitempty"`
	EntityValue   *string                                       `json:"entity_value,omitempty"`
	EntityDetails *EligibilityPaymentMethodsEntityEntityDetails `json:"entity_details,omitempty"`
}

EligibilityPaymentMethodsEntity Eligible payment methods details

func PGEligibilityFetchPaymentMethods

func PGEligibilityFetchPaymentMethods(xApiVersion *string, eligibilityFetchPaymentMethodsRequest *EligibilityFetchPaymentMethodsRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityPaymentMethodsEntity, *http.Response, error)

Execute executes the request

@return []EligibilityPaymentMethodsEntity

func PGEligibilityFetchPaymentMethodsWithContext

func PGEligibilityFetchPaymentMethodsWithContext(ctx context.Context, xApiVersion *string, eligibilityFetchPaymentMethodsRequest *EligibilityFetchPaymentMethodsRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]EligibilityPaymentMethodsEntity, *http.Response, error)

With Context Execute executes the request

@return []EligibilityPaymentMethodsEntity

func (EligibilityPaymentMethodsEntity) MarshalJSON

func (o EligibilityPaymentMethodsEntity) MarshalJSON() ([]byte, error)

func (EligibilityPaymentMethodsEntity) ToMap

func (o EligibilityPaymentMethodsEntity) ToMap() (map[string]interface{}, error)

type EligibilityPaymentMethodsEntityEntityDetails

type EligibilityPaymentMethodsEntityEntityDetails struct {
	PaymentMethodDetails []PaymentModeDetails `json:"payment_method_details,omitempty"`
}

EligibilityPaymentMethodsEntityEntityDetails struct for EligibilityPaymentMethodsEntityEntityDetails

func (EligibilityPaymentMethodsEntityEntityDetails) MarshalJSON

func (EligibilityPaymentMethodsEntityEntityDetails) ToMap

func (o EligibilityPaymentMethodsEntityEntityDetails) ToMap() (map[string]interface{}, error)

type ErrorDetailsInPaymentsEntity

type ErrorDetailsInPaymentsEntity struct {
	ErrorCode           *string `json:"error_code,omitempty"`
	ErrorDescription    *string `json:"error_description,omitempty"`
	ErrorReason         *string `json:"error_reason,omitempty"`
	ErrorSource         *string `json:"error_source,omitempty"`
	ErrorCodeRaw        *string `json:"error_code_raw,omitempty"`
	ErrorDescriptionRaw *string `json:"error_description_raw,omitempty"`
	ErrorSubcodeRaw     *string `json:"error_subcode_raw,omitempty"`
}

ErrorDetailsInPaymentsEntity The error details are present only for failed payments

func (ErrorDetailsInPaymentsEntity) MarshalJSON

func (o ErrorDetailsInPaymentsEntity) MarshalJSON() ([]byte, error)

func (ErrorDetailsInPaymentsEntity) ToMap

func (o ErrorDetailsInPaymentsEntity) ToMap() (map[string]interface{}, error)

type FetchReconRequest

type FetchReconRequest struct {
	Pagination FetchReconRequestPagination `json:"pagination"`
	Filters    FetchReconRequestFilters    `json:"filters"`
}

FetchReconRequest Recon object

func (FetchReconRequest) MarshalJSON

func (o FetchReconRequest) MarshalJSON() ([]byte, error)

func (FetchReconRequest) ToMap

func (o FetchReconRequest) ToMap() (map[string]interface{}, error)

type FetchReconRequestFilters

type FetchReconRequestFilters struct {
	// Specify the start date from when you want the settlement reconciliation details.
	StartDate string `json:"start_date"`
	// Specify the end date till when you want the settlement reconciliation details.
	EndDate string `json:"end_date"`
}

FetchReconRequestFilters struct for FetchReconRequestFilters

func (FetchReconRequestFilters) MarshalJSON

func (o FetchReconRequestFilters) MarshalJSON() ([]byte, error)

func (FetchReconRequestFilters) ToMap

func (o FetchReconRequestFilters) ToMap() (map[string]interface{}, error)

type FetchReconRequestPagination

type FetchReconRequestPagination struct {
	// Number of settlements you want to fetch in the next iteration. Maximum limit is 1000, default value is 10.
	Limit int32 `json:"limit"`
	// Specifies from where the next set of settlement details should be fetched.
	Cursor *string `json:"cursor,omitempty"`
}

FetchReconRequestPagination To fetch the next set of settlements, pass the cursor received in the response to the next API call. To receive the data for the first time, pass the cursor as null. Limit would be number of settlements that you want to receive.

func (FetchReconRequestPagination) MarshalJSON

func (o FetchReconRequestPagination) MarshalJSON() ([]byte, error)

func (FetchReconRequestPagination) ToMap

func (o FetchReconRequestPagination) ToMap() (map[string]interface{}, error)

type FetchSettlementsRequest

type FetchSettlementsRequest struct {
	Pagination FetchSettlementsRequestPagination `json:"pagination"`
	Filters    FetchSettlementsRequestFilters    `json:"filters"`
}

FetchSettlementsRequest Request to fetch settlement

func (FetchSettlementsRequest) MarshalJSON

func (o FetchSettlementsRequest) MarshalJSON() ([]byte, error)

func (FetchSettlementsRequest) ToMap

func (o FetchSettlementsRequest) ToMap() (map[string]interface{}, error)

type FetchSettlementsRequestFilters

type FetchSettlementsRequestFilters struct {
	// List of settlement IDs for which you want the settlement reconciliation details.
	CfSettlementIds []string `json:"cf_settlement_ids,omitempty"`
	// List of settlement UTRs for which you want the settlement reconciliation details.
	SettlementUtrs []string `json:"settlement_utrs,omitempty"`
	// Specify the start date from when you want the settlement reconciliation details.
	StartDate *string `json:"start_date,omitempty"`
	// Specify the end date till when you want the settlement reconciliation details.
	EndDate *string `json:"end_date,omitempty"`
}

FetchSettlementsRequestFilters Specify either the Settlement ID, Settlement UTR, or start date and end date to fetch the settlement details.

func (FetchSettlementsRequestFilters) MarshalJSON

func (o FetchSettlementsRequestFilters) MarshalJSON() ([]byte, error)

func (FetchSettlementsRequestFilters) ToMap

func (o FetchSettlementsRequestFilters) ToMap() (map[string]interface{}, error)

type FetchSettlementsRequestPagination

type FetchSettlementsRequestPagination struct {
	// The number of settlements you want to fetch. Maximum limit is 1000, default value is 10.
	Limit int32 `json:"limit"`
	// Specifies from where the next set of settlement details should be fetched.
	Cursor *string `json:"cursor,omitempty"`
}

FetchSettlementsRequestPagination To fetch the next set of settlements, pass the cursor received in the response to the next API call. To receive the data for the first time, pass the cursor as null. Limit would be number of settlements that you want to receive.

func (FetchSettlementsRequestPagination) MarshalJSON

func (o FetchSettlementsRequestPagination) MarshalJSON() ([]byte, error)

func (FetchSettlementsRequestPagination) ToMap

func (o FetchSettlementsRequestPagination) ToMap() (map[string]interface{}, error)

type FetchTerminalQRCodesEntity

type FetchTerminalQRCodesEntity struct {
	// Name of the bank that is linked to the Static QR.
	Bank *string `json:"bank,omitempty"`
	// Base-64 Encoded QR Code URL
	QrCode *string `json:"qrCode,omitempty"`
	// URL of the qr Code.
	QrCodeUrl *string `json:"qrCodeUrl,omitempty"`
	// Status of the static QR.
	Status *string `json:"status,omitempty"`
}

FetchTerminalQRCodesEntity Fetch Static QR Codes using terminal ID or phone number

func SposFetchTerminalQRCodes

func SposFetchTerminalQRCodes(xApiVersion *string, terminalPhoneNo *string, cfTerminalId *string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]FetchTerminalQRCodesEntity, *http.Response, error)

Execute executes the request

@return []FetchTerminalQRCodesEntity

func SposFetchTerminalQRCodesWithContext

func SposFetchTerminalQRCodesWithContext(ctx context.Context, xApiVersion *string, terminalPhoneNo *string, cfTerminalId *string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]FetchTerminalQRCodesEntity, *http.Response, error)

With Context Execute executes the request

@return []FetchTerminalQRCodesEntity

func (FetchTerminalQRCodesEntity) MarshalJSON

func (o FetchTerminalQRCodesEntity) MarshalJSON() ([]byte, error)

func (FetchTerminalQRCodesEntity) ToMap

func (o FetchTerminalQRCodesEntity) ToMap() (map[string]interface{}, error)

type GenericOpenAPIError

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

GenericOpenAPIError Provides access to the body, error and model on returned errors.

func (GenericOpenAPIError) Body

func (e GenericOpenAPIError) Body() []byte

Body returns the raw bytes of the response

func (GenericOpenAPIError) Error

func (e GenericOpenAPIError) Error() string

Error returns non-empty string if there was an error.

func (GenericOpenAPIError) Model

func (e GenericOpenAPIError) Model() interface{}

Model returns the unpacked model of the error

type IdempotencyError

type IdempotencyError struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	// idempotency_error
	Type *string `json:"type,omitempty"`
}

IdempotencyError Error when idempotency fails. Different request body with the same idempotent key

func (IdempotencyError) MarshalJSON

func (o IdempotencyError) MarshalJSON() ([]byte, error)

func (IdempotencyError) ToMap

func (o IdempotencyError) ToMap() (map[string]interface{}, error)

type InstrumentEntity

type InstrumentEntity struct {
	// customer_id for which the instrument was saved
	CustomerId *string `json:"customer_id,omitempty"`
	// cf_payment_id of the successful transaction done while saving instrument
	AfaReference *string `json:"afa_reference,omitempty"`
	// saved instrument id
	InstrumentId *string `json:"instrument_id,omitempty"`
	// Type of the saved instrument
	InstrumentType *string `json:"instrument_type,omitempty"`
	// Unique id for the saved instrument
	InstrumentUid *string `json:"instrument_uid,omitempty"`
	// masked card number displayed to the customer
	InstrumentDisplay *string `json:"instrument_display,omitempty"`
	// Status of the saved instrument.
	InstrumentStatus *string `json:"instrument_status,omitempty"`
	// Timestamp at which instrument was saved.
	CreatedAt      *string              `json:"created_at,omitempty"`
	InstrumentMeta *SavedInstrumentMeta `json:"instrument_meta,omitempty"`
}

InstrumentEntity Saved card instrument object

func PGCustomerDeleteInstrument

func PGCustomerDeleteInstrument(xApiVersion *string, customerId string, instrumentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*InstrumentEntity, *http.Response, error)

Execute executes the request

@return InstrumentEntity

func PGCustomerDeleteInstrumentWithContext

func PGCustomerDeleteInstrumentWithContext(ctx context.Context, xApiVersion *string, customerId string, instrumentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*InstrumentEntity, *http.Response, error)

With Context Execute executes the request

@return InstrumentEntity

func PGCustomerFetchInstrument

func PGCustomerFetchInstrument(xApiVersion *string, customerId string, instrumentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*InstrumentEntity, *http.Response, error)

Execute executes the request

@return InstrumentEntity

func PGCustomerFetchInstrumentWithContext

func PGCustomerFetchInstrumentWithContext(ctx context.Context, xApiVersion *string, customerId string, instrumentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*InstrumentEntity, *http.Response, error)

With Context Execute executes the request

@return InstrumentEntity

func PGCustomerFetchInstruments

func PGCustomerFetchInstruments(xApiVersion *string, customerId string, instrumentType *string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]InstrumentEntity, *http.Response, error)

Execute executes the request

@return []InstrumentEntity

func PGCustomerFetchInstrumentsWithContext

func PGCustomerFetchInstrumentsWithContext(ctx context.Context, xApiVersion *string, customerId string, instrumentType *string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]InstrumentEntity, *http.Response, error)

With Context Execute executes the request

@return []InstrumentEntity

func (InstrumentEntity) MarshalJSON

func (o InstrumentEntity) MarshalJSON() ([]byte, error)

func (InstrumentEntity) ToMap

func (o InstrumentEntity) ToMap() (map[string]interface{}, error)

type InstrumentWebhook

type InstrumentWebhook struct {
	Data *InstrumentWebhookData `json:"data,omitempty"`
}

InstrumentWebhook Instrument webhook object

func (InstrumentWebhook) MarshalJSON

func (o InstrumentWebhook) MarshalJSON() ([]byte, error)

func (InstrumentWebhook) ToMap

func (o InstrumentWebhook) ToMap() (map[string]interface{}, error)

type InstrumentWebhookData

type InstrumentWebhookData struct {
	Data      *InstrumentWebhookDataEntity `json:"data,omitempty"`
	EventTime *string                      `json:"event_time,omitempty"`
	Type      *string                      `json:"type,omitempty"`
}

InstrumentWebhookData struct for InstrumentWebhookData

func (InstrumentWebhookData) MarshalJSON

func (o InstrumentWebhookData) MarshalJSON() ([]byte, error)

func (InstrumentWebhookData) ToMap

func (o InstrumentWebhookData) ToMap() (map[string]interface{}, error)

type InstrumentWebhookDataEntity

type InstrumentWebhookDataEntity struct {
	Instrument *InstrumentEntity `json:"instrument,omitempty"`
}

InstrumentWebhookDataEntity data entity in webhook

func (InstrumentWebhookDataEntity) MarshalJSON

func (o InstrumentWebhookDataEntity) MarshalJSON() ([]byte, error)

func (InstrumentWebhookDataEntity) ToMap

func (o InstrumentWebhookDataEntity) ToMap() (map[string]interface{}, error)

type KycDetails added in v4.0.8

type KycDetails struct {
	AccountType    *string  `json:"account_type,omitempty"`
	BusinessType   *string  `json:"business_type,omitempty"`
	Uidai          *float32 `json:"uidai,omitempty"`
	Gst            *string  `json:"gst,omitempty"`
	Cin            *string  `json:"cin,omitempty"`
	Pan            *string  `json:"pan,omitempty"`
	PassportNumber *string  `json:"passport_number,omitempty"`
	DrivingLicense *string  `json:"driving_license,omitempty"`
	VoterId        *string  `json:"voter_id,omitempty"`
}

KycDetails struct for KycDetails

func (KycDetails) MarshalJSON added in v4.0.8

func (o KycDetails) MarshalJSON() ([]byte, error)

func (KycDetails) ToMap added in v4.0.8

func (o KycDetails) ToMap() (map[string]interface{}, error)

type LinkCustomerDetailsEntity

type LinkCustomerDetailsEntity struct {
	// Customer phone number
	CustomerPhone string `json:"customer_phone"`
	// Customer email address
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer name
	CustomerName *string `json:"customer_name,omitempty"`
}

LinkCustomerDetailsEntity Payment link customer entity

func (LinkCustomerDetailsEntity) MarshalJSON

func (o LinkCustomerDetailsEntity) MarshalJSON() ([]byte, error)

func (LinkCustomerDetailsEntity) ToMap

func (o LinkCustomerDetailsEntity) ToMap() (map[string]interface{}, error)

type LinkEntity

type LinkEntity struct {
	CfLinkId                 *string                    `json:"cf_link_id,omitempty"`
	LinkId                   *string                    `json:"link_id,omitempty"`
	LinkStatus               *string                    `json:"link_status,omitempty"`
	LinkCurrency             *string                    `json:"link_currency,omitempty"`
	LinkAmount               *float32                   `json:"link_amount,omitempty"`
	LinkAmountPaid           *float32                   `json:"link_amount_paid,omitempty"`
	LinkPartialPayments      *bool                      `json:"link_partial_payments,omitempty"`
	LinkMinimumPartialAmount *float32                   `json:"link_minimum_partial_amount,omitempty"`
	LinkPurpose              *string                    `json:"link_purpose,omitempty"`
	LinkCreatedAt            *string                    `json:"link_created_at,omitempty"`
	CustomerDetails          *LinkCustomerDetailsEntity `json:"customer_details,omitempty"`
	LinkMeta                 *LinkMetaResponseEntity    `json:"link_meta,omitempty"`
	LinkUrl                  *string                    `json:"link_url,omitempty"`
	LinkExpiryTime           *string                    `json:"link_expiry_time,omitempty"`
	// Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs
	LinkNotes         *map[string]string `json:"link_notes,omitempty"`
	LinkAutoReminders *bool              `json:"link_auto_reminders,omitempty"`
	LinkNotify        *LinkNotifyEntity  `json:"link_notify,omitempty"`
	// Base64 encoded string for payment link. You can scan with camera to open a link in the browser to complete the payment.
	LinkQrcode *string `json:"link_qrcode,omitempty"`
}

LinkEntity Payment link success creation response object

func PGCancelLink(xApiVersion *string, linkId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*LinkEntity, *http.Response, error)

Execute executes the request

@return LinkEntity

func PGCancelLinkWithContext

func PGCancelLinkWithContext(ctx context.Context, xApiVersion *string, linkId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*LinkEntity, *http.Response, error)

With Context Execute executes the request

@return LinkEntity
func PGCreateLink(xApiVersion *string, createLinkRequest *CreateLinkRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*LinkEntity, *http.Response, error)

Execute executes the request

@return LinkEntity

func PGCreateLinkWithContext

func PGCreateLinkWithContext(ctx context.Context, xApiVersion *string, createLinkRequest *CreateLinkRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*LinkEntity, *http.Response, error)

With Context Execute executes the request

@return LinkEntity
func PGFetchLink(xApiVersion *string, linkId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*LinkEntity, *http.Response, error)

Execute executes the request

@return LinkEntity

func PGFetchLinkWithContext

func PGFetchLinkWithContext(ctx context.Context, xApiVersion *string, linkId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*LinkEntity, *http.Response, error)

With Context Execute executes the request

@return LinkEntity

func (LinkEntity) MarshalJSON

func (o LinkEntity) MarshalJSON() ([]byte, error)

func (LinkEntity) ToMap

func (o LinkEntity) ToMap() (map[string]interface{}, error)

type LinkMetaEntity

type LinkMetaEntity struct {
	// Notification URL for server-server communication. It should be an https URL.
	NotifyUrl *string `json:"notify_url,omitempty"`
	// If \"true\", link will directly open UPI Intent flow on mobile, and normal link flow elsewhere
	UpiIntent *bool `json:"upi_intent,omitempty"`
	// The URL to which user will be redirected to after the payment is done on the link. Maximum length: 250.
	ReturnUrl *string `json:"return_url,omitempty"`
	// Allowed payment modes for this link. Pass comma-separated values among following options - \"cc\", \"dc\", \"ccc\", \"ppc\", \"nb\", \"upi\", \"paypal\", \"app\". Leave it blank to show all available payment methods
	PaymentMethods *string `json:"payment_methods,omitempty"`
}

LinkMetaEntity Payment link meta information object

func (LinkMetaEntity) MarshalJSON

func (o LinkMetaEntity) MarshalJSON() ([]byte, error)

func (LinkMetaEntity) ToMap

func (o LinkMetaEntity) ToMap() (map[string]interface{}, error)

type LinkMetaResponseEntity

type LinkMetaResponseEntity struct {
	// Notification URL for server-server communication. It should be an https URL.
	NotifyUrl *string `json:"notify_url,omitempty"`
	// If \"true\", link will directly open UPI Intent flow on mobile, and normal link flow elsewhere
	UpiIntent *bool `json:"upi_intent,omitempty"`
	// The URL to which user will be redirected to after the payment is done on the link. Maximum length: 250.
	ReturnUrl *string `json:"return_url,omitempty"`
	// Allowed payment modes for this link. Pass comma-separated values among following options - \"cc\", \"dc\", \"ccc\", \"ppc\", \"nb\", \"upi\", \"paypal\", \"app\". Leave it blank to show all available payment methods
	PaymentMethods *string `json:"payment_methods,omitempty"`
}

LinkMetaResponseEntity Payment link meta information object

func (LinkMetaResponseEntity) MarshalJSON

func (o LinkMetaResponseEntity) MarshalJSON() ([]byte, error)

func (LinkMetaResponseEntity) ToMap

func (o LinkMetaResponseEntity) ToMap() (map[string]interface{}, error)

type LinkNotifyEntity

type LinkNotifyEntity struct {
	// If \"true\", Cashfree will send sms on customer_phone
	SendSms *bool `json:"send_sms,omitempty"`
	// If \"true\", Cashfree will send email on customer_email
	SendEmail *bool `json:"send_email,omitempty"`
}

LinkNotifyEntity Payment link Notify Object for SMS and Email

func (LinkNotifyEntity) MarshalJSON

func (o LinkNotifyEntity) MarshalJSON() ([]byte, error)

func (LinkNotifyEntity) ToMap

func (o LinkNotifyEntity) ToMap() (map[string]interface{}, error)

type MappedNullable

type MappedNullable interface {
	ToMap() (map[string]interface{}, error)
}

type NetBankingPaymentMethod

type NetBankingPaymentMethod struct {
	Netbanking Netbanking `json:"netbanking"`
}

NetBankingPaymentMethod Payment method for netbanking object

func (NetBankingPaymentMethod) MarshalJSON

func (o NetBankingPaymentMethod) MarshalJSON() ([]byte, error)

func (NetBankingPaymentMethod) ToMap

func (o NetBankingPaymentMethod) ToMap() (map[string]interface{}, error)

type Netbanking

type Netbanking struct {
	// The channel for netbanking will always be `link`
	Channel string `json:"channel"`
	// Bank code
	NetbankingBankCode *int32 `json:"netbanking_bank_code,omitempty"`
	// String code for bank
	NetbankingBankName *string `json:"netbanking_bank_name,omitempty"`
}

Netbanking Netbanking payment method request body

func (Netbanking) MarshalJSON

func (o Netbanking) MarshalJSON() ([]byte, error)

func (Netbanking) ToMap

func (o Netbanking) ToMap() (map[string]interface{}, error)

type NullableBool

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

func NewNullableBool

func NewNullableBool(val *bool) *NullableBool

func (NullableBool) Get

func (v NullableBool) Get() *bool

func (NullableBool) IsSet

func (v NullableBool) IsSet() bool

func (NullableBool) MarshalJSON

func (v NullableBool) MarshalJSON() ([]byte, error)

func (*NullableBool) Set

func (v *NullableBool) Set(val *bool)

func (*NullableBool) UnmarshalJSON

func (v *NullableBool) UnmarshalJSON(src []byte) error

func (*NullableBool) Unset

func (v *NullableBool) Unset()

type NullableCreateOrderRequestOrderMeta

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

func (NullableCreateOrderRequestOrderMeta) Get

func (NullableCreateOrderRequestOrderMeta) IsSet

func (NullableCreateOrderRequestOrderMeta) MarshalJSON

func (v NullableCreateOrderRequestOrderMeta) MarshalJSON() ([]byte, error)

func (*NullableCreateOrderRequestOrderMeta) Set

func (*NullableCreateOrderRequestOrderMeta) UnmarshalJSON

func (v *NullableCreateOrderRequestOrderMeta) UnmarshalJSON(src []byte) error

func (*NullableCreateOrderRequestOrderMeta) Unset

type NullableCreateOrderRequestTerminal

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

func (NullableCreateOrderRequestTerminal) Get

func (NullableCreateOrderRequestTerminal) IsSet

func (NullableCreateOrderRequestTerminal) MarshalJSON

func (v NullableCreateOrderRequestTerminal) MarshalJSON() ([]byte, error)

func (*NullableCreateOrderRequestTerminal) Set

func (*NullableCreateOrderRequestTerminal) UnmarshalJSON

func (v *NullableCreateOrderRequestTerminal) UnmarshalJSON(src []byte) error

func (*NullableCreateOrderRequestTerminal) Unset

type NullableFloat32

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

func NewNullableFloat32

func NewNullableFloat32(val *float32) *NullableFloat32

func (NullableFloat32) Get

func (v NullableFloat32) Get() *float32

func (NullableFloat32) IsSet

func (v NullableFloat32) IsSet() bool

func (NullableFloat32) MarshalJSON

func (v NullableFloat32) MarshalJSON() ([]byte, error)

func (*NullableFloat32) Set

func (v *NullableFloat32) Set(val *float32)

func (*NullableFloat32) UnmarshalJSON

func (v *NullableFloat32) UnmarshalJSON(src []byte) error

func (*NullableFloat32) Unset

func (v *NullableFloat32) Unset()

type NullableFloat64

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

func NewNullableFloat64

func NewNullableFloat64(val *float64) *NullableFloat64

func (NullableFloat64) Get

func (v NullableFloat64) Get() *float64

func (NullableFloat64) IsSet

func (v NullableFloat64) IsSet() bool

func (NullableFloat64) MarshalJSON

func (v NullableFloat64) MarshalJSON() ([]byte, error)

func (*NullableFloat64) Set

func (v *NullableFloat64) Set(val *float64)

func (*NullableFloat64) UnmarshalJSON

func (v *NullableFloat64) UnmarshalJSON(src []byte) error

func (*NullableFloat64) Unset

func (v *NullableFloat64) Unset()

type NullableInt

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

func NewNullableInt

func NewNullableInt(val *int) *NullableInt

func (NullableInt) Get

func (v NullableInt) Get() *int

func (NullableInt) IsSet

func (v NullableInt) IsSet() bool

func (NullableInt) MarshalJSON

func (v NullableInt) MarshalJSON() ([]byte, error)

func (*NullableInt) Set

func (v *NullableInt) Set(val *int)

func (*NullableInt) UnmarshalJSON

func (v *NullableInt) UnmarshalJSON(src []byte) error

func (*NullableInt) Unset

func (v *NullableInt) Unset()

type NullableInt32

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

func NewNullableInt32

func NewNullableInt32(val *int32) *NullableInt32

func (NullableInt32) Get

func (v NullableInt32) Get() *int32

func (NullableInt32) IsSet

func (v NullableInt32) IsSet() bool

func (NullableInt32) MarshalJSON

func (v NullableInt32) MarshalJSON() ([]byte, error)

func (*NullableInt32) Set

func (v *NullableInt32) Set(val *int32)

func (*NullableInt32) UnmarshalJSON

func (v *NullableInt32) UnmarshalJSON(src []byte) error

func (*NullableInt32) Unset

func (v *NullableInt32) Unset()

type NullableInt64

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

func NewNullableInt64

func NewNullableInt64(val *int64) *NullableInt64

func (NullableInt64) Get

func (v NullableInt64) Get() *int64

func (NullableInt64) IsSet

func (v NullableInt64) IsSet() bool

func (NullableInt64) MarshalJSON

func (v NullableInt64) MarshalJSON() ([]byte, error)

func (*NullableInt64) Set

func (v *NullableInt64) Set(val *int64)

func (*NullableInt64) UnmarshalJSON

func (v *NullableInt64) UnmarshalJSON(src []byte) error

func (*NullableInt64) Unset

func (v *NullableInt64) Unset()

type NullableString

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

func NewNullableString

func NewNullableString(val *string) *NullableString

func (NullableString) Get

func (v NullableString) Get() *string

func (NullableString) IsSet

func (v NullableString) IsSet() bool

func (NullableString) MarshalJSON

func (v NullableString) MarshalJSON() ([]byte, error)

func (*NullableString) Set

func (v *NullableString) Set(val *string)

func (*NullableString) UnmarshalJSON

func (v *NullableString) UnmarshalJSON(src []byte) error

func (*NullableString) Unset

func (v *NullableString) Unset()

type NullableTime

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

func NewNullableTime

func NewNullableTime(val *time.Time) *NullableTime

func (NullableTime) Get

func (v NullableTime) Get() *time.Time

func (NullableTime) IsSet

func (v NullableTime) IsSet() bool

func (NullableTime) MarshalJSON

func (v NullableTime) MarshalJSON() ([]byte, error)

func (*NullableTime) Set

func (v *NullableTime) Set(val *time.Time)

func (*NullableTime) UnmarshalJSON

func (v *NullableTime) UnmarshalJSON(src []byte) error

func (*NullableTime) Unset

func (v *NullableTime) Unset()

type OfferAll

type OfferAll struct {
	// All offers applicable
	All map[string]interface{} `json:"all"`
}

OfferAll returns all offers

func (OfferAll) MarshalJSON

func (o OfferAll) MarshalJSON() ([]byte, error)

func (OfferAll) ToMap

func (o OfferAll) ToMap() (map[string]interface{}, error)

type OfferCard

type OfferCard struct {
	Card CardOffer `json:"card"`
}

OfferCard Offers related to cards

func (OfferCard) MarshalJSON

func (o OfferCard) MarshalJSON() ([]byte, error)

func (OfferCard) ToMap

func (o OfferCard) ToMap() (map[string]interface{}, error)

type OfferDetails

type OfferDetails struct {
	// Offer Type for the Offer.
	OfferType       string           `json:"offer_type"`
	DiscountDetails *DiscountDetails `json:"discount_details,omitempty"`
	CashbackDetails *CashbackDetails `json:"cashback_details,omitempty"`
}

OfferDetails Offer details and type

func (OfferDetails) MarshalJSON

func (o OfferDetails) MarshalJSON() ([]byte, error)

func (OfferDetails) ToMap

func (o OfferDetails) ToMap() (map[string]interface{}, error)

type OfferEMI

type OfferEMI struct {
	Emi EMIOffer `json:"emi"`
}

OfferEMI EMI offer object

func (OfferEMI) MarshalJSON

func (o OfferEMI) MarshalJSON() ([]byte, error)

func (OfferEMI) ToMap

func (o OfferEMI) ToMap() (map[string]interface{}, error)

type OfferEntity

type OfferEntity struct {
	OfferId          *string           `json:"offer_id,omitempty"`
	OfferStatus      *string           `json:"offer_status,omitempty"`
	OfferMeta        *OfferMeta        `json:"offer_meta,omitempty"`
	OfferTnc         *OfferTnc         `json:"offer_tnc,omitempty"`
	OfferDetails     *OfferDetails     `json:"offer_details,omitempty"`
	OfferValidations *OfferValidations `json:"offer_validations,omitempty"`
}

OfferEntity Offer entity object

func PGCreateOffer

func PGCreateOffer(xApiVersion *string, createOfferRequest *CreateOfferRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OfferEntity, *http.Response, error)

Execute executes the request

@return OfferEntity

func PGCreateOfferWithContext

func PGCreateOfferWithContext(ctx context.Context, xApiVersion *string, createOfferRequest *CreateOfferRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OfferEntity, *http.Response, error)

With Context Execute executes the request

@return OfferEntity

func PGFetchOffer

func PGFetchOffer(xApiVersion *string, offerId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OfferEntity, *http.Response, error)

Execute executes the request

@return OfferEntity

func PGFetchOfferWithContext

func PGFetchOfferWithContext(ctx context.Context, xApiVersion *string, offerId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OfferEntity, *http.Response, error)

With Context Execute executes the request

@return OfferEntity

func (OfferEntity) MarshalJSON

func (o OfferEntity) MarshalJSON() ([]byte, error)

func (OfferEntity) ToMap

func (o OfferEntity) ToMap() (map[string]interface{}, error)

type OfferFilters

type OfferFilters struct {
	// Array of offer_type to be filtered.
	OfferType []OfferType `json:"offer_type,omitempty"`
}

OfferFilters Filter for offers

func (OfferFilters) MarshalJSON

func (o OfferFilters) MarshalJSON() ([]byte, error)

func (OfferFilters) ToMap

func (o OfferFilters) ToMap() (map[string]interface{}, error)

type OfferMeta

type OfferMeta struct {
	// Title for the Offer.
	OfferTitle string `json:"offer_title"`
	// Description for the Offer.
	OfferDescription string `json:"offer_description"`
	// Unique identifier for the Offer.
	OfferCode string `json:"offer_code"`
	// Start Time for the Offer
	OfferStartTime string `json:"offer_start_time"`
	// Expiry Time for the Offer
	OfferEndTime string `json:"offer_end_time"`
}

OfferMeta Offer meta details object

func (OfferMeta) MarshalJSON

func (o OfferMeta) MarshalJSON() ([]byte, error)

func (OfferMeta) ToMap

func (o OfferMeta) ToMap() (map[string]interface{}, error)

type OfferNB

type OfferNB struct {
	Netbanking OfferNBNetbanking `json:"netbanking"`
}

OfferNB Offer object ofr NetBanking

func (OfferNB) MarshalJSON

func (o OfferNB) MarshalJSON() ([]byte, error)

func (OfferNB) ToMap

func (o OfferNB) ToMap() (map[string]interface{}, error)

type OfferNBNetbanking

type OfferNBNetbanking struct {
	BankName *string `json:"bank_name,omitempty"`
}

OfferNBNetbanking struct for OfferNBNetbanking

func (OfferNBNetbanking) MarshalJSON

func (o OfferNBNetbanking) MarshalJSON() ([]byte, error)

func (OfferNBNetbanking) ToMap

func (o OfferNBNetbanking) ToMap() (map[string]interface{}, error)

type OfferPaylater

type OfferPaylater struct {
	Paylater PaylaterOffer `json:"paylater"`
}

OfferPaylater Offer object for paylater

func (OfferPaylater) MarshalJSON

func (o OfferPaylater) MarshalJSON() ([]byte, error)

func (OfferPaylater) ToMap

func (o OfferPaylater) ToMap() (map[string]interface{}, error)

type OfferQueries

type OfferQueries struct {
	// OrderId of the order. Either of `order_id` or `order_amount` is mandatory.
	OrderId *string `json:"order_id,omitempty"`
	// Amount of the order. OrderId of the order. Either of `order_id` or `order_amount` is mandatory.
	Amount *float32 `json:"amount,omitempty"`
}

OfferQueries Offer Query Object

func (OfferQueries) MarshalJSON

func (o OfferQueries) MarshalJSON() ([]byte, error)

func (OfferQueries) ToMap

func (o OfferQueries) ToMap() (map[string]interface{}, error)

type OfferTnc

type OfferTnc struct {
	// TnC Type for the Offer. It can be either `text` or `link`
	OfferTncType string `json:"offer_tnc_type"`
	// TnC for the Offer.
	OfferTncValue string `json:"offer_tnc_value"`
}

OfferTnc Offer terms and condition object

func (OfferTnc) MarshalJSON

func (o OfferTnc) MarshalJSON() ([]byte, error)

func (OfferTnc) ToMap

func (o OfferTnc) ToMap() (map[string]interface{}, error)

type OfferType

type OfferType string

OfferType Offer Type Object

const (
	DISCOUNT              OfferType = "DISCOUNT"
	CASHBACK              OfferType = "CASHBACK"
	DISCOUNT_AND_CASHBACK OfferType = "DISCOUNT_AND_CASHBACK"
	NO_COST_EMI           OfferType = "NO_COST_EMI"
)

List of OfferType

func NewOfferTypeFromValue

func NewOfferTypeFromValue(v string) (*OfferType, error)

NewOfferTypeFromValue returns a pointer to a valid OfferType for the value passed as argument, or an error if the value passed is not allowed by the enum

func (OfferType) IsValid

func (v OfferType) IsValid() bool

IsValid return true if the value is valid for the enum, false otherwise

func (*OfferType) UnmarshalJSON

func (v *OfferType) UnmarshalJSON(src []byte) error

type OfferUPI

type OfferUPI struct {
	Upi map[string]interface{} `json:"upi"`
}

OfferUPI Offer object for UPI

func (OfferUPI) MarshalJSON

func (o OfferUPI) MarshalJSON() ([]byte, error)

func (OfferUPI) ToMap

func (o OfferUPI) ToMap() (map[string]interface{}, error)

type OfferValidations

type OfferValidations struct {
	// Minimum Amount for Offer to be Applicable
	MinAmount *float32 `json:"min_amount,omitempty"`
	// Maximum Amount for Offer to be Applicable
	MaxAllowed    float32                       `json:"max_allowed"`
	PaymentMethod OfferValidationsPaymentMethod `json:"payment_method"`
}

OfferValidations Offer validation object

func (OfferValidations) MarshalJSON

func (o OfferValidations) MarshalJSON() ([]byte, error)

func (OfferValidations) ToMap

func (o OfferValidations) ToMap() (map[string]interface{}, error)

type OfferValidationsPaymentMethod

type OfferValidationsPaymentMethod struct {
	OfferAll      *OfferAll
	OfferCard     *OfferCard
	OfferEMI      *OfferEMI
	OfferNB       *OfferNB
	OfferPaylater *OfferPaylater
	OfferUPI      *OfferUPI
	OfferWallet   *OfferWallet
}

OfferValidationsPaymentMethod - struct for OfferValidationsPaymentMethod

func OfferAllAsOfferValidationsPaymentMethod

func OfferAllAsOfferValidationsPaymentMethod(v *OfferAll) OfferValidationsPaymentMethod

OfferAllAsOfferValidationsPaymentMethod is a convenience function that returns OfferAll wrapped in OfferValidationsPaymentMethod

func OfferCardAsOfferValidationsPaymentMethod

func OfferCardAsOfferValidationsPaymentMethod(v *OfferCard) OfferValidationsPaymentMethod

OfferCardAsOfferValidationsPaymentMethod is a convenience function that returns OfferCard wrapped in OfferValidationsPaymentMethod

func OfferEMIAsOfferValidationsPaymentMethod

func OfferEMIAsOfferValidationsPaymentMethod(v *OfferEMI) OfferValidationsPaymentMethod

OfferEMIAsOfferValidationsPaymentMethod is a convenience function that returns OfferEMI wrapped in OfferValidationsPaymentMethod

func OfferNBAsOfferValidationsPaymentMethod

func OfferNBAsOfferValidationsPaymentMethod(v *OfferNB) OfferValidationsPaymentMethod

OfferNBAsOfferValidationsPaymentMethod is a convenience function that returns OfferNB wrapped in OfferValidationsPaymentMethod

func OfferPaylaterAsOfferValidationsPaymentMethod

func OfferPaylaterAsOfferValidationsPaymentMethod(v *OfferPaylater) OfferValidationsPaymentMethod

OfferPaylaterAsOfferValidationsPaymentMethod is a convenience function that returns OfferPaylater wrapped in OfferValidationsPaymentMethod

func OfferUPIAsOfferValidationsPaymentMethod

func OfferUPIAsOfferValidationsPaymentMethod(v *OfferUPI) OfferValidationsPaymentMethod

OfferUPIAsOfferValidationsPaymentMethod is a convenience function that returns OfferUPI wrapped in OfferValidationsPaymentMethod

func OfferWalletAsOfferValidationsPaymentMethod

func OfferWalletAsOfferValidationsPaymentMethod(v *OfferWallet) OfferValidationsPaymentMethod

OfferWalletAsOfferValidationsPaymentMethod is a convenience function that returns OfferWallet wrapped in OfferValidationsPaymentMethod

func (*OfferValidationsPaymentMethod) GetActualInstance

func (obj *OfferValidationsPaymentMethod) GetActualInstance() interface{}

Get the actual instance

func (OfferValidationsPaymentMethod) MarshalJSON

func (src OfferValidationsPaymentMethod) MarshalJSON() ([]byte, error)

Marshal data from the first non-nil pointers in the struct to JSON

func (*OfferValidationsPaymentMethod) UnmarshalJSON

func (dst *OfferValidationsPaymentMethod) UnmarshalJSON(data []byte) error

Unmarshal JSON data into one of the pointers in the struct

type OfferWallet

type OfferWallet struct {
	App WalletOffer `json:"app"`
}

OfferWallet Offer object for wallet payment method

func (OfferWallet) MarshalJSON

func (o OfferWallet) MarshalJSON() ([]byte, error)

func (OfferWallet) ToMap

func (o OfferWallet) ToMap() (map[string]interface{}, error)

type OrderAuthenticateEntity

type OrderAuthenticateEntity struct {
	// The payment id for which this request was sent
	CfPaymentId *string `json:"cf_payment_id,omitempty"`
	// The action that was invoked for this request.
	Action *string `json:"action,omitempty"`
	// Status of the is action. Will be either failed or successful. If the action is successful, you should still call the authorization status to verify the final payment status.
	AuthenticateStatus *string `json:"authenticate_status,omitempty"`
	// Human readable message which describes the status in more detail
	PaymentMessage *string `json:"payment_message,omitempty"`
}

OrderAuthenticateEntity This is the response shared when merchant inovkes the OTP submit or resend API

func PGOrderAuthenticatePayment

func PGOrderAuthenticatePayment(xApiVersion *string, cfPaymentId string, orderAuthenticatePaymentRequest *OrderAuthenticatePaymentRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderAuthenticateEntity, *http.Response, error)

Execute executes the request

@return OrderAuthenticateEntity

func PGOrderAuthenticatePaymentWithContext

func PGOrderAuthenticatePaymentWithContext(ctx context.Context, xApiVersion *string, cfPaymentId string, orderAuthenticatePaymentRequest *OrderAuthenticatePaymentRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderAuthenticateEntity, *http.Response, error)

With Context Execute executes the request

@return OrderAuthenticateEntity

func (OrderAuthenticateEntity) MarshalJSON

func (o OrderAuthenticateEntity) MarshalJSON() ([]byte, error)

func (OrderAuthenticateEntity) ToMap

func (o OrderAuthenticateEntity) ToMap() (map[string]interface{}, error)

type OrderAuthenticatePaymentRequest

type OrderAuthenticatePaymentRequest struct {
	// OTP to be submitted
	Otp string `json:"otp"`
	// The action for this workflow. Could be either SUBMIT_OTP or RESEND_OTP
	Action string `json:"action"`
}

OrderAuthenticatePaymentRequest OTP to be submitted for headless/native OTP

func (OrderAuthenticatePaymentRequest) MarshalJSON

func (o OrderAuthenticatePaymentRequest) MarshalJSON() ([]byte, error)

func (OrderAuthenticatePaymentRequest) ToMap

func (o OrderAuthenticatePaymentRequest) ToMap() (map[string]interface{}, error)

type OrderCreateRefundRequest

type OrderCreateRefundRequest struct {
	// Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)
	RefundAmount float64 `json:"refund_amount"`
	// An unique ID to associate the refund with. Provie alphanumeric values
	RefundId string `json:"refund_id"`
	// A refund note for your reference.
	RefundNote *string `json:"refund_note,omitempty"`
	// Speed at which the refund is processed. It's an optional field with default being STANDARD
	RefundSpeed  *string       `json:"refund_speed,omitempty"`
	RefundSplits []VendorSplit `json:"refund_splits,omitempty"`
}

OrderCreateRefundRequest create refund request object

func (OrderCreateRefundRequest) MarshalJSON

func (o OrderCreateRefundRequest) MarshalJSON() ([]byte, error)

func (OrderCreateRefundRequest) ToMap

func (o OrderCreateRefundRequest) ToMap() (map[string]interface{}, error)

type OrderEntity

type OrderEntity struct {
	// unique id generated by cashfree for your order
	CfOrderId *string `json:"cf_order_id,omitempty"`
	// order_id sent during the api request
	OrderId *string `json:"order_id,omitempty"`
	// Type of the entity.
	Entity *string `json:"entity,omitempty"`
	// Currency of the order. Example INR
	OrderCurrency *string  `json:"order_currency,omitempty"`
	OrderAmount   *float32 `json:"order_amount,omitempty"`
	// Possible values are  - `ACTIVE`: Order does not have a sucessful transaction yet - `PAID`: Order is PAID with one successful transaction - `EXPIRED`: Order was not PAID and not it has expired. No transaction can be initiated for an EXPIRED order. `TERMINATED`: Order terminated `TERMINATION_REQUESTED`: Order termination requested
	OrderStatus      *string    `json:"order_status,omitempty"`
	PaymentSessionId *string    `json:"payment_session_id,omitempty"`
	OrderExpiryTime  *time.Time `json:"order_expiry_time,omitempty"`
	// Additional note for order
	OrderNote *string `json:"order_note,omitempty"`
	// When the order was created at cashfree's server
	CreatedAt       *time.Time       `json:"created_at,omitempty"`
	OrderSplits     []VendorSplit    `json:"order_splits,omitempty"`
	CustomerDetails *CustomerDetails `json:"customer_details,omitempty"`
	OrderMeta       *OrderMeta       `json:"order_meta,omitempty"`
	// Custom Tags in thr form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added
	OrderTags *map[string]string `json:"order_tags,omitempty"`
}

OrderEntity The complete order entity

func PGCreateOrder

func PGCreateOrder(xApiVersion *string, createOrderRequest *CreateOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderEntity, *http.Response, error)

Execute executes the request

@return OrderEntity

func PGCreateOrderWithContext

func PGCreateOrderWithContext(ctx context.Context, xApiVersion *string, createOrderRequest *CreateOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderEntity, *http.Response, error)

With Context Execute executes the request

@return OrderEntity

func PGFetchOrder

func PGFetchOrder(xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderEntity, *http.Response, error)

Execute executes the request

@return OrderEntity

func PGFetchOrderWithContext

func PGFetchOrderWithContext(ctx context.Context, xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderEntity, *http.Response, error)

With Context Execute executes the request

@return OrderEntity

func PGTerminateOrder

func PGTerminateOrder(xApiVersion *string, orderId string, terminateOrderRequest *TerminateOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderEntity, *http.Response, error)

Execute executes the request

@return OrderEntity

func PGTerminateOrderWithContext

func PGTerminateOrderWithContext(ctx context.Context, xApiVersion *string, orderId string, terminateOrderRequest *TerminateOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*OrderEntity, *http.Response, error)

With Context Execute executes the request

@return OrderEntity

func (OrderEntity) MarshalJSON

func (o OrderEntity) MarshalJSON() ([]byte, error)

func (OrderEntity) ToMap

func (o OrderEntity) ToMap() (map[string]interface{}, error)

type OrderMeta

type OrderMeta struct {
	// The URL to which user will be redirected to after the payment on bank OTP page. Maximum length: 250. We suggest to keep context of order_id in your return_url so that you can identify the order when customer lands on your page. Example of return_url format could be https://example.com/return?order_id=myOrderId
	ReturnUrl *string `json:"return_url,omitempty"`
	// Notification URL for server-server communication. Useful when user's connection drops while re-directing. NotifyUrl should be an https URL. Maximum length: 250.
	NotifyUrl *string `json:"notify_url,omitempty"`
	// Allowed payment modes for this order. Pass comma-separated values among following options - \"cc\", \"dc\", \"ccc\", \"ppc\",\"nb\",\"upi\",\"paypal\",\"app\",\"paylater\",\"cardlessemi\",\"dcemi\",\"ccemi\",\"banktransfer\". Leave it blank to show all available payment methods
	PaymentMethods interface{} `json:"payment_methods,omitempty"`
}

OrderMeta Optional meta details to control how the customer pays and how payment journey completes

func (OrderMeta) MarshalJSON

func (o OrderMeta) MarshalJSON() ([]byte, error)

func (OrderMeta) ToMap

func (o OrderMeta) ToMap() (map[string]interface{}, error)

type OrderPayData

type OrderPayData struct {
	Url         *string                `json:"url,omitempty"`
	Payload     map[string]interface{} `json:"payload,omitempty"`
	ContentType *string                `json:"content_type,omitempty"`
	Method      *string                `json:"method,omitempty"`
}

OrderPayData the data object pay api

func (OrderPayData) MarshalJSON

func (o OrderPayData) MarshalJSON() ([]byte, error)

func (OrderPayData) ToMap

func (o OrderPayData) ToMap() (map[string]interface{}, error)

type PGWebhookEvent

type PGWebhookEvent struct {
	Type   string
	Raw    string
	Object interface{}
}

func PGVerifyWebhookSignature

func PGVerifyWebhookSignature(signature string, rawBody string, timestamp string) (*PGWebhookEvent, error)

Execute executes the request @return PGWebhookEvent

type PayOrderEntity

type PayOrderEntity struct {
	// total amount payable
	PaymentAmount *float32 `json:"payment_amount,omitempty"`
	// Payment identifier created by Cashfree
	CfPaymentId *string `json:"cf_payment_id,omitempty"`
	// One of [\"upi\", \"netbanking\", \"card\", \"app\", \"cardless_emi\", \"paylater\", \"banktransfer\"]
	PaymentMethod *string `json:"payment_method,omitempty"`
	// One of [\"link\", \"collect\", \"qrcode\"]. In an older version we used to support different channels like 'gpay', 'phonepe' etc. However, we now support only the following channels - link, collect and qrcode. To process payments using gpay, you will have to provide channel as 'link' and provider as 'gpay'
	Channel *string `json:"channel,omitempty"`
	// One of [\"link\", \"custom\", \"form\"]
	Action *string       `json:"action,omitempty"`
	Data   *OrderPayData `json:"data,omitempty"`
}

PayOrderEntity Order Pay response once you create a transaction for that order

func PGPayOrder

func PGPayOrder(xApiVersion *string, payOrderRequest *PayOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*PayOrderEntity, *http.Response, error)

Execute executes the request

@return PayOrderEntity

func PGPayOrderWithContext

func PGPayOrderWithContext(ctx context.Context, xApiVersion *string, payOrderRequest *PayOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*PayOrderEntity, *http.Response, error)

With Context Execute executes the request

@return PayOrderEntity

func (PayOrderEntity) MarshalJSON

func (o PayOrderEntity) MarshalJSON() ([]byte, error)

func (PayOrderEntity) ToMap

func (o PayOrderEntity) ToMap() (map[string]interface{}, error)

type PayOrderRequest

type PayOrderRequest struct {
	PaymentSessionId string                       `json:"payment_session_id"`
	PaymentMethod    PayOrderRequestPaymentMethod `json:"payment_method"`
	SaveInstrument   *bool                        `json:"save_instrument,omitempty"`
	// This is required if any offers needs to be applied to the order.
	OfferId *string `json:"offer_id,omitempty"`
}

PayOrderRequest Complete object for the pay api that uses payment method objects

func (PayOrderRequest) MarshalJSON

func (o PayOrderRequest) MarshalJSON() ([]byte, error)

func (PayOrderRequest) ToMap

func (o PayOrderRequest) ToMap() (map[string]interface{}, error)

type PayOrderRequestPaymentMethod

type PayOrderRequestPaymentMethod struct {
	AppPaymentMethod          *AppPaymentMethod
	BanktransferPaymentMethod *BanktransferPaymentMethod
	CardEMIPaymentMethod      *CardEMIPaymentMethod
	CardPaymentMethod         *CardPaymentMethod
	CardlessEMIPaymentMethod  *CardlessEMIPaymentMethod
	NetBankingPaymentMethod   *NetBankingPaymentMethod
	PaylaterPaymentMethod     *PaylaterPaymentMethod
	UPIPaymentMethod          *UPIPaymentMethod
}

PayOrderRequestPaymentMethod - struct for PayOrderRequestPaymentMethod

func AppPaymentMethodAsPayOrderRequestPaymentMethod

func AppPaymentMethodAsPayOrderRequestPaymentMethod(v *AppPaymentMethod) PayOrderRequestPaymentMethod

AppPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns AppPaymentMethod wrapped in PayOrderRequestPaymentMethod

func BanktransferPaymentMethodAsPayOrderRequestPaymentMethod added in v4.0.8

func BanktransferPaymentMethodAsPayOrderRequestPaymentMethod(v *BanktransferPaymentMethod) PayOrderRequestPaymentMethod

BanktransferPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns BanktransferPaymentMethod wrapped in PayOrderRequestPaymentMethod

func CardEMIPaymentMethodAsPayOrderRequestPaymentMethod

func CardEMIPaymentMethodAsPayOrderRequestPaymentMethod(v *CardEMIPaymentMethod) PayOrderRequestPaymentMethod

CardEMIPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns CardEMIPaymentMethod wrapped in PayOrderRequestPaymentMethod

func CardPaymentMethodAsPayOrderRequestPaymentMethod

func CardPaymentMethodAsPayOrderRequestPaymentMethod(v *CardPaymentMethod) PayOrderRequestPaymentMethod

CardPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns CardPaymentMethod wrapped in PayOrderRequestPaymentMethod

func CardlessEMIPaymentMethodAsPayOrderRequestPaymentMethod

func CardlessEMIPaymentMethodAsPayOrderRequestPaymentMethod(v *CardlessEMIPaymentMethod) PayOrderRequestPaymentMethod

CardlessEMIPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns CardlessEMIPaymentMethod wrapped in PayOrderRequestPaymentMethod

func NetBankingPaymentMethodAsPayOrderRequestPaymentMethod

func NetBankingPaymentMethodAsPayOrderRequestPaymentMethod(v *NetBankingPaymentMethod) PayOrderRequestPaymentMethod

NetBankingPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns NetBankingPaymentMethod wrapped in PayOrderRequestPaymentMethod

func PaylaterPaymentMethodAsPayOrderRequestPaymentMethod

func PaylaterPaymentMethodAsPayOrderRequestPaymentMethod(v *PaylaterPaymentMethod) PayOrderRequestPaymentMethod

PaylaterPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns PaylaterPaymentMethod wrapped in PayOrderRequestPaymentMethod

func UPIPaymentMethodAsPayOrderRequestPaymentMethod

func UPIPaymentMethodAsPayOrderRequestPaymentMethod(v *UPIPaymentMethod) PayOrderRequestPaymentMethod

UPIPaymentMethodAsPayOrderRequestPaymentMethod is a convenience function that returns UPIPaymentMethod wrapped in PayOrderRequestPaymentMethod

func (*PayOrderRequestPaymentMethod) GetActualInstance

func (obj *PayOrderRequestPaymentMethod) GetActualInstance() interface{}

Get the actual instance

func (PayOrderRequestPaymentMethod) MarshalJSON

func (src PayOrderRequestPaymentMethod) MarshalJSON() ([]byte, error)

Marshal data from the first non-nil pointers in the struct to JSON

func (*PayOrderRequestPaymentMethod) UnmarshalJSON

func (dst *PayOrderRequestPaymentMethod) UnmarshalJSON(data []byte) error

Unmarshal JSON data into one of the pointers in the struct

type Paylater

type Paylater struct {
	// The channel for cardless EMI is always `link`
	Channel *string `json:"channel,omitempty"`
	// One of [\"kotak\", \"flexipay\", \"zestmoney\", \"lazypay\", \"olapostpaid\",\"simpl\", \"freechargepaylater\"]. Please note that Flexipay is offered by HDFC bank
	Provider *string `json:"provider,omitempty"`
	// Customers phone number for this payment instrument. If the customer is not eligible you will receive a 400 error with type as 'invalid_request_error' and code as 'invalid_request_error'
	Phone *string `json:"phone,omitempty"`
}

Paylater Paylater payment method

func (Paylater) MarshalJSON

func (o Paylater) MarshalJSON() ([]byte, error)

func (Paylater) ToMap

func (o Paylater) ToMap() (map[string]interface{}, error)

type PaylaterEntity

type PaylaterEntity struct {
	PaymentMethod *string `json:"payment_method,omitempty"`
}

PaylaterEntity Paylater Entity

func (PaylaterEntity) MarshalJSON

func (o PaylaterEntity) MarshalJSON() ([]byte, error)

func (PaylaterEntity) ToMap

func (o PaylaterEntity) ToMap() (map[string]interface{}, error)

type PaylaterOffer

type PaylaterOffer struct {
	Provider *string `json:"provider,omitempty"`
}

PaylaterOffer struct for PaylaterOffer

func (PaylaterOffer) MarshalJSON

func (o PaylaterOffer) MarshalJSON() ([]byte, error)

func (PaylaterOffer) ToMap

func (o PaylaterOffer) ToMap() (map[string]interface{}, error)

type PaylaterPaymentMethod

type PaylaterPaymentMethod struct {
	Paylater Paylater `json:"paylater"`
}

PaylaterPaymentMethod paylater payment method

func (PaylaterPaymentMethod) MarshalJSON

func (o PaylaterPaymentMethod) MarshalJSON() ([]byte, error)

func (PaylaterPaymentMethod) ToMap

func (o PaylaterPaymentMethod) ToMap() (map[string]interface{}, error)

type PaymentEntity

type PaymentEntity struct {
	CfPaymentId  *string                       `json:"cf_payment_id,omitempty"`
	OrderId      *string                       `json:"order_id,omitempty"`
	Entity       *string                       `json:"entity,omitempty"`
	ErrorDetails *ErrorDetailsInPaymentsEntity `json:"error_details,omitempty"`
	IsCaptured   *bool                         `json:"is_captured,omitempty"`
	// Order amount can be different from payment amount if you collect service fee from the customer
	OrderAmount *float32 `json:"order_amount,omitempty"`
	// Type of payment group. One of ['prepaid_card', 'upi_ppi_offline', 'cash', 'upi_credit_card', 'paypal', 'net_banking', 'cardless_emi', 'credit_card', 'bank_transfer', 'pay_later', 'debit_card_emi', 'debit_card', 'wallet', 'upi_ppi', 'upi', 'credit_card_emi']
	PaymentGroup    *string  `json:"payment_group,omitempty"`
	PaymentCurrency *string  `json:"payment_currency,omitempty"`
	PaymentAmount   *float32 `json:"payment_amount,omitempty"`
	// This is the time when the payment was initiated
	PaymentTime *string `json:"payment_time,omitempty"`
	// This is the time when the payment reaches its terminal state
	PaymentCompletionTime *string `json:"payment_completion_time,omitempty"`
	// The transaction status can be one of  [\"SUCCESS\", \"NOT_ATTEMPTED\", \"FAILED\", \"USER_DROPPED\", \"VOID\", \"CANCELLED\", \"PENDING\"]
	PaymentStatus  *string                        `json:"payment_status,omitempty"`
	PaymentMessage *string                        `json:"payment_message,omitempty"`
	BankReference  *string                        `json:"bank_reference,omitempty"`
	AuthId         *string                        `json:"auth_id,omitempty"`
	Authorization  *AuthorizationInPaymentsEntity `json:"authorization,omitempty"`
	PaymentMethod  *PaymentEntityPaymentMethod    `json:"payment_method,omitempty"`
}

PaymentEntity payment entity full object

func PGAuthorizeOrder

func PGAuthorizeOrder(xApiVersion *string, orderId string, authorizeOrderRequest *AuthorizeOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*PaymentEntity, *http.Response, error)

Execute executes the request

@return PaymentEntity

func PGAuthorizeOrderWithContext

func PGAuthorizeOrderWithContext(ctx context.Context, xApiVersion *string, orderId string, authorizeOrderRequest *AuthorizeOrderRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*PaymentEntity, *http.Response, error)

With Context Execute executes the request

@return PaymentEntity

func PGOrderFetchPayment

func PGOrderFetchPayment(xApiVersion *string, orderId string, cfPaymentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*PaymentEntity, *http.Response, error)

Execute executes the request

@return PaymentEntity

func PGOrderFetchPaymentWithContext

func PGOrderFetchPaymentWithContext(ctx context.Context, xApiVersion *string, orderId string, cfPaymentId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*PaymentEntity, *http.Response, error)

With Context Execute executes the request

@return PaymentEntity

func PGOrderFetchPayments

func PGOrderFetchPayments(xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]PaymentEntity, *http.Response, error)

Execute executes the request

@return []PaymentEntity

func PGOrderFetchPaymentsWithContext

func PGOrderFetchPaymentsWithContext(ctx context.Context, xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]PaymentEntity, *http.Response, error)

With Context Execute executes the request

@return []PaymentEntity

func (PaymentEntity) MarshalJSON

func (o PaymentEntity) MarshalJSON() ([]byte, error)

func (PaymentEntity) ToMap

func (o PaymentEntity) ToMap() (map[string]interface{}, error)

type PaymentEntityPaymentMethod added in v4.0.3

type PaymentEntityPaymentMethod struct {
	PaymentMethodAppInPaymentsEntity          *PaymentMethodAppInPaymentsEntity
	PaymentMethodBankTransferInPaymentsEntity *PaymentMethodBankTransferInPaymentsEntity
	PaymentMethodCardEMIInPaymentsEntity      *PaymentMethodCardEMIInPaymentsEntity
	PaymentMethodCardInPaymentsEntity         *PaymentMethodCardInPaymentsEntity
	PaymentMethodCardlessEMIInPaymentsEntity  *PaymentMethodCardlessEMIInPaymentsEntity
	PaymentMethodNetBankingInPaymentsEntity   *PaymentMethodNetBankingInPaymentsEntity
	PaymentMethodPaylaterInPaymentsEntity     *PaymentMethodPaylaterInPaymentsEntity
	PaymentMethodUPIInPaymentsEntity          *PaymentMethodUPIInPaymentsEntity
}

PaymentEntityPaymentMethod - struct for PaymentEntityPaymentMethod

func PaymentMethodAppInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodAppInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodAppInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodAppInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodAppInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodBankTransferInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.8

func PaymentMethodBankTransferInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodBankTransferInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodBankTransferInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodBankTransferInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodCardEMIInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodCardEMIInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodCardEMIInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodCardEMIInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodCardEMIInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodCardInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodCardInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodCardInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodCardInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodCardInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodCardlessEMIInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodCardlessEMIInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodCardlessEMIInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodCardlessEMIInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodCardlessEMIInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodNetBankingInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodNetBankingInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodNetBankingInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodNetBankingInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodNetBankingInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodPaylaterInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodPaylaterInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodPaylaterInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodPaylaterInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodPaylaterInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func PaymentMethodUPIInPaymentsEntityAsPaymentEntityPaymentMethod added in v4.0.3

func PaymentMethodUPIInPaymentsEntityAsPaymentEntityPaymentMethod(v *PaymentMethodUPIInPaymentsEntity) PaymentEntityPaymentMethod

PaymentMethodUPIInPaymentsEntityAsPaymentEntityPaymentMethod is a convenience function that returns PaymentMethodUPIInPaymentsEntity wrapped in PaymentEntityPaymentMethod

func (*PaymentEntityPaymentMethod) GetActualInstance added in v4.0.3

func (obj *PaymentEntityPaymentMethod) GetActualInstance() interface{}

Get the actual instance

func (PaymentEntityPaymentMethod) MarshalJSON added in v4.0.3

func (src PaymentEntityPaymentMethod) MarshalJSON() ([]byte, error)

Marshal data from the first non-nil pointers in the struct to JSON

func (*PaymentEntityPaymentMethod) UnmarshalJSON added in v4.0.3

func (dst *PaymentEntityPaymentMethod) UnmarshalJSON(data []byte) error

Unmarshal JSON data into one of the pointers in the struct

type PaymentLinkCustomerDetails added in v4.0.2

type PaymentLinkCustomerDetails struct {
	// A unique identifier for the customer. Use alphanumeric values only.
	CustomerId *string `json:"customer_id,omitempty"`
	// Customer email address.
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer phone number.
	CustomerPhone string `json:"customer_phone"`
	// Name of the customer.
	CustomerName *string `json:"customer_name,omitempty"`
	// Customer bank account. Required if you want to do a bank account check (TPV)
	CustomerBankAccountNumber *string `json:"customer_bank_account_number,omitempty"`
	// Customer bank IFSC. Required if you want to do a bank account check (TPV)
	CustomerBankIfsc *string `json:"customer_bank_ifsc,omitempty"`
	// Customer bank code. Required for net banking payments, if you want to do a bank account check (TPV)
	CustomerBankCode *float32 `json:"customer_bank_code,omitempty"`
}

PaymentLinkCustomerDetails The customer details that are necessary. Note that you can pass dummy details if your use case does not require the customer details.

func (PaymentLinkCustomerDetails) MarshalJSON added in v4.0.2

func (o PaymentLinkCustomerDetails) MarshalJSON() ([]byte, error)

func (PaymentLinkCustomerDetails) ToMap added in v4.0.2

func (o PaymentLinkCustomerDetails) ToMap() (map[string]interface{}, error)

type PaymentLinkOrderEntity added in v4.0.2

type PaymentLinkOrderEntity struct {
	// unique id generated by cashfree for your order
	CfOrderId *string `json:"cf_order_id,omitempty"`
	// link id of the order
	LinkId *string `json:"link_id,omitempty"`
	// order_id sent during the api request
	OrderId *string `json:"order_id,omitempty"`
	// Type of the entity.
	Entity *string `json:"entity,omitempty"`
	// Currency of the order. Example INR
	OrderCurrency *string  `json:"order_currency,omitempty"`
	OrderAmount   *float32 `json:"order_amount,omitempty"`
	// Possible values are  - `ACTIVE`: Order does not have a sucessful transaction yet - `PAID`: Order is PAID with one successful transaction - `EXPIRED`: Order was not PAID and not it has expired. No transaction can be initiated for an EXPIRED order.
	OrderStatus      *string    `json:"order_status,omitempty"`
	PaymentSessionId *string    `json:"payment_session_id,omitempty"`
	OrderExpiryTime  *time.Time `json:"order_expiry_time,omitempty"`
	// Additional note for order
	OrderNote *string `json:"order_note,omitempty"`
	// When the order was created at cashfree's server
	CreatedAt       *time.Time                  `json:"created_at,omitempty"`
	OrderSplits     []VendorSplit               `json:"order_splits,omitempty"`
	CustomerDetails *PaymentLinkCustomerDetails `json:"customer_details,omitempty"`
	OrderMeta       *OrderMeta                  `json:"order_meta,omitempty"`
	// Custom Tags in thr form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added
	OrderTags *map[string]string `json:"order_tags,omitempty"`
}

PaymentLinkOrderEntity The complete order entity

func PGLinkFetchOrders

func PGLinkFetchOrders(xApiVersion *string, linkId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]PaymentLinkOrderEntity, *http.Response, error)

Execute executes the request

@return []PaymentLinkOrderEntity

func PGLinkFetchOrdersWithContext

func PGLinkFetchOrdersWithContext(ctx context.Context, xApiVersion *string, linkId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]PaymentLinkOrderEntity, *http.Response, error)

With Context Execute executes the request

@return []PaymentLinkOrderEntity

func (PaymentLinkOrderEntity) MarshalJSON added in v4.0.2

func (o PaymentLinkOrderEntity) MarshalJSON() ([]byte, error)

func (PaymentLinkOrderEntity) ToMap added in v4.0.2

func (o PaymentLinkOrderEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodAppInPaymentsEntity

type PaymentMethodAppInPaymentsEntity struct {
	App *PaymentMethodAppInPaymentsEntityApp `json:"app,omitempty"`
}

PaymentMethodAppInPaymentsEntity payment method app object in payment entity

func (PaymentMethodAppInPaymentsEntity) MarshalJSON

func (o PaymentMethodAppInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodAppInPaymentsEntity) ToMap

func (o PaymentMethodAppInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodAppInPaymentsEntityApp added in v4.0.3

type PaymentMethodAppInPaymentsEntityApp struct {
	Channel  *string `json:"channel,omitempty"`
	Provider *string `json:"provider,omitempty"`
	Phone    *string `json:"phone,omitempty"`
}

PaymentMethodAppInPaymentsEntityApp struct for PaymentMethodAppInPaymentsEntityApp

func (PaymentMethodAppInPaymentsEntityApp) MarshalJSON added in v4.0.3

func (o PaymentMethodAppInPaymentsEntityApp) MarshalJSON() ([]byte, error)

func (PaymentMethodAppInPaymentsEntityApp) ToMap added in v4.0.3

func (o PaymentMethodAppInPaymentsEntityApp) ToMap() (map[string]interface{}, error)

type PaymentMethodBankTransferInPaymentsEntity added in v4.0.8

type PaymentMethodBankTransferInPaymentsEntity struct {
	Banktransfer *PaymentMethodBankTransferInPaymentsEntityBanktransfer `json:"banktransfer,omitempty"`
}

PaymentMethodBankTransferInPaymentsEntity payment method bank transfer object in payment entity

func (PaymentMethodBankTransferInPaymentsEntity) MarshalJSON added in v4.0.8

func (PaymentMethodBankTransferInPaymentsEntity) ToMap added in v4.0.8

func (o PaymentMethodBankTransferInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodBankTransferInPaymentsEntityBanktransfer added in v4.0.8

type PaymentMethodBankTransferInPaymentsEntityBanktransfer struct {
	Channel                   *string `json:"channel,omitempty"`
	BanktransferBankName      *string `json:"banktransfer_bank_name,omitempty"`
	BanktransferIfsc          *string `json:"banktransfer_ifsc,omitempty"`
	BanktransferAccountNumber *string `json:"banktransfer_account_number,omitempty"`
}

PaymentMethodBankTransferInPaymentsEntityBanktransfer struct for PaymentMethodBankTransferInPaymentsEntityBanktransfer

func (PaymentMethodBankTransferInPaymentsEntityBanktransfer) MarshalJSON added in v4.0.8

func (PaymentMethodBankTransferInPaymentsEntityBanktransfer) ToMap added in v4.0.8

type PaymentMethodCardEMIInPaymentsEntity added in v4.0.3

type PaymentMethodCardEMIInPaymentsEntity struct {
	Emi *PaymentMethodCardEMIInPaymentsEntityEmi `json:"emi,omitempty"`
}

PaymentMethodCardEMIInPaymentsEntity payment method card emi object in payment entity

func (PaymentMethodCardEMIInPaymentsEntity) MarshalJSON added in v4.0.3

func (o PaymentMethodCardEMIInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodCardEMIInPaymentsEntity) ToMap added in v4.0.3

func (o PaymentMethodCardEMIInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodCardEMIInPaymentsEntityEmi added in v4.0.3

type PaymentMethodCardEMIInPaymentsEntityEmi struct {
	Channel                *string                                            `json:"channel,omitempty"`
	CardNumber             *string                                            `json:"card_number,omitempty"`
	CardNetwork            *string                                            `json:"card_network,omitempty"`
	CardType               *string                                            `json:"card_type,omitempty"`
	CardCountry            *string                                            `json:"card_country,omitempty"`
	CardBankName           *string                                            `json:"card_bank_name,omitempty"`
	CardNetworkReferenceId *string                                            `json:"card_network_reference_id,omitempty"`
	EmiTenure              *float32                                           `json:"emi_tenure,omitempty"`
	EmiDetails             *PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails `json:"emi_details,omitempty"`
}

PaymentMethodCardEMIInPaymentsEntityEmi struct for PaymentMethodCardEMIInPaymentsEntityEmi

func (PaymentMethodCardEMIInPaymentsEntityEmi) MarshalJSON added in v4.0.3

func (o PaymentMethodCardEMIInPaymentsEntityEmi) MarshalJSON() ([]byte, error)

func (PaymentMethodCardEMIInPaymentsEntityEmi) ToMap added in v4.0.3

func (o PaymentMethodCardEMIInPaymentsEntityEmi) ToMap() (map[string]interface{}, error)

type PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails added in v4.0.3

type PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails struct {
	EmiAmount   *float32 `json:"emi_amount,omitempty"`
	EmiTenure   *float32 `json:"emi_tenure,omitempty"`
	EmiInterest *float32 `json:"emi_interest,omitempty"`
}

PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails struct for PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails

func (PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails) MarshalJSON added in v4.0.3

func (PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails) ToMap added in v4.0.3

func (o PaymentMethodCardEMIInPaymentsEntityEmiEmiDetails) ToMap() (map[string]interface{}, error)

type PaymentMethodCardInPaymentsEntity

type PaymentMethodCardInPaymentsEntity struct {
	Card *PaymentMethodCardInPaymentsEntityCard `json:"card,omitempty"`
}

PaymentMethodCardInPaymentsEntity payment method card object in payment entity

func (PaymentMethodCardInPaymentsEntity) MarshalJSON

func (o PaymentMethodCardInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodCardInPaymentsEntity) ToMap

func (o PaymentMethodCardInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodCardInPaymentsEntityCard added in v4.0.3

type PaymentMethodCardInPaymentsEntityCard struct {
	Channel                *string `json:"channel,omitempty"`
	CardNumber             *string `json:"card_number,omitempty"`
	CardNetwork            *string `json:"card_network,omitempty"`
	CardType               *string `json:"card_type,omitempty"`
	CardCountry            *string `json:"card_country,omitempty"`
	CardBankName           *string `json:"card_bank_name,omitempty"`
	CardNetworkReferenceId *string `json:"card_network_reference_id,omitempty"`
}

PaymentMethodCardInPaymentsEntityCard struct for PaymentMethodCardInPaymentsEntityCard

func (PaymentMethodCardInPaymentsEntityCard) MarshalJSON added in v4.0.3

func (o PaymentMethodCardInPaymentsEntityCard) MarshalJSON() ([]byte, error)

func (PaymentMethodCardInPaymentsEntityCard) ToMap added in v4.0.3

func (o PaymentMethodCardInPaymentsEntityCard) ToMap() (map[string]interface{}, error)

type PaymentMethodCardlessEMIInPaymentsEntity

type PaymentMethodCardlessEMIInPaymentsEntity struct {
	CardlessEmi *PaymentMethodAppInPaymentsEntityApp `json:"cardless_emi,omitempty"`
}

PaymentMethodCardlessEMIInPaymentsEntity payment method carless object in payment entity

func (PaymentMethodCardlessEMIInPaymentsEntity) MarshalJSON

func (PaymentMethodCardlessEMIInPaymentsEntity) ToMap

func (o PaymentMethodCardlessEMIInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodInPaymentsEntity

type PaymentMethodInPaymentsEntity struct {
	PaymentMethod *PaymentMethodInPaymentsEntityPaymentMethod `json:"payment_method,omitempty"`
}

PaymentMethodInPaymentsEntity payment methods all

func (PaymentMethodInPaymentsEntity) MarshalJSON

func (o PaymentMethodInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodInPaymentsEntity) ToMap

func (o PaymentMethodInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodInPaymentsEntityPaymentMethod

type PaymentMethodInPaymentsEntityPaymentMethod struct {
	PaymentMethodAppInPaymentsEntity         *PaymentMethodAppInPaymentsEntity
	PaymentMethodCardEMIInPaymentsEntity     *PaymentMethodCardEMIInPaymentsEntity
	PaymentMethodCardInPaymentsEntity        *PaymentMethodCardInPaymentsEntity
	PaymentMethodCardlessEMIInPaymentsEntity *PaymentMethodCardlessEMIInPaymentsEntity
	PaymentMethodNetBankingInPaymentsEntity  *PaymentMethodNetBankingInPaymentsEntity
	PaymentMethodPaylaterInPaymentsEntity    *PaymentMethodPaylaterInPaymentsEntity
	PaymentMethodUPIInPaymentsEntity         *PaymentMethodUPIInPaymentsEntity
}

PaymentMethodInPaymentsEntityPaymentMethod - struct for PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodAppInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodAppInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodAppInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodAppInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodAppInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodCardEMIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod added in v4.0.3

func PaymentMethodCardEMIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodCardEMIInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodCardEMIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodCardEMIInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodCardInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodCardInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodCardInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodCardInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodCardInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodCardlessEMIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodCardlessEMIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodCardlessEMIInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodCardlessEMIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodCardlessEMIInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodNetBankingInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodNetBankingInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodNetBankingInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodNetBankingInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodNetBankingInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodPaylaterInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodPaylaterInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodPaylaterInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodPaylaterInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodPaylaterInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodUPIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod

func PaymentMethodUPIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod(v *PaymentMethodUPIInPaymentsEntity) PaymentMethodInPaymentsEntityPaymentMethod

PaymentMethodUPIInPaymentsEntityAsPaymentMethodInPaymentsEntityPaymentMethod is a convenience function that returns PaymentMethodUPIInPaymentsEntity wrapped in PaymentMethodInPaymentsEntityPaymentMethod

func (*PaymentMethodInPaymentsEntityPaymentMethod) GetActualInstance

func (obj *PaymentMethodInPaymentsEntityPaymentMethod) GetActualInstance() interface{}

Get the actual instance

func (PaymentMethodInPaymentsEntityPaymentMethod) MarshalJSON

func (src PaymentMethodInPaymentsEntityPaymentMethod) MarshalJSON() ([]byte, error)

Marshal data from the first non-nil pointers in the struct to JSON

func (*PaymentMethodInPaymentsEntityPaymentMethod) UnmarshalJSON

func (dst *PaymentMethodInPaymentsEntityPaymentMethod) UnmarshalJSON(data []byte) error

Unmarshal JSON data into one of the pointers in the struct

type PaymentMethodNetBankingInPaymentsEntity

type PaymentMethodNetBankingInPaymentsEntity struct {
	Netbanking *PaymentMethodNetBankingInPaymentsEntityNetbanking `json:"netbanking,omitempty"`
}

PaymentMethodNetBankingInPaymentsEntity netbanking payment method object for pay

func (PaymentMethodNetBankingInPaymentsEntity) MarshalJSON

func (o PaymentMethodNetBankingInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodNetBankingInPaymentsEntity) ToMap

func (o PaymentMethodNetBankingInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodNetBankingInPaymentsEntityNetbanking added in v4.0.3

type PaymentMethodNetBankingInPaymentsEntityNetbanking struct {
	Channel                 *string `json:"channel,omitempty"`
	NetbankingBankCode      *int32  `json:"netbanking_bank_code,omitempty"`
	NetbankingBankName      *string `json:"netbanking_bank_name,omitempty"`
	NetbankingIfsc          *string `json:"netbanking_ifsc,omitempty"`
	NetbankingAccountNumber *string `json:"netbanking_account_number,omitempty"`
}

PaymentMethodNetBankingInPaymentsEntityNetbanking struct for PaymentMethodNetBankingInPaymentsEntityNetbanking

func (PaymentMethodNetBankingInPaymentsEntityNetbanking) MarshalJSON added in v4.0.3

func (PaymentMethodNetBankingInPaymentsEntityNetbanking) ToMap added in v4.0.3

func (o PaymentMethodNetBankingInPaymentsEntityNetbanking) ToMap() (map[string]interface{}, error)

type PaymentMethodPaylaterInPaymentsEntity

type PaymentMethodPaylaterInPaymentsEntity struct {
	Paylater *PaymentMethodAppInPaymentsEntityApp `json:"paylater,omitempty"`
}

PaymentMethodPaylaterInPaymentsEntity paylater payment method object for pay api

func (PaymentMethodPaylaterInPaymentsEntity) MarshalJSON

func (o PaymentMethodPaylaterInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodPaylaterInPaymentsEntity) ToMap

func (o PaymentMethodPaylaterInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodUPIInPaymentsEntity

type PaymentMethodUPIInPaymentsEntity struct {
	Upi *PaymentMethodUPIInPaymentsEntityUpi `json:"upi,omitempty"`
}

PaymentMethodUPIInPaymentsEntity UPI payment method for pay api

func (PaymentMethodUPIInPaymentsEntity) MarshalJSON

func (o PaymentMethodUPIInPaymentsEntity) MarshalJSON() ([]byte, error)

func (PaymentMethodUPIInPaymentsEntity) ToMap

func (o PaymentMethodUPIInPaymentsEntity) ToMap() (map[string]interface{}, error)

type PaymentMethodUPIInPaymentsEntityUpi added in v4.0.3

type PaymentMethodUPIInPaymentsEntityUpi struct {
	Channel *string `json:"channel,omitempty"`
	UpiId   *string `json:"upi_id,omitempty"`
}

PaymentMethodUPIInPaymentsEntityUpi struct for PaymentMethodUPIInPaymentsEntityUpi

func (PaymentMethodUPIInPaymentsEntityUpi) MarshalJSON added in v4.0.3

func (o PaymentMethodUPIInPaymentsEntityUpi) MarshalJSON() ([]byte, error)

func (PaymentMethodUPIInPaymentsEntityUpi) ToMap added in v4.0.3

func (o PaymentMethodUPIInPaymentsEntityUpi) ToMap() (map[string]interface{}, error)

type PaymentMethodsFilters

type PaymentMethodsFilters struct {
	// Array of payment methods to be filtered. This is optional, by default all payment methods will be returned. Possible values in [ 'debit_card', 'credit_card', 'prepaid_card', 'corporate_credit_card', 'upi', 'wallet', 'netbanking', 'banktransfer', 'paylater', 'paypal', 'debit_card_emi', 'credit_card_emi', 'upi_credit_card', 'upi_ppi', 'cardless_emi', 'account_based_payment' ]
	PaymentMethods []string `json:"payment_methods,omitempty"`
}

PaymentMethodsFilters Filter for Payment Methods

func (PaymentMethodsFilters) MarshalJSON

func (o PaymentMethodsFilters) MarshalJSON() ([]byte, error)

func (PaymentMethodsFilters) ToMap

func (o PaymentMethodsFilters) ToMap() (map[string]interface{}, error)

type PaymentMethodsQueries

type PaymentMethodsQueries struct {
	// Amount of the order.
	Amount *float32 `json:"amount,omitempty"`
	// OrderId of the order. Either of `order_id` or `order_amount` is mandatory.
	OrderId *string `json:"order_id,omitempty"`
}

PaymentMethodsQueries Payment Method Query Object

func (PaymentMethodsQueries) MarshalJSON

func (o PaymentMethodsQueries) MarshalJSON() ([]byte, error)

func (PaymentMethodsQueries) ToMap

func (o PaymentMethodsQueries) ToMap() (map[string]interface{}, error)

type PaymentModeDetails

type PaymentModeDetails struct {
	Nick        *string  `json:"nick,omitempty"`
	Display     *string  `json:"display,omitempty"`
	Eligibility *bool    `json:"eligibility,omitempty"`
	Code        *float32 `json:"code,omitempty"`
}

PaymentModeDetails payment mode eligiblity object

func (PaymentModeDetails) MarshalJSON

func (o PaymentModeDetails) MarshalJSON() ([]byte, error)

func (PaymentModeDetails) ToMap

func (o PaymentModeDetails) ToMap() (map[string]interface{}, error)

type PaymentSuccessWebhook

type PaymentSuccessWebhook struct {
	Data      *WHdata `json:"data,omitempty"`
	EventTime *string `json:"event_time,omitempty"`
	Type      *string `json:"type,omitempty"`
}

PaymentSuccessWebhook object for payment success webhook

func (PaymentSuccessWebhook) MarshalJSON

func (o PaymentSuccessWebhook) MarshalJSON() ([]byte, error)

func (PaymentSuccessWebhook) ToMap

func (o PaymentSuccessWebhook) ToMap() (map[string]interface{}, error)

type PaymentURLObject

type PaymentURLObject struct {
	Url *string `json:"url,omitempty"`
}

PaymentURLObject URL for payment retrieval for an order

func (PaymentURLObject) MarshalJSON

func (o PaymentURLObject) MarshalJSON() ([]byte, error)

func (PaymentURLObject) ToMap

func (o PaymentURLObject) ToMap() (map[string]interface{}, error)

type PaymentWebhook

type PaymentWebhook struct {
	Data      *PaymentWebhookDataEntity `json:"data,omitempty"`
	EventTime *string                   `json:"event_time,omitempty"`
	Type      *string                   `json:"type,omitempty"`
}

PaymentWebhook payment webhook object

func (PaymentWebhook) MarshalJSON

func (o PaymentWebhook) MarshalJSON() ([]byte, error)

func (PaymentWebhook) ToMap

func (o PaymentWebhook) ToMap() (map[string]interface{}, error)

type PaymentWebhookCustomerEntity

type PaymentWebhookCustomerEntity struct {
	CustomerName  *string `json:"customer_name,omitempty"`
	CustomerId    *string `json:"customer_id,omitempty"`
	CustomerEmail *string `json:"customer_email,omitempty"`
	CustomerPhone *string `json:"customer_phone,omitempty"`
}

PaymentWebhookCustomerEntity customer details object in webhook

func (PaymentWebhookCustomerEntity) MarshalJSON

func (o PaymentWebhookCustomerEntity) MarshalJSON() ([]byte, error)

func (PaymentWebhookCustomerEntity) ToMap

func (o PaymentWebhookCustomerEntity) ToMap() (map[string]interface{}, error)

type PaymentWebhookDataEntity

type PaymentWebhookDataEntity struct {
	Order                 *PaymentWebhookOrderEntity          `json:"order,omitempty"`
	Payment               *PaymentEntity                      `json:"payment,omitempty"`
	CustomerDetails       *PaymentWebhookCustomerEntity       `json:"customer_details,omitempty"`
	ErrorDetails          *PaymentWebhookErrorEntity          `json:"error_details,omitempty"`
	PaymentGatewayDetails *PaymentWebhookGatewayDetailsEntity `json:"payment_gateway_details,omitempty"`
	PaymentOffers         []OfferEntity                       `json:"payment_offers,omitempty"`
}

PaymentWebhookDataEntity data entity in webhook

func (PaymentWebhookDataEntity) MarshalJSON

func (o PaymentWebhookDataEntity) MarshalJSON() ([]byte, error)

func (PaymentWebhookDataEntity) ToMap

func (o PaymentWebhookDataEntity) ToMap() (map[string]interface{}, error)

type PaymentWebhookDataEntity1

type PaymentWebhookDataEntity1 struct {
	Refund *RefundEntity `json:"refund,omitempty"`
}

PaymentWebhookDataEntity1 data entity in webhook

func (PaymentWebhookDataEntity1) MarshalJSON

func (o PaymentWebhookDataEntity1) MarshalJSON() ([]byte, error)

func (PaymentWebhookDataEntity1) ToMap

func (o PaymentWebhookDataEntity1) ToMap() (map[string]interface{}, error)

type PaymentWebhookErrorEntity

type PaymentWebhookErrorEntity struct {
	ErrorCode           *string `json:"error_code,omitempty"`
	ErrorDescription    *string `json:"error_description,omitempty"`
	ErrorReason         *string `json:"error_reason,omitempty"`
	ErrorSource         *string `json:"error_source,omitempty"`
	ErrorCodeRaw        *string `json:"error_code_raw,omitempty"`
	ErrorDescriptionRaw *string `json:"error_description_raw,omitempty"`
}

PaymentWebhookErrorEntity error details present in the webhook

func (PaymentWebhookErrorEntity) MarshalJSON

func (o PaymentWebhookErrorEntity) MarshalJSON() ([]byte, error)

func (PaymentWebhookErrorEntity) ToMap

func (o PaymentWebhookErrorEntity) ToMap() (map[string]interface{}, error)

type PaymentWebhookGatewayDetailsEntity

type PaymentWebhookGatewayDetailsEntity struct {
	GatewayName       *string `json:"gateway_name,omitempty"`
	GatewayOrderId    *string `json:"gateway_order_id,omitempty"`
	GatewayPaymentId  *string `json:"gateway_payment_id,omitempty"`
	GatewayStatusCode *string `json:"gateway_status_code,omitempty"`
	GatewaySettlement *string `json:"gateway_settlement,omitempty"`
}

PaymentWebhookGatewayDetailsEntity payment gatewat details present in the webhook response

func (PaymentWebhookGatewayDetailsEntity) MarshalJSON

func (o PaymentWebhookGatewayDetailsEntity) MarshalJSON() ([]byte, error)

func (PaymentWebhookGatewayDetailsEntity) ToMap

func (o PaymentWebhookGatewayDetailsEntity) ToMap() (map[string]interface{}, error)

type PaymentWebhookOrderEntity

type PaymentWebhookOrderEntity struct {
	OrderId       *string  `json:"order_id,omitempty"`
	OrderAmount   *float64 `json:"order_amount,omitempty"`
	OrderCurrency *string  `json:"order_currency,omitempty"`
	// Custom Tags in thr form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added
	OrderTags *map[string]string `json:"order_tags,omitempty"`
}

PaymentWebhookOrderEntity order entity in webhook

func (PaymentWebhookOrderEntity) MarshalJSON

func (o PaymentWebhookOrderEntity) MarshalJSON() ([]byte, error)

func (PaymentWebhookOrderEntity) ToMap

func (o PaymentWebhookOrderEntity) ToMap() (map[string]interface{}, error)

type RateLimitError

type RateLimitError struct {
	Message *string `json:"message,omitempty"`
	Code    *string `json:"code,omitempty"`
	// rate_limit_error
	Type *string `json:"type,omitempty"`
}

RateLimitError Error when rate limit is breached for your api

func (RateLimitError) MarshalJSON

func (o RateLimitError) MarshalJSON() ([]byte, error)

func (RateLimitError) ToMap

func (o RateLimitError) ToMap() (map[string]interface{}, error)

type ReconEntity

type ReconEntity struct {
	// Specifies from where the next set of settlement details should be fetched.
	Cursor *string `json:"cursor,omitempty"`
	// Number of settlements you want to fetch in the next iteration.
	Limit *int32                 `json:"limit,omitempty"`
	Data  []ReconEntityDataInner `json:"data,omitempty"`
}

ReconEntity Settlement detailed recon response

func PGFetchRecon

func PGFetchRecon(xApiVersion *string, fetchReconRequest *FetchReconRequest, contentType *string, xRequestId *string, xIdempotencyKey *string, accept *string, httpClient *http.Client) (*ReconEntity, *http.Response, error)

Execute executes the request

@return ReconEntity

func PGFetchReconWithContext

func PGFetchReconWithContext(ctx context.Context, xApiVersion *string, fetchReconRequest *FetchReconRequest, contentType *string, xRequestId *string, xIdempotencyKey *string, accept *string, httpClient *http.Client) (*ReconEntity, *http.Response, error)

With Context Execute executes the request

@return ReconEntity

func (ReconEntity) MarshalJSON

func (o ReconEntity) MarshalJSON() ([]byte, error)

func (ReconEntity) ToMap

func (o ReconEntity) ToMap() (map[string]interface{}, error)

type ReconEntityDataInner

type ReconEntityDataInner struct {
	// Unique ID associated with the event.
	EventId *string `json:"event_id,omitempty"`
	// The event type can be SETTLEMENT, PAYMENT, REFUND, REFUND_REVERSAL, DISPUTE, DISPUTE_REVERSAL, CHARGEBACK, CHARGEBACK_REVERSAL, OTHER_ADJUSTMENT.
	EventType *string `json:"event_type,omitempty"`
	// Amount that is part of the settlement corresponding to the event.
	EventSettlementAmount *float32 `json:"event_settlement_amount,omitempty"`
	// Amount of the event. Example, refund amount, dispute amount, payment amount, etc.
	EventAmount *float32 `json:"event_amount,omitempty"`
	// Indicates if it is CREDIT/DEBIT sale.
	SaleType *string `json:"sale_type,omitempty"`
	// Status of the event. Example - SUCCESS, FAILED, PENDING, CANCELLED.
	EventStatus *string `json:"event_status,omitempty"`
	// Recon
	Entity *string `json:"entity,omitempty"`
	// Time associated with the event. Example, transaction time, dispute initiation time
	EventTime *string `json:"event_time,omitempty"`
	// Curreny type - INR.
	EventCurrency *string `json:"event_currency,omitempty"`
	// Unique order ID. Alphanumeric and only '-' and '_' allowed.
	OrderId *string `json:"order_id,omitempty"`
	// The amount which was passed at the order creation time.
	OrderAmount *float32 `json:"order_amount,omitempty"`
	// Customer phone number.
	CustomerPhone *string `json:"customer_phone,omitempty"`
	// Customer email.
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer name.
	CustomerName *string `json:"customer_name,omitempty"`
	// Payment amount captured.
	PaymentAmount *float32 `json:"payment_amount,omitempty"`
	// Unique transaction reference number of the payment.
	PaymentUtr *string `json:"payment_utr,omitempty"`
	// Date and time when the payment was initiated.
	PaymentTime *string `json:"payment_time,omitempty"`
	// Service charge applicable for the payment.
	PaymentServiceCharge *float32 `json:"payment_service_charge,omitempty"`
	// Service tax applicable on the payment.
	PaymentServiceTax *float32 `json:"payment_service_tax,omitempty"`
	// Cashfree Payments unique ID to identify a payment.
	CfPaymentId *string `json:"cf_payment_id,omitempty"`
	// Unique ID to identify the settlement.
	CfSettlementId *string `json:"cf_settlement_id,omitempty"`
	// Date and time when the settlement was processed.
	SettlementDate *string `json:"settlement_date,omitempty"`
	// Unique transaction reference number of the settlement.
	SettlementUtr *string `json:"settlement_utr,omitempty"`
	// Service charge that is applicable for splitting the payment.
	SplitServiceCharge *float32 `json:"split_service_charge,omitempty"`
	// Service tax applicable for splitting the amount to vendors.
	SplitServiceTax *float32 `json:"split_service_tax,omitempty"`
	// Vendor commission applicable for this transaction.
	VendorCommission *float32 `json:"vendor_commission,omitempty"`
	// Specifies whether the dispute was closed in favor of the merchant or customer. /n Possible values - Merchant, Customer
	ClosedInFavorOf *string `json:"closed_in_favor_of,omitempty"`
	// Date and time when the dispute was resolved.
	DisputeResolvedOn *string `json:"dispute_resolved_on,omitempty"`
	// Category of the dispute - Dispute code and the reason for dispute is shown.
	DisputeCategory *string `json:"dispute_category,omitempty"`
	// Note regarding the dispute.
	DisputeNote *string `json:"dispute_note,omitempty"`
	// Date and time when the refund was processed.
	RefundProcessedAt *string `json:"refund_processed_at,omitempty"`
	// The bank reference number for the refund.
	RefundArn *string `json:"refund_arn,omitempty"`
	// A refund note for your reference.
	RefundNote *string `json:"refund_note,omitempty"`
	// An unique ID to associate the refund with.
	RefundId *string `json:"refund_id,omitempty"`
	// Other adjustment remarks.
	AdjustmentRemarks *string `json:"adjustment_remarks,omitempty"`
	// Amount that is adjusted from the settlement amount because of any credit/debit event such as refund, refund_reverse etc.
	Adjustment *float32 `json:"adjustment,omitempty"`
	// Service tax applicable on the settlement amount.
	ServiceTax *float32 `json:"service_tax,omitempty"`
	// Service charge applicable on the settlement amount.
	ServiceCharge *float32 `json:"service_charge,omitempty"`
	// Net amount that is settled after considering the adjustments, settlement charge and tax.
	AmountSettled *float32 `json:"amount_settled,omitempty"`
	// The start time of the time range of the payments considered for the settlement.
	PaymentFrom *string `json:"payment_from,omitempty"`
	// The end time of time range of the payments considered for the settlement.
	PaymentTill *string `json:"payment_till,omitempty"`
	// Reason for settlement failure.
	Reason *string `json:"reason,omitempty"`
	// Date and time when the settlement was initiated.
	SettlementInitiatedOn *string `json:"settlement_initiated_on,omitempty"`
	// Type of settlement. Possible values - Standard, Instant, On demand.
	SettlementType *string `json:"settlement_type,omitempty"`
	// Settlement charges applicable on the settlement.
	SettlementCharge *float32 `json:"settlement_charge,omitempty"`
	// Settlement tax applicable on the settlement.
	SettlementTax *float32 `json:"settlement_tax,omitempty"`
	// Remarks on the settlement.
	Remarks *string `json:"remarks,omitempty"`
}

ReconEntityDataInner struct for ReconEntityDataInner

func (ReconEntityDataInner) MarshalJSON

func (o ReconEntityDataInner) MarshalJSON() ([]byte, error)

func (ReconEntityDataInner) ToMap

func (o ReconEntityDataInner) ToMap() (map[string]interface{}, error)

type RefundEntity

type RefundEntity struct {
	// Cashfree Payments ID of the payment for which refund is initiated
	CfPaymentId *string `json:"cf_payment_id,omitempty"`
	// Cashfree Payments ID for a refund
	CfRefundId *string `json:"cf_refund_id,omitempty"`
	// Merchant’s order Id of the order for which refund is initiated
	OrderId *string `json:"order_id,omitempty"`
	// Merchant’s refund ID of the refund
	RefundId *string `json:"refund_id,omitempty"`
	// Type of object
	Entity *string `json:"entity,omitempty"`
	// Amount that is refunded
	RefundAmount *float32 `json:"refund_amount,omitempty"`
	// Currency of the refund amount
	RefundCurrency *string `json:"refund_currency,omitempty"`
	// Note added by merchant for the refund
	RefundNote *string `json:"refund_note,omitempty"`
	// This can be one of [\"SUCCESS\", \"PENDING\", \"CANCELLED\", \"ONHOLD\", \"FAILED\"]
	RefundStatus *string `json:"refund_status,omitempty"`
	// The bank reference number for refund
	RefundArn *string `json:"refund_arn,omitempty"`
	// Charges in INR for processing refund
	RefundCharge *float32 `json:"refund_charge,omitempty"`
	// Description of refund status
	StatusDescription *string `json:"status_description,omitempty"`
	// Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs
	Metadata     map[string]interface{} `json:"metadata,omitempty"`
	RefundSplits []VendorSplit          `json:"refund_splits,omitempty"`
	// This can be one of [\"PAYMENT_AUTO_REFUND\", \"MERCHANT_INITIATED\", \"UNRECONCILED_AUTO_REFUND\"]
	RefundType *string `json:"refund_type,omitempty"`
	// Method or speed of processing refund
	RefundMode *string `json:"refund_mode,omitempty"`
	// Time of refund creation
	CreatedAt *string `json:"created_at,omitempty"`
	// Time when refund was processed successfully
	ProcessedAt *string      `json:"processed_at,omitempty"`
	RefundSpeed *RefundSpeed `json:"refund_speed,omitempty"`
}

RefundEntity The refund entity

func PGOrderCreateRefund

func PGOrderCreateRefund(xApiVersion *string, orderId string, orderCreateRefundRequest *OrderCreateRefundRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*RefundEntity, *http.Response, error)

Execute executes the request

@return RefundEntity

func PGOrderCreateRefundWithContext

func PGOrderCreateRefundWithContext(ctx context.Context, xApiVersion *string, orderId string, orderCreateRefundRequest *OrderCreateRefundRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*RefundEntity, *http.Response, error)

With Context Execute executes the request

@return RefundEntity

func PGOrderFetchRefund

func PGOrderFetchRefund(xApiVersion *string, orderId string, refundId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*RefundEntity, *http.Response, error)

Execute executes the request

@return RefundEntity

func PGOrderFetchRefundWithContext

func PGOrderFetchRefundWithContext(ctx context.Context, xApiVersion *string, orderId string, refundId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*RefundEntity, *http.Response, error)

With Context Execute executes the request

@return RefundEntity

func PGOrderFetchRefunds

func PGOrderFetchRefunds(xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]RefundEntity, *http.Response, error)

Execute executes the request

@return []RefundEntity

func PGOrderFetchRefundsWithContext

func PGOrderFetchRefundsWithContext(ctx context.Context, xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]RefundEntity, *http.Response, error)

With Context Execute executes the request

@return []RefundEntity

func (RefundEntity) MarshalJSON

func (o RefundEntity) MarshalJSON() ([]byte, error)

func (RefundEntity) ToMap

func (o RefundEntity) ToMap() (map[string]interface{}, error)

type RefundSpeed

type RefundSpeed struct {
	// Requested speed of refund.
	Requested *string `json:"requested,omitempty"`
	// Accepted speed of refund.
	Accepted *string `json:"accepted,omitempty"`
	// Processed speed of refund.
	Processed *string `json:"processed,omitempty"`
	// Error message, if any for refund_speed request
	Message *string `json:"message,omitempty"`
}

RefundSpeed How fast refund has to be proecessed

func (RefundSpeed) MarshalJSON

func (o RefundSpeed) MarshalJSON() ([]byte, error)

func (RefundSpeed) ToMap

func (o RefundSpeed) ToMap() (map[string]interface{}, error)

type RefundURLObject

type RefundURLObject struct {
	Url *string `json:"url,omitempty"`
}

RefundURLObject URL to get refunds for order

func (RefundURLObject) MarshalJSON

func (o RefundURLObject) MarshalJSON() ([]byte, error)

func (RefundURLObject) ToMap

func (o RefundURLObject) ToMap() (map[string]interface{}, error)

type RefundWebhook

type RefundWebhook struct {
	Data      *RefundWebhookDataEntity `json:"data,omitempty"`
	EventTime *string                  `json:"event_time,omitempty"`
	Type      *string                  `json:"type,omitempty"`
}

RefundWebhook refund webhook object

func (RefundWebhook) MarshalJSON

func (o RefundWebhook) MarshalJSON() ([]byte, error)

func (RefundWebhook) ToMap

func (o RefundWebhook) ToMap() (map[string]interface{}, error)

type RefundWebhookDataEntity

type RefundWebhookDataEntity struct {
	Refund *RefundEntity `json:"refund,omitempty"`
}

RefundWebhookDataEntity data entity in webhook

func (RefundWebhookDataEntity) MarshalJSON

func (o RefundWebhookDataEntity) MarshalJSON() ([]byte, error)

func (RefundWebhookDataEntity) ToMap

func (o RefundWebhookDataEntity) ToMap() (map[string]interface{}, error)

type SavedInstrumentMeta

type SavedInstrumentMeta struct {
	// card scheme/network of the saved card. Example visa, mastercard
	CardNetwork *string `json:"card_network,omitempty"`
	// Issuing bank name of saved card
	CardBankName *string `json:"card_bank_name,omitempty"`
	// Issuing country of saved card
	CardCountry *string `json:"card_country,omitempty"`
	// Type of saved card
	CardType         *string                `json:"card_type,omitempty"`
	CardTokenDetails map[string]interface{} `json:"card_token_details,omitempty"`
}

SavedInstrumentMeta Card instrument meta information

func (SavedInstrumentMeta) MarshalJSON

func (o SavedInstrumentMeta) MarshalJSON() ([]byte, error)

func (SavedInstrumentMeta) ToMap

func (o SavedInstrumentMeta) ToMap() (map[string]interface{}, error)

type ScheduleOption added in v4.0.8

type ScheduleOption struct {
	SettlementScheduleMessage *string  `json:"settlement_schedule_message,omitempty"`
	ScheduleId                *float32 `json:"schedule_id,omitempty"`
	MerchantDefault           *bool    `json:"merchant_default,omitempty"`
}

ScheduleOption struct for ScheduleOption

func (ScheduleOption) MarshalJSON added in v4.0.8

func (o ScheduleOption) MarshalJSON() ([]byte, error)

func (ScheduleOption) ToMap added in v4.0.8

func (o ScheduleOption) ToMap() (map[string]interface{}, error)

type ServerConfiguration

type ServerConfiguration struct {
	URL         string
	Description string
	Variables   map[string]ServerVariable
}

ServerConfiguration stores the information about a server

type ServerConfigurations

type ServerConfigurations []ServerConfiguration

ServerConfigurations stores multiple ServerConfiguration items

func (ServerConfigurations) URL

func (sc ServerConfigurations) URL(index int, variables map[string]string) (string, error)

URL formats template on a index using given variables

type ServerVariable

type ServerVariable struct {
	Description  string
	DefaultValue string
	EnumValues   []string
}

ServerVariable stores the information about a server variable

type SettlementEntity

type SettlementEntity struct {
	CfPaymentId        *string  `json:"cf_payment_id,omitempty"`
	CfSettlementId     *string  `json:"cf_settlement_id,omitempty"`
	SettlementCurrency *string  `json:"settlement_currency,omitempty"`
	OrderId            *string  `json:"order_id,omitempty"`
	Entity             *string  `json:"entity,omitempty"`
	OrderAmount        *float32 `json:"order_amount,omitempty"`
	PaymentTime        *string  `json:"payment_time,omitempty"`
	ServiceCharge      *float32 `json:"service_charge,omitempty"`
	ServiceTax         *float32 `json:"service_tax,omitempty"`
	SettlementAmount   *float32 `json:"settlement_amount,omitempty"`
	SettlementId       *int32   `json:"settlement_id,omitempty"`
	TransferId         *int32   `json:"transfer_id,omitempty"`
	TransferTime       *string  `json:"transfer_time,omitempty"`
	TransferUtr        *string  `json:"transfer_utr,omitempty"`
}

SettlementEntity Settlement entity object

func PGFetchSettlements

func PGFetchSettlements(xApiVersion *string, fetchSettlementsRequest *FetchSettlementsRequest, contentType *string, xRequestId *string, xIdempotencyKey *string, accept *string, httpClient *http.Client) (*SettlementEntity, *http.Response, error)

Execute executes the request

@return SettlementEntity

func PGFetchSettlementsWithContext

func PGFetchSettlementsWithContext(ctx context.Context, xApiVersion *string, fetchSettlementsRequest *FetchSettlementsRequest, contentType *string, xRequestId *string, xIdempotencyKey *string, accept *string, httpClient *http.Client) (*SettlementEntity, *http.Response, error)

With Context Execute executes the request

@return SettlementEntity

func PGOrderFetchSettlement

func PGOrderFetchSettlement(xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*SettlementEntity, *http.Response, error)

Execute executes the request

@return SettlementEntity

func PGOrderFetchSettlementWithContext

func PGOrderFetchSettlementWithContext(ctx context.Context, xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*SettlementEntity, *http.Response, error)

With Context Execute executes the request

@return SettlementEntity

func (SettlementEntity) MarshalJSON

func (o SettlementEntity) MarshalJSON() ([]byte, error)

func (SettlementEntity) ToMap

func (o SettlementEntity) ToMap() (map[string]interface{}, error)

type SettlementFetchReconRequest

type SettlementFetchReconRequest struct {
	Pagination FetchSettlementsRequestPagination `json:"pagination"`
	Filters    FetchSettlementsRequestFilters    `json:"filters"`
}

SettlementFetchReconRequest Recon Request Object

func (SettlementFetchReconRequest) MarshalJSON

func (o SettlementFetchReconRequest) MarshalJSON() ([]byte, error)

func (SettlementFetchReconRequest) ToMap

func (o SettlementFetchReconRequest) ToMap() (map[string]interface{}, error)

type SettlementFetchReconRequestFilters

type SettlementFetchReconRequestFilters struct {
	// List of settlement IDs for which you want the settlement reconciliation details.
	CfSettlementIds []int32 `json:"cf_settlement_ids,omitempty"`
	// List of settlement UTRs for which you want the settlement reconciliation details.
	SettlementUtrs []string `json:"settlement_utrs,omitempty"`
	// Specify the start date from when you want the settlement reconciliation details.
	StartDate *string `json:"start_date,omitempty"`
	// Specify the end date till when you want the settlement reconciliation details.
	EndDate *string `json:"end_date,omitempty"`
}

SettlementFetchReconRequestFilters Specify either the Settlement ID, Settlement UTR, or start date and end date to fetch the settlement details.

func (SettlementFetchReconRequestFilters) MarshalJSON

func (o SettlementFetchReconRequestFilters) MarshalJSON() ([]byte, error)

func (SettlementFetchReconRequestFilters) ToMap

func (o SettlementFetchReconRequestFilters) ToMap() (map[string]interface{}, error)

type SettlementReconEntity

type SettlementReconEntity struct {
	// Specifies from where the next set of settlement details should be fetched.
	Cursor *string `json:"cursor,omitempty"`
	// Number of settlements you want to fetch in the next iteration.
	Limit *int32                           `json:"limit,omitempty"`
	Data  []SettlementReconEntityDataInner `json:"data,omitempty"`
}

SettlementReconEntity Recon object for settlement

func PGSettlementFetchRecon

func PGSettlementFetchRecon(xApiVersion *string, settlementFetchReconRequest *SettlementFetchReconRequest, contentType *string, xRequestId *string, xIdempotencyKey *string, accept *string, httpClient *http.Client) (*SettlementReconEntity, *http.Response, error)

Execute executes the request

@return SettlementReconEntity

func PGSettlementFetchReconWithContext

func PGSettlementFetchReconWithContext(ctx context.Context, xApiVersion *string, settlementFetchReconRequest *SettlementFetchReconRequest, contentType *string, xRequestId *string, xIdempotencyKey *string, accept *string, httpClient *http.Client) (*SettlementReconEntity, *http.Response, error)

With Context Execute executes the request

@return SettlementReconEntity

func (SettlementReconEntity) MarshalJSON

func (o SettlementReconEntity) MarshalJSON() ([]byte, error)

func (SettlementReconEntity) ToMap

func (o SettlementReconEntity) ToMap() (map[string]interface{}, error)

type SettlementReconEntityDataInner

type SettlementReconEntityDataInner struct {
	// Unique ID associated with the event.
	EventId *string `json:"event_id,omitempty"`
	// The event type can be PAYMENT, REFUND, REFUND_REVERSAL, DISPUTE, DISPUTE_REVERSAL, CHARGEBACK, CHARGEBACK_REVERSAL, OTHER_ADJUSTMENT.
	EventType *string `json:"event_type,omitempty"`
	// Amount that is part of the settlement corresponding to the event.
	EventSettlementAmount *float32 `json:"event_settlement_amount,omitempty"`
	// Amount corresponding to the event. Example, refund amount, dispute amount, payment amount, etc.
	EventAmount *float32 `json:"event_amount,omitempty"`
	// Indicates if it is CREDIT/DEBIT sale.
	SaleType *string `json:"sale_type,omitempty"`
	// Status of the event. Example - SUCCESS, FAILED, PENDING, CANCELLED.
	EventStatus *string `json:"event_status,omitempty"`
	// Recon
	Entity *string `json:"entity,omitempty"`
	// Time associated with the event. Example, transaction time, dispute initiation time
	EventTime *string `json:"event_time,omitempty"`
	// Curreny type - INR.
	EventCurrency *string `json:"event_currency,omitempty"`
	// Unique order ID. Alphanumeric and only '-' and '_' allowed.
	OrderId *string `json:"order_id,omitempty"`
	// The amount which was passed at the order creation time.
	OrderAmount *float32 `json:"order_amount,omitempty"`
	// Customer phone number.
	CustomerPhone *string `json:"customer_phone,omitempty"`
	// Customer email.
	CustomerEmail *string `json:"customer_email,omitempty"`
	// Customer name.
	CustomerName *string `json:"customer_name,omitempty"`
	// Payment amount captured.
	PaymentAmount *float32 `json:"payment_amount,omitempty"`
	// Unique transaction reference number of the payment.
	PaymentUtr *string `json:"payment_utr,omitempty"`
	// Date and time when the payment was initiated.
	PaymentTime *string `json:"payment_time,omitempty"`
	// Service charge applicable for the payment.
	PaymentServiceCharge *float32 `json:"payment_service_charge,omitempty"`
	// Service tax applicable on the payment.
	PaymentServiceTax *float32 `json:"payment_service_tax,omitempty"`
	// Cashfree Payments unique ID to identify a payment.
	CfPaymentId *string `json:"cf_payment_id,omitempty"`
	// Unique ID to identify the settlement.
	CfSettlementId *string `json:"cf_settlement_id,omitempty"`
	// Date and time when the settlement was processed.
	SettlementDate *string `json:"settlement_date,omitempty"`
	// Unique transaction reference number of the settlement.
	SettlementUtr *string `json:"settlement_utr,omitempty"`
	// Service charge that is applicable for splitting the payment.
	SplitServiceCharge *float32 `json:"split_service_charge,omitempty"`
	// Service tax applicable for splitting the amount to vendors.
	SplitServiceTax *float32 `json:"split_service_tax,omitempty"`
	// Vendor commission applicable for this transaction.
	VendorCommission *float32 `json:"vendor_commission,omitempty"`
	// Specifies whether the dispute was closed in favor of the merchant or customer. Possible values - Merchant, Customer.
	ClosedInFavorOf *string `json:"closed_in_favor_of,omitempty"`
	// Date and time when the dispute was resolved.
	DisputeResolvedOn *string `json:"dispute_resolved_on,omitempty"`
	// Category of the dispute - Dispute code and the reason for dispute is shown.
	DisputeCategory *string `json:"dispute_category,omitempty"`
	// Note regarding the dispute.
	DisputeNote *string `json:"dispute_note,omitempty"`
	// Date and time when the refund was processed.
	RefundProcessedAt *string `json:"refund_processed_at,omitempty"`
	// The bank reference number for refund.
	RefundArn *string `json:"refund_arn,omitempty"`
	// A refund note for your reference.
	RefundNote *string `json:"refund_note,omitempty"`
	// An unique ID associated with the refund.
	RefundId *string `json:"refund_id,omitempty"`
	// Other adjustment remarks.
	AdjustmentRemarks *string `json:"adjustment_remarks,omitempty"`
}

SettlementReconEntityDataInner struct for SettlementReconEntityDataInner

func (SettlementReconEntityDataInner) MarshalJSON

func (o SettlementReconEntityDataInner) MarshalJSON() ([]byte, error)

func (SettlementReconEntityDataInner) ToMap

func (o SettlementReconEntityDataInner) ToMap() (map[string]interface{}, error)

type SettlementURLObject

type SettlementURLObject struct {
	Url *string `json:"url,omitempty"`
}

SettlementURLObject Settlement URL object

func (SettlementURLObject) MarshalJSON

func (o SettlementURLObject) MarshalJSON() ([]byte, error)

func (SettlementURLObject) ToMap

func (o SettlementURLObject) ToMap() (map[string]interface{}, error)

type SettlementWebhook

type SettlementWebhook struct {
	Data      *SettlementWebhookDataEntity `json:"data,omitempty"`
	EventTime *string                      `json:"event_time,omitempty"`
	Type      *string                      `json:"type,omitempty"`
}

SettlementWebhook Settlement webhook object

func (SettlementWebhook) MarshalJSON

func (o SettlementWebhook) MarshalJSON() ([]byte, error)

func (SettlementWebhook) ToMap

func (o SettlementWebhook) ToMap() (map[string]interface{}, error)

type SettlementWebhookDataEntity

type SettlementWebhookDataEntity struct {
	Settlement *SettlementEntity `json:"settlement,omitempty"`
}

SettlementWebhookDataEntity data entity in webhook

func (SettlementWebhookDataEntity) MarshalJSON

func (o SettlementWebhookDataEntity) MarshalJSON() ([]byte, error)

func (SettlementWebhookDataEntity) ToMap

func (o SettlementWebhookDataEntity) ToMap() (map[string]interface{}, error)

type SplitAfterPaymentRequest added in v4.0.8

type SplitAfterPaymentRequest struct {
	// Specify the vendors order split details.
	Split []SplitAfterPaymentRequestSplitInner `json:"split"`
	// Specify if you want to end the split or continue creating further splits in future.
	DisableSplit *bool `json:"disable_split,omitempty"`
}

SplitAfterPaymentRequest Split After Payment Request

func (SplitAfterPaymentRequest) MarshalJSON added in v4.0.8

func (o SplitAfterPaymentRequest) MarshalJSON() ([]byte, error)

func (SplitAfterPaymentRequest) ToMap added in v4.0.8

func (o SplitAfterPaymentRequest) ToMap() (map[string]interface{}, error)

type SplitAfterPaymentRequestSplitInner added in v4.0.8

type SplitAfterPaymentRequestSplitInner struct {
	// Specify the merchant vendor ID to split the payment.
	VendorId *string `json:"vendor_id,omitempty"`
	// Specify the amount to be split to the vendor.
	Amount *float32 `json:"amount,omitempty"`
	// Specify the percentage of amount to be split.
	Percentage *float32 `json:"percentage,omitempty"`
	// Provide additional data fields using tags. Sample data fields are mentioned below.
	Tags []SplitAfterPaymentRequestSplitInnerTagsInner `json:"tags,omitempty"`
}

SplitAfterPaymentRequestSplitInner struct for SplitAfterPaymentRequestSplitInner

func (SplitAfterPaymentRequestSplitInner) MarshalJSON added in v4.0.8

func (o SplitAfterPaymentRequestSplitInner) MarshalJSON() ([]byte, error)

func (SplitAfterPaymentRequestSplitInner) ToMap added in v4.0.8

func (o SplitAfterPaymentRequestSplitInner) ToMap() (map[string]interface{}, error)

type SplitAfterPaymentRequestSplitInnerTagsInner added in v4.0.8

type SplitAfterPaymentRequestSplitInnerTagsInner struct {
	KeyValue1 *string `json:"Key Value 1,omitempty"`
	KeyValue2 *string `json:"Key Value 2,omitempty"`
}

SplitAfterPaymentRequestSplitInnerTagsInner struct for SplitAfterPaymentRequestSplitInnerTagsInner

func (SplitAfterPaymentRequestSplitInnerTagsInner) MarshalJSON added in v4.0.8

func (SplitAfterPaymentRequestSplitInnerTagsInner) ToMap added in v4.0.8

func (o SplitAfterPaymentRequestSplitInnerTagsInner) ToMap() (map[string]interface{}, error)

type SplitAfterPaymentResponse added in v4.0.8

type SplitAfterPaymentResponse struct {
	Status  *string `json:"status,omitempty"`
	Message *string `json:"message,omitempty"`
}

SplitAfterPaymentResponse Split After Payment Response

func PGOrderSplitAfterPayment added in v4.0.8

func PGOrderSplitAfterPayment(xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, splitAfterPaymentRequest *SplitAfterPaymentRequest, httpClient *http.Client) (*SplitAfterPaymentResponse, *http.Response, error)

Execute executes the request

@return SplitAfterPaymentResponse

func PGOrderSplitAfterPaymentWithContext added in v4.0.8

func PGOrderSplitAfterPaymentWithContext(ctx context.Context, xApiVersion *string, orderId string, xRequestId *string, xIdempotencyKey *string, splitAfterPaymentRequest *SplitAfterPaymentRequest, httpClient *http.Client) (*SplitAfterPaymentResponse, *http.Response, error)

With Context Execute executes the request

@return SplitAfterPaymentResponse

func (SplitAfterPaymentResponse) MarshalJSON added in v4.0.8

func (o SplitAfterPaymentResponse) MarshalJSON() ([]byte, error)

func (SplitAfterPaymentResponse) ToMap added in v4.0.8

func (o SplitAfterPaymentResponse) ToMap() (map[string]interface{}, error)

type StaticSplitRequest added in v4.0.8

type StaticSplitRequest struct {
	// Specify if the split is to be active or not. Possible values: true/false
	Active bool `json:"active"`
	// For Subscription payments, the subscription reference ID is to be shared as the terminal ID. Incase for Payment Gateway terminal ID is non-mandatory. Mention as 0 if not applicable.
	TerminalId *string `json:"terminal_id,omitempty"`
	// You can share additional information using the reference ID.
	TerminalReferenceId *float32 `json:"terminal_reference_id,omitempty"`
	// Specify the product for which the split should be created. If you want split to be created for Payment Gateway pass value as \"PG\". If you want split to be created for Subscription, pass value as \"SBC\". Accepted values - \"STATIC_QR\", \"SBC\", \"PG\", \"EPOS\".
	ProductType string `json:"product_type"`
	// Provide the split scheme details.
	Scheme []StaticSplitRequestSchemeInner `json:"scheme"`
}

StaticSplitRequest Static Split Request

func (StaticSplitRequest) MarshalJSON added in v4.0.8

func (o StaticSplitRequest) MarshalJSON() ([]byte, error)

func (StaticSplitRequest) ToMap added in v4.0.8

func (o StaticSplitRequest) ToMap() (map[string]interface{}, error)

type StaticSplitRequestSchemeInner added in v4.0.8

type StaticSplitRequestSchemeInner struct {
	// Specify the merchant vendor ID to create the split scheme for the payment.
	MerchantVendorId *string `json:"merchantVendorId,omitempty"`
	// Specify the percentage of amount to be split.
	Percentage *string `json:"percentage,omitempty"`
}

StaticSplitRequestSchemeInner struct for StaticSplitRequestSchemeInner

func (StaticSplitRequestSchemeInner) MarshalJSON added in v4.0.8

func (o StaticSplitRequestSchemeInner) MarshalJSON() ([]byte, error)

func (StaticSplitRequestSchemeInner) ToMap added in v4.0.8

func (o StaticSplitRequestSchemeInner) ToMap() (map[string]interface{}, error)

type StaticSplitResponse added in v4.0.8

type StaticSplitResponse struct {
	Active              *bool                            `json:"active,omitempty"`
	TerminalId          *string                          `json:"terminal_id,omitempty"`
	TerminalReferenceId *float32                         `json:"terminal_reference_id,omitempty"`
	ProductType         *string                          `json:"product_type,omitempty"`
	Scheme              []StaticSplitResponseSchemeInner `json:"scheme,omitempty"`
	AddedOn             *string                          `json:"added_on,omitempty"`
}

StaticSplitResponse Static Split Response

func PGOrderStaticSplit added in v4.0.8

func PGOrderStaticSplit(xApiVersion *string, xRequestId *string, xIdempotencyKey *string, staticSplitRequest *StaticSplitRequest, httpClient *http.Client) (*StaticSplitResponse, *http.Response, error)

Execute executes the request

@return StaticSplitResponse

func PGOrderStaticSplitWithContext added in v4.0.8

func PGOrderStaticSplitWithContext(ctx context.Context, xApiVersion *string, xRequestId *string, xIdempotencyKey *string, staticSplitRequest *StaticSplitRequest, httpClient *http.Client) (*StaticSplitResponse, *http.Response, error)

With Context Execute executes the request

@return StaticSplitResponse

func (StaticSplitResponse) MarshalJSON added in v4.0.8

func (o StaticSplitResponse) MarshalJSON() ([]byte, error)

func (StaticSplitResponse) ToMap added in v4.0.8

func (o StaticSplitResponse) ToMap() (map[string]interface{}, error)

type StaticSplitResponseSchemeInner added in v4.0.8

type StaticSplitResponseSchemeInner struct {
	MerchantVendorId *string `json:"merchantVendorId,omitempty"`
	Percentage       *string `json:"percentage,omitempty"`
}

StaticSplitResponseSchemeInner struct for StaticSplitResponseSchemeInner

func (StaticSplitResponseSchemeInner) MarshalJSON added in v4.0.8

func (o StaticSplitResponseSchemeInner) MarshalJSON() ([]byte, error)

func (StaticSplitResponseSchemeInner) ToMap added in v4.0.8

func (o StaticSplitResponseSchemeInner) ToMap() (map[string]interface{}, error)

type TerminalDetails

type TerminalDetails struct {
	// date time at which terminal is added
	AddedOn *string `json:"added_on,omitempty"`
	// cashfree terminal id
	CfTerminalId *string `json:"cf_terminal_id,omitempty"`
	// last instant when this terminal was updated
	LastUpdatedOn *string `json:"last_updated_on,omitempty"`
	// location of terminal
	TerminalAddress *string `json:"terminal_address,omitempty"`
	// terminal id for merchant reference
	TerminalId string `json:"terminal_id"`
	// name of terminal/agent/storefront
	TerminalName *string `json:"terminal_name,omitempty"`
	// note given by merchant while creating the terminal
	TerminalNote *string `json:"terminal_note,omitempty"`
	// mobile num of the terminal/agent/storefront
	TerminalPhoneNo string `json:"terminal_phone_no"`
	// status of terminal active/inactive
	TerminalStatus *string `json:"terminal_status,omitempty"`
	// To identify the type of terminal product in use, in this case it is SPOS.
	TerminalType string `json:"terminal_type"`
}

TerminalDetails Use this if you are creating an order for cashfree's softPOS

func (TerminalDetails) MarshalJSON

func (o TerminalDetails) MarshalJSON() ([]byte, error)

func (TerminalDetails) ToMap

func (o TerminalDetails) ToMap() (map[string]interface{}, error)

type TerminalEntity

type TerminalEntity struct {
	AddedOn         *string `json:"added_on,omitempty"`
	CfTerminalId    *int32  `json:"cf_terminal_id,omitempty"`
	LastUpdatedOn   *string `json:"last_updated_on,omitempty"`
	TerminalAddress *string `json:"terminal_address,omitempty"`
	TerminalEmail   *string `json:"terminal_email,omitempty"`
	TerminalType    *string `json:"terminal_type,omitempty"`
	TeminalId       *string `json:"teminal_id,omitempty"`
	TerminalName    *string `json:"terminal_name,omitempty"`
	TerminalNote    *string `json:"terminal_note,omitempty"`
	TerminalPhoneNo *string `json:"terminal_phone_no,omitempty"`
	TerminalStatus  *string `json:"terminal_status,omitempty"`
	TerminalMeta    *string `json:"terminal_meta,omitempty"`
}

TerminalEntity Create terminal response object

func SposCreateTerminal

func SposCreateTerminal(xApiVersion *string, createTerminalRequest *CreateTerminalRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalEntity, *http.Response, error)

Execute executes the request

@return TerminalEntity

func SposCreateTerminalWithContext

func SposCreateTerminalWithContext(ctx context.Context, xApiVersion *string, createTerminalRequest *CreateTerminalRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalEntity, *http.Response, error)

With Context Execute executes the request

@return TerminalEntity

func SposFetchTerminal

func SposFetchTerminal(xApiVersion *string, terminalPhoneNo string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalEntity, *http.Response, error)

Execute executes the request

@return TerminalEntity

func SposFetchTerminalWithContext

func SposFetchTerminalWithContext(ctx context.Context, xApiVersion *string, terminalPhoneNo string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalEntity, *http.Response, error)

With Context Execute executes the request

@return TerminalEntity

func (TerminalEntity) MarshalJSON

func (o TerminalEntity) MarshalJSON() ([]byte, error)

func (TerminalEntity) ToMap

func (o TerminalEntity) ToMap() (map[string]interface{}, error)

type TerminalPaymentEntity added in v4.0.8

type TerminalPaymentEntity struct {
	CfPaymentId  *string                       `json:"cf_payment_id,omitempty"`
	OrderId      *string                       `json:"order_id,omitempty"`
	Entity       *string                       `json:"entity,omitempty"`
	ErrorDetails *ErrorDetailsInPaymentsEntity `json:"error_details,omitempty"`
	IsCaptured   *bool                         `json:"is_captured,omitempty"`
	// Order amount can be different from payment amount if you collect service fee from the customer
	OrderAmount *float32 `json:"order_amount,omitempty"`
	// Type of payment group. One of ['prepaid_card', 'upi_ppi_offline', 'cash', 'upi_credit_card', 'paypal', 'net_banking', 'cardless_emi', 'credit_card', 'bank_transfer', 'pay_later', 'debit_card_emi', 'debit_card', 'wallet', 'upi_ppi', 'upi', 'credit_card_emi']
	PaymentGroup    *string  `json:"payment_group,omitempty"`
	PaymentCurrency *string  `json:"payment_currency,omitempty"`
	PaymentAmount   *float32 `json:"payment_amount,omitempty"`
	// This is the time when the payment was initiated
	PaymentTime *string `json:"payment_time,omitempty"`
	// This is the time when the payment reaches its terminal state
	PaymentCompletionTime *string `json:"payment_completion_time,omitempty"`
	// The transaction status can be one of  [\"SUCCESS\", \"NOT_ATTEMPTED\", \"FAILED\", \"USER_DROPPED\", \"VOID\", \"CANCELLED\", \"PENDING\"]
	PaymentStatus   *string                        `json:"payment_status,omitempty"`
	PaymentMessage  *string                        `json:"payment_message,omitempty"`
	BankReference   *string                        `json:"bank_reference,omitempty"`
	AuthId          *string                        `json:"auth_id,omitempty"`
	Authorization   *AuthorizationInPaymentsEntity `json:"authorization,omitempty"`
	CustomerDetails *CustomerDetails               `json:"customer_details,omitempty"`
	PaymentMethod   *PaymentEntityPaymentMethod    `json:"payment_method,omitempty"`
}

TerminalPaymentEntity terminal payment entity full object

func SposFetchTerminalTransaction added in v4.0.8

func SposFetchTerminalTransaction(xApiVersion *string, utr *string, cfTerminalId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalPaymentEntity, *http.Response, error)

Execute executes the request

@return TerminalPaymentEntity

func SposFetchTerminalTransactionWithContext added in v4.0.8

func SposFetchTerminalTransactionWithContext(ctx context.Context, xApiVersion *string, utr *string, cfTerminalId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalPaymentEntity, *http.Response, error)

With Context Execute executes the request

@return TerminalPaymentEntity

func (TerminalPaymentEntity) MarshalJSON added in v4.0.8

func (o TerminalPaymentEntity) MarshalJSON() ([]byte, error)

func (TerminalPaymentEntity) ToMap added in v4.0.8

func (o TerminalPaymentEntity) ToMap() (map[string]interface{}, error)

type TerminalTransactionEntity

type TerminalTransactionEntity struct {
	CfPaymentId   *string `json:"cf_payment_id,omitempty"`
	PaymentAmount *int32  `json:"payment_amount,omitempty"`
	PaymentMethod *string `json:"payment_method,omitempty"`
	PaymentUrl    *string `json:"payment_url,omitempty"`
	Qrcode        *string `json:"qrcode,omitempty"`
	Timeout       *string `json:"timeout,omitempty"`
}

TerminalTransactionEntity Create terminal response object

func SposCreateTerminalTransaction

func SposCreateTerminalTransaction(xApiVersion *string, createTerminalTransactionRequest *CreateTerminalTransactionRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalTransactionEntity, *http.Response, error)

Execute executes the request

@return TerminalTransactionEntity

func SposCreateTerminalTransactionWithContext

func SposCreateTerminalTransactionWithContext(ctx context.Context, xApiVersion *string, createTerminalTransactionRequest *CreateTerminalTransactionRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*TerminalTransactionEntity, *http.Response, error)

With Context Execute executes the request

@return TerminalTransactionEntity

func (TerminalTransactionEntity) MarshalJSON

func (o TerminalTransactionEntity) MarshalJSON() ([]byte, error)

func (TerminalTransactionEntity) ToMap

func (o TerminalTransactionEntity) ToMap() (map[string]interface{}, error)

type TerminateOrderRequest

type TerminateOrderRequest struct {
	// To terminate an order, pass order_status as \"TERMINATE\". Please note, order might not be terminated - confirm with the order_status in response. \"TERMINATION_REQUESTED\" states that the request is recieved and we are working on it. If the order terminates successfully, status will change to \"TERMINATED\". Incase there's any active transaction which moved to success - order might not get terminated.
	OrderStatus string `json:"order_status"`
}

TerminateOrderRequest Request to terminate an active order at Cashfree

func (TerminateOrderRequest) MarshalJSON

func (o TerminateOrderRequest) MarshalJSON() ([]byte, error)

func (TerminateOrderRequest) ToMap

func (o TerminateOrderRequest) ToMap() (map[string]interface{}, error)

type TransferDetails added in v4.0.8

type TransferDetails struct {
	VendorId       *string                    `json:"vendor_id,omitempty"`
	TransferFrom   *string                    `json:"transfer_from,omitempty"`
	TransferType   *string                    `json:"transfer_type,omitempty"`
	TransferAmount *float32                   `json:"transfer_amount,omitempty"`
	Remark         *string                    `json:"remark,omitempty"`
	Tags           []TransferDetailsTagsInner `json:"tags,omitempty"`
}

TransferDetails struct for TransferDetails

func (TransferDetails) MarshalJSON added in v4.0.8

func (o TransferDetails) MarshalJSON() ([]byte, error)

func (TransferDetails) ToMap added in v4.0.8

func (o TransferDetails) ToMap() (map[string]interface{}, error)

type TransferDetailsTagsInner added in v4.0.8

type TransferDetailsTagsInner struct {
	Product *string  `json:"product,omitempty"`
	Size    *float32 `json:"size,omitempty"`
}

TransferDetailsTagsInner struct for TransferDetailsTagsInner

func (TransferDetailsTagsInner) MarshalJSON added in v4.0.8

func (o TransferDetailsTagsInner) MarshalJSON() ([]byte, error)

func (TransferDetailsTagsInner) ToMap added in v4.0.8

func (o TransferDetailsTagsInner) ToMap() (map[string]interface{}, error)

type UPIAuthorizeDetails

type UPIAuthorizeDetails struct {
	// Time by which this authorization should be approved by the customer.
	ApproveBy *string `json:"approve_by,omitempty"`
	// This is the time when the UPI one time mandate will start
	StartTime *string `json:"start_time,omitempty"`
	// This is the time when the UPI mandate will be over. If the mandate has not been executed by this time, the funds will be returned back to the customer after this time.
	EndTime *string `json:"end_time,omitempty"`
}

UPIAuthorizeDetails object when you are using preauth in UPI in order pay

func (UPIAuthorizeDetails) MarshalJSON

func (o UPIAuthorizeDetails) MarshalJSON() ([]byte, error)

func (UPIAuthorizeDetails) ToMap

func (o UPIAuthorizeDetails) ToMap() (map[string]interface{}, error)

type UPIPaymentMethod

type UPIPaymentMethod struct {
	Upi Upi `json:"upi"`
}

UPIPaymentMethod Complete payment method for UPI collect

func (UPIPaymentMethod) MarshalJSON

func (o UPIPaymentMethod) MarshalJSON() ([]byte, error)

func (UPIPaymentMethod) ToMap

func (o UPIPaymentMethod) ToMap() (map[string]interface{}, error)

type UpdateTerminalEntity added in v4.0.7

type UpdateTerminalEntity struct {
	AddedOn         *string `json:"added_on,omitempty"`
	CfTerminalId    *int32  `json:"cf_terminal_id,omitempty"`
	LastUpdatedOn   *string `json:"last_updated_on,omitempty"`
	TerminalAddress *string `json:"terminal_address,omitempty"`
	TerminalEmail   *string `json:"terminal_email,omitempty"`
	TerminalType    *string `json:"terminal_type,omitempty"`
	TeminalId       *string `json:"teminal_id,omitempty"`
	TerminalName    *string `json:"terminal_name,omitempty"`
	TerminalNote    *string `json:"terminal_note,omitempty"`
	TerminalPhoneNo *string `json:"terminal_phone_no,omitempty"`
	TerminalStatus  *string `json:"terminal_status,omitempty"`
	TerminalMeta    *string `json:"terminal_meta,omitempty"`
}

UpdateTerminalEntity Update terminal response

func SposUpdateTerminal added in v4.0.7

func SposUpdateTerminal(xApiVersion *string, cfTerminalId string, updateTerminalRequest *UpdateTerminalRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]UpdateTerminalEntity, *http.Response, error)

Execute executes the request

@return []UpdateTerminalEntity

func SposUpdateTerminalStatus added in v4.0.7

func SposUpdateTerminalStatus(xApiVersion *string, cfTerminalId string, updateTerminalStatusRequest *UpdateTerminalStatusRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]UpdateTerminalEntity, *http.Response, error)

Execute executes the request

@return []UpdateTerminalEntity

func SposUpdateTerminalStatusWithContext added in v4.0.7

func SposUpdateTerminalStatusWithContext(ctx context.Context, xApiVersion *string, cfTerminalId string, updateTerminalStatusRequest *UpdateTerminalStatusRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]UpdateTerminalEntity, *http.Response, error)

With Context Execute executes the request

@return []UpdateTerminalEntity

func SposUpdateTerminalWithContext added in v4.0.7

func SposUpdateTerminalWithContext(ctx context.Context, xApiVersion *string, cfTerminalId string, updateTerminalRequest *UpdateTerminalRequest, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]UpdateTerminalEntity, *http.Response, error)

With Context Execute executes the request

@return []UpdateTerminalEntity

func (UpdateTerminalEntity) MarshalJSON added in v4.0.7

func (o UpdateTerminalEntity) MarshalJSON() ([]byte, error)

func (UpdateTerminalEntity) ToMap added in v4.0.7

func (o UpdateTerminalEntity) ToMap() (map[string]interface{}, error)

type UpdateTerminalRequest added in v4.0.7

type UpdateTerminalRequest struct {
	// Mention the updated email ID of the terminal.
	TerminalEmail *string `json:"terminal_email,omitempty"`
	// Terminal phone number to be updated.
	TerminalPhoneNo *string                            `json:"terminal_phone_no,omitempty"`
	TerminalMeta    *UpdateTerminalRequestTerminalMeta `json:"terminal_meta,omitempty"`
	// Mention the terminal type to be updated. Possible values - AGENT, STOREFRONT.
	TerminalType string `json:"terminal_type"`
}

UpdateTerminalRequest Request body to update terminal details.

func (UpdateTerminalRequest) MarshalJSON added in v4.0.7

func (o UpdateTerminalRequest) MarshalJSON() ([]byte, error)

func (UpdateTerminalRequest) ToMap added in v4.0.7

func (o UpdateTerminalRequest) ToMap() (map[string]interface{}, error)

type UpdateTerminalRequestTerminalMeta added in v4.0.7

type UpdateTerminalRequestTerminalMeta struct {
	// Name of the operator for the storefront.
	TerminalOperator *string `json:"terminal_operator,omitempty"`
}

UpdateTerminalRequestTerminalMeta Terminal metadata.

func (UpdateTerminalRequestTerminalMeta) MarshalJSON added in v4.0.7

func (o UpdateTerminalRequestTerminalMeta) MarshalJSON() ([]byte, error)

func (UpdateTerminalRequestTerminalMeta) ToMap added in v4.0.7

func (o UpdateTerminalRequestTerminalMeta) ToMap() (map[string]interface{}, error)

type UpdateTerminalStatusRequest added in v4.0.7

type UpdateTerminalStatusRequest struct {
	// Status of the terminal to be updated. possible values - ACTIVE, INACTIVE.
	TerminalStatus string `json:"terminal_status"`
}

UpdateTerminalStatusRequest Request body to update terminal status.

func (UpdateTerminalStatusRequest) MarshalJSON added in v4.0.7

func (o UpdateTerminalStatusRequest) MarshalJSON() ([]byte, error)

func (UpdateTerminalStatusRequest) ToMap added in v4.0.7

func (o UpdateTerminalStatusRequest) ToMap() (map[string]interface{}, error)

type UpdateVendorRequest added in v4.0.8

type UpdateVendorRequest struct {
	// Specify the status of vendor that should be updated. Possible values: ACTIVE,BLOCKED, DELETED
	Status string `json:"status"`
	// Specify the name of the vendor to be updated. Name should not have any special character except . / - &
	Name string `json:"name"`
	// Specify the vendor email ID that should be updated. String in email ID format (Ex:johndoe_1@cashfree.com) should contain @ and dot (.)
	Email string `json:"email"`
	// Specify the beneficiaries phone number to be updated. Phone number registered in India (only digits, 8 - 12 characters after excluding +91).
	Phone string `json:"phone"`
	// Specify if the vendor bank account details should be verified. Possible values: true or false
	VerifyAccount *bool `json:"verify_account,omitempty"`
	// Update if the vendor will have dashboard access or not. Possible values are: true or false
	DashboardAccess *bool `json:"dashboard_access,omitempty"`
	// Specify the settlement cycle to be updated. View the settlement cycle details from the \"Settlement Cycles Supported\" table. If no schedule option is configured, the settlement cycle ID \"1\" will be in effect. Select \"8\" or \"9\" if you want to schedule instant vendor settlements.
	ScheduleOption float32 `json:"schedule_option"`
	// Specify the vendor bank account details to be updated.
	Bank []BankDetails `json:"bank,omitempty"`
	// Updated beneficiary upi vpa. Alphanumeric, dot (.), hyphen (-), at sign (@), and underscore allowed (100 character limit). Note: underscore and dot (.) gets accepted before and after @, but hyphen (-) is only accepted before @ sign.
	Upi []UpiDetails `json:"upi,omitempty"`
	// Specify the kyc details that should be updated.
	KycDetails []KycDetails `json:"kyc_details"`
}

UpdateVendorRequest Update Vendor Request

func (UpdateVendorRequest) MarshalJSON added in v4.0.8

func (o UpdateVendorRequest) MarshalJSON() ([]byte, error)

func (UpdateVendorRequest) ToMap added in v4.0.8

func (o UpdateVendorRequest) ToMap() (map[string]interface{}, error)

type UpdateVendorResponse added in v4.0.8

type UpdateVendorResponse struct {
	Email           *string                        `json:"email,omitempty"`
	Status          *string                        `json:"status,omitempty"`
	Bank            []BankDetails                  `json:"bank,omitempty"`
	Upi             *string                        `json:"upi,omitempty"`
	AddedOn         *string                        `json:"added_on,omitempty"`
	UpdatedOn       *string                        `json:"updated_on,omitempty"`
	VendorType      *string                        `json:"vendor_type,omitempty"`
	AccountType     *string                        `json:"account_type,omitempty"`
	BusinessType    *string                        `json:"business_type,omitempty"`
	Phone           *float32                       `json:"phone,omitempty"`
	Name            *string                        `json:"name,omitempty"`
	VendorId        *string                        `json:"vendor_id,omitempty"`
	ScheduleOption  []ScheduleOption               `json:"schedule_option,omitempty"`
	KycDetails      []KycDetails                   `json:"kyc_details,omitempty"`
	DashboardAccess *bool                          `json:"dashboard_access,omitempty"`
	BankDetails     *string                        `json:"bank_details,omitempty"`
	RelatedDocs     []VendorEntityRelatedDocsInner `json:"related_docs,omitempty"`
}

UpdateVendorResponse Update Vendor Response

func PGESUpdateVendors added in v4.0.8

func PGESUpdateVendors(xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, updateVendorRequest *UpdateVendorRequest, httpClient *http.Client) (*UpdateVendorResponse, *http.Response, error)

Execute executes the request

@return UpdateVendorResponse

func PGESUpdateVendorsWithContext added in v4.0.8

func PGESUpdateVendorsWithContext(ctx context.Context, xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, updateVendorRequest *UpdateVendorRequest, httpClient *http.Client) (*UpdateVendorResponse, *http.Response, error)

With Context Execute executes the request

@return UpdateVendorResponse

func (UpdateVendorResponse) MarshalJSON added in v4.0.8

func (o UpdateVendorResponse) MarshalJSON() ([]byte, error)

func (UpdateVendorResponse) ToMap added in v4.0.8

func (o UpdateVendorResponse) ToMap() (map[string]interface{}, error)

type Upi

type Upi struct {
	// Specify the channel through which the payment must be processed. Can be one of [\"link\", \"collect\", \"qrcode\"]
	Channel string `json:"channel"`
	// Customer UPI VPA to process payment.  ### Important This is a required parameter for channel = `collect`
	UpiId *string `json:"upi_id,omitempty"`
	// use this if you want cashfree to show a loader. Sample response below. It is only supported for collect `action:collect` will be returned with `data.url` having the link for redirection
	UpiRedirectUrl *bool `json:"upi_redirect_url,omitempty"`
	// The UPI request will be valid for this expiry minutes. This parameter is only applicable for a UPI collect payment. The default value is 5 minutes. You should keep the minimum as 5 minutes, and maximum as 15 minutes
	UpiExpiryMinutes *float32 `json:"upi_expiry_minutes,omitempty"`
	// For one time mandate on UPI. Set this as authorize_only = true. Please note that you can only use the \"collect\" channel if you are sending a one time mandate request
	AuthorizeOnly *bool                `json:"authorize_only,omitempty"`
	Authorization *UPIAuthorizeDetails `json:"authorization,omitempty"`
}

Upi UPI collect payment method object

func (Upi) MarshalJSON

func (o Upi) MarshalJSON() ([]byte, error)

func (Upi) ToMap

func (o Upi) ToMap() (map[string]interface{}, error)

type UpiDetails added in v4.0.8

type UpiDetails struct {
	Vpa           *string `json:"vpa,omitempty"`
	AccountHolder *string `json:"account_holder,omitempty"`
}

UpiDetails struct for UpiDetails

func (UpiDetails) MarshalJSON added in v4.0.8

func (o UpiDetails) MarshalJSON() ([]byte, error)

func (UpiDetails) ToMap added in v4.0.8

func (o UpiDetails) ToMap() (map[string]interface{}, error)

type UploadTerminalDocs added in v4.0.7

type UploadTerminalDocs struct {
	// Mention the document type you are uploading. Possible values - ADDRESSPROOF, PHOTOGRAPH.
	DocType string `json:"doc_type"`
	// Enter the display name of the uploaded file.
	DocValue string `json:"doc_value"`
	// Select the document that should be uploaded or provide the path of that file. You cannot upload a file that is more than 2MB in size.
	File string `json:"file"`
}

UploadTerminalDocs Request body to upload terminal documents.

func (UploadTerminalDocs) MarshalJSON added in v4.0.7

func (o UploadTerminalDocs) MarshalJSON() ([]byte, error)

func (UploadTerminalDocs) ToMap added in v4.0.7

func (o UploadTerminalDocs) ToMap() (map[string]interface{}, error)

type UploadTerminalDocsEntity added in v4.0.7

type UploadTerminalDocsEntity struct {
	CfTerminalId *int32  `json:"cf_terminal_id,omitempty"`
	DocType      *string `json:"doc_type,omitempty"`
	DocValue     *string `json:"doc_value,omitempty"`
	Status       *string `json:"status,omitempty"`
}

UploadTerminalDocsEntity Upload the terminal documents.

func SposUploadTerminalDocs added in v4.0.7

func SposUploadTerminalDocs(xApiVersion *string, cfTerminalId string, uploadTerminalDocs *UploadTerminalDocs, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]UploadTerminalDocsEntity, *http.Response, error)

Execute executes the request

@return []UploadTerminalDocsEntity

func SposUploadTerminalDocsWithContext added in v4.0.7

func SposUploadTerminalDocsWithContext(ctx context.Context, xApiVersion *string, cfTerminalId string, uploadTerminalDocs *UploadTerminalDocs, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) ([]UploadTerminalDocsEntity, *http.Response, error)

With Context Execute executes the request

@return []UploadTerminalDocsEntity

func (UploadTerminalDocsEntity) MarshalJSON added in v4.0.7

func (o UploadTerminalDocsEntity) MarshalJSON() ([]byte, error)

func (UploadTerminalDocsEntity) ToMap added in v4.0.7

func (o UploadTerminalDocsEntity) ToMap() (map[string]interface{}, error)

type UploadVendorDocsRequest added in v4.0.8

type UploadVendorDocsRequest struct {
	// Mention the type of the document you are uploading. Possible values: UIDAI_FRONT, UIDAI_BACK, UIDAI_NUMBER, DL, DL_NUMBER, PASSPORT_FRONT, PASSPORT_BACK, PASSPORT_NUMBER, VOTER_ID, VOTER_ID_NUMBER, PAN, PAN_NUMBER, GST, GSTIN_NUMBER, CIN, CIN_NUMBER, NBFC_CERTIFICATE. If the doc type ends with a number you should add the doc value else upload the doc file.
	DocType *string `json:"doc_type,omitempty"`
	// Enter the display name of the uploaded file.
	DocValue **os.File `json:"doc_value,omitempty"`
	// Select the document that should be uploaded or provide the path of that file. You cannot upload a file that is more than 2MB in size.
	File *string `json:"file,omitempty"`
}

UploadVendorDocsRequest Update Vendor Request

func (UploadVendorDocsRequest) MarshalJSON added in v4.0.8

func (o UploadVendorDocsRequest) MarshalJSON() ([]byte, error)

func (UploadVendorDocsRequest) ToMap added in v4.0.8

func (o UploadVendorDocsRequest) ToMap() (map[string]interface{}, error)

type UploadVendorDocumentsResponse added in v4.0.8

type UploadVendorDocumentsResponse struct {
	VendorId *string `json:"vendor_id,omitempty"`
	DocType  *string `json:"doc_type,omitempty"`
	DocValue *string `json:"doc_value,omitempty"`
	Status   *string `json:"status,omitempty"`
	Remarks  *string `json:"remarks,omitempty"`
}

UploadVendorDocumentsResponse Upload Vendor Document

func (UploadVendorDocumentsResponse) MarshalJSON added in v4.0.8

func (o UploadVendorDocumentsResponse) MarshalJSON() ([]byte, error)

func (UploadVendorDocumentsResponse) ToMap added in v4.0.8

func (o UploadVendorDocumentsResponse) ToMap() (map[string]interface{}, error)

type VendorBalance added in v4.0.8

type VendorBalance struct {
	MerchantId        *float32 `json:"merchant_id,omitempty"`
	VendorId          *string  `json:"vendor_id,omitempty"`
	MerchantUnsettled *float32 `json:"merchant_unsettled,omitempty"`
	VendorUnsettled   *float32 `json:"vendor_unsettled,omitempty"`
}

VendorBalance Vendor Balance entity object

func PGESGetVendorBalance added in v4.0.8

func PGESGetVendorBalance(xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorBalance, *http.Response, error)

Execute executes the request

@return VendorBalance

func PGESGetVendorBalanceWithContext added in v4.0.8

func PGESGetVendorBalanceWithContext(ctx context.Context, xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorBalance, *http.Response, error)

With Context Execute executes the request

@return VendorBalance

func (VendorBalance) MarshalJSON added in v4.0.8

func (o VendorBalance) MarshalJSON() ([]byte, error)

func (VendorBalance) ToMap added in v4.0.8

func (o VendorBalance) ToMap() (map[string]interface{}, error)

type VendorBalanceTransferCharges added in v4.0.8

type VendorBalanceTransferCharges struct {
	ServiceCharges *float32 `json:"service_charges,omitempty"`
	ServiceTax     *float32 `json:"service_tax,omitempty"`
	Amount         *float32 `json:"amount,omitempty"`
	BilledTo       *string  `json:"billed_to,omitempty"`
	IsPostpaid     *bool    `json:"is_postpaid,omitempty"`
}

VendorBalanceTransferCharges Vendor Balance Transfer Charges entity object

func PGESGetVendorBalanceTransferCharges added in v4.0.8

func PGESGetVendorBalanceTransferCharges(xApiVersion *string, amount float32, rateType *string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorBalanceTransferCharges, *http.Response, error)

Execute executes the request

@return VendorBalanceTransferCharges

func PGESGetVendorBalanceTransferChargesWithContext added in v4.0.8

func PGESGetVendorBalanceTransferChargesWithContext(ctx context.Context, xApiVersion *string, amount float32, rateType *string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorBalanceTransferCharges, *http.Response, error)

With Context Execute executes the request

@return VendorBalanceTransferCharges

func (VendorBalanceTransferCharges) MarshalJSON added in v4.0.8

func (o VendorBalanceTransferCharges) MarshalJSON() ([]byte, error)

func (VendorBalanceTransferCharges) ToMap added in v4.0.8

func (o VendorBalanceTransferCharges) ToMap() (map[string]interface{}, error)

type VendorDocumentDownloadResponse added in v4.0.8

type VendorDocumentDownloadResponse struct {
	DownloadUrl *string `json:"download_url,omitempty"`
}

VendorDocumentDownloadResponse Download Vendor Document

func PGESDownloadVendorsDocs added in v4.0.8

func PGESDownloadVendorsDocs(xApiVersion *string, docType string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorDocumentDownloadResponse, *http.Response, error)

Execute executes the request

@return VendorDocumentDownloadResponse

func PGESDownloadVendorsDocsWithContext added in v4.0.8

func PGESDownloadVendorsDocsWithContext(ctx context.Context, xApiVersion *string, docType string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorDocumentDownloadResponse, *http.Response, error)

With Context Execute executes the request

@return VendorDocumentDownloadResponse

func (VendorDocumentDownloadResponse) MarshalJSON added in v4.0.8

func (o VendorDocumentDownloadResponse) MarshalJSON() ([]byte, error)

func (VendorDocumentDownloadResponse) ToMap added in v4.0.8

func (o VendorDocumentDownloadResponse) ToMap() (map[string]interface{}, error)

type VendorDocumentsResponse added in v4.0.8

type VendorDocumentsResponse struct {
	Documents []VendorEntityRelatedDocsInner `json:"documents,omitempty"`
}

VendorDocumentsResponse Get Vendor Documents

func PGESGetVendorsDocs added in v4.0.8

func PGESGetVendorsDocs(xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorDocumentsResponse, *http.Response, error)

Execute executes the request

@return VendorDocumentsResponse

func PGESGetVendorsDocsWithContext added in v4.0.8

func PGESGetVendorsDocsWithContext(ctx context.Context, xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorDocumentsResponse, *http.Response, error)

With Context Execute executes the request

@return VendorDocumentsResponse

func (VendorDocumentsResponse) MarshalJSON added in v4.0.8

func (o VendorDocumentsResponse) MarshalJSON() ([]byte, error)

func (VendorDocumentsResponse) ToMap added in v4.0.8

func (o VendorDocumentsResponse) ToMap() (map[string]interface{}, error)

type VendorEntity added in v4.0.8

type VendorEntity struct {
	Email          *string                        `json:"email,omitempty"`
	Status         *string                        `json:"status,omitempty"`
	Phone          *string                        `json:"phone,omitempty"`
	Name           *string                        `json:"name,omitempty"`
	VendorId       *string                        `json:"vendor_id,omitempty"`
	AddedOn        *string                        `json:"added_on,omitempty"`
	UpdatedOn      *string                        `json:"updated_on,omitempty"`
	Bank           []BankDetails                  `json:"bank,omitempty"`
	Upi            *string                        `json:"upi,omitempty"`
	ScheduleOption []ScheduleOption               `json:"schedule_option,omitempty"`
	VendorType     *string                        `json:"vendor_type,omitempty"`
	AccountType    *string                        `json:"account_type,omitempty"`
	BusinessType   *string                        `json:"business_type,omitempty"`
	RelatedDocs    []VendorEntityRelatedDocsInner `json:"related_docs,omitempty"`
}

VendorEntity Vendor entity object

func PGESFetchVendors added in v4.0.8

func PGESFetchVendors(xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorEntity, *http.Response, error)

Execute executes the request

@return VendorEntity

func PGESFetchVendorsWithContext added in v4.0.8

func PGESFetchVendorsWithContext(ctx context.Context, xApiVersion *string, vendorId string, xRequestId *string, xIdempotencyKey *string, httpClient *http.Client) (*VendorEntity, *http.Response, error)

With Context Execute executes the request

@return VendorEntity

func (VendorEntity) MarshalJSON added in v4.0.8

func (o VendorEntity) MarshalJSON() ([]byte, error)

func (VendorEntity) ToMap added in v4.0.8

func (o VendorEntity) ToMap() (map[string]interface{}, error)

type VendorEntityRelatedDocsInner added in v4.0.8

type VendorEntityRelatedDocsInner struct {
	VendorId *string `json:"vendor_id,omitempty"`
	DocType  *string `json:"doc_type,omitempty"`
	DocValue *string `json:"doc_value,omitempty"`
	Status   *string `json:"status,omitempty"`
	Remarks  *string `json:"remarks,omitempty"`
}

VendorEntityRelatedDocsInner struct for VendorEntityRelatedDocsInner

func (VendorEntityRelatedDocsInner) MarshalJSON added in v4.0.8

func (o VendorEntityRelatedDocsInner) MarshalJSON() ([]byte, error)

func (VendorEntityRelatedDocsInner) ToMap added in v4.0.8

func (o VendorEntityRelatedDocsInner) ToMap() (map[string]interface{}, error)

type VendorSplit

type VendorSplit struct {
	// Vendor id created in Cashfree system
	VendorId *string `json:"vendor_id,omitempty"`
	// Amount which will be associated with this vendor
	Amount *float32 `json:"amount,omitempty"`
	// Percentage of order amount which shall get added to vendor account
	Percentage *float32 `json:"percentage,omitempty"`
}

VendorSplit Use to split order when cashfree's Easy Split is enabled for your account.

func (VendorSplit) MarshalJSON

func (o VendorSplit) MarshalJSON() ([]byte, error)

func (VendorSplit) ToMap

func (o VendorSplit) ToMap() (map[string]interface{}, error)

type WHcustomerDetails

type WHcustomerDetails struct {
	CustomerName  *string `json:"customer_name,omitempty"`
	CustomerId    *string `json:"customer_id,omitempty"`
	CustomerEmail *string `json:"customer_email,omitempty"`
	CustomerPhone *string `json:"customer_phone,omitempty"`
}

WHcustomerDetails customer details object in webhook

func (WHcustomerDetails) MarshalJSON

func (o WHcustomerDetails) MarshalJSON() ([]byte, error)

func (WHcustomerDetails) ToMap

func (o WHcustomerDetails) ToMap() (map[string]interface{}, error)

type WHdata

type WHdata struct {
	Order           *WHorder           `json:"order,omitempty"`
	Payment         *PaymentEntity     `json:"payment,omitempty"`
	CustomerDetails *WHcustomerDetails `json:"customer_details,omitempty"`
}

WHdata webhook object

func (WHdata) MarshalJSON

func (o WHdata) MarshalJSON() ([]byte, error)

func (WHdata) ToMap

func (o WHdata) ToMap() (map[string]interface{}, error)

type WHorder

type WHorder struct {
	OrderId       *string  `json:"order_id,omitempty"`
	OrderAmount   *float64 `json:"order_amount,omitempty"`
	OrderCurrency *string  `json:"order_currency,omitempty"`
	// Custom Tags in thr form of {\"key\":\"value\"} which can be passed for an order. A maximum of 10 tags can be added
	OrderTags *map[string]string `json:"order_tags,omitempty"`
}

WHorder order entity in webhook

func (WHorder) MarshalJSON

func (o WHorder) MarshalJSON() ([]byte, error)

func (WHorder) ToMap

func (o WHorder) ToMap() (map[string]interface{}, error)

type WalletOffer

type WalletOffer struct {
	Provider *string `json:"provider,omitempty"`
}

WalletOffer struct for WalletOffer

func (WalletOffer) MarshalJSON

func (o WalletOffer) MarshalJSON() ([]byte, error)

func (WalletOffer) ToMap

func (o WalletOffer) ToMap() (map[string]interface{}, error)

Source Files

Jump to

Keyboard shortcuts

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