Documentation
¶
Index ¶
- Constants
- type Acs
- type AuthenticationType
- type CardInfo
- type CardholderAccountInfo
- type Category
- type ChallengeCancelReason
- type Client
- func (c *Client) CompleteSession(sessionId, sessionSecret string) (*common.MetadataResponse, error)
- func (c *Client) GetSessionDetails(sessionId string, sessionSecret string) (*GetSessionResponse, error)
- func (c *Client) RequestSession(request SessionRequest) (*SessionResponse, error)
- func (c *Client) Update3dsMethodCompletion(sessionId string, request ThreeDsMethodCompletionRequest, sessionSecret string) (*Update3dsMethodCompletionResponse, error)
- func (c *Client) UpdateSession(sessionId string, request channels.Channel, sessionSecret string) (*GetSessionResponse, error)
- type Ds
- type DsPublicKeys
- type GetSessionResponse
- type InitialTransaction
- type Installment
- type MerchantRiskInfo
- type NextAction
- type Optimization
- type OptimizedProperty
- type PreOrderPurchaseIndicatorType
- type Recurring
- type ReorderItemsIndicatorType
- type ResponseCode
- type SchemeInfo
- type SessionDetails
- type SessionInterface
- type SessionMarketplaceData
- type SessionRequest
- type SessionResponse
- type SessionSecretCredentials
- type SessionStatus
- type SessionsBillingDescriptor
- type SessionsCardMetadataResponse
- type ShippingIndicator
- type StatusReason
- type ThreeDsExemption
- type ThreeDsMethodCompletionRequest
- type ThreeDsRequestorAuthenticationInfo
- type TransactionType
- type TrustedBeneficiary
- type TrustedBeneficiaryStatusType
- type Update3dsMethodCompletionResponse
Constants ¶
View Source
const ( SessionsPath = "sessions" CollectDataPath = "collect-data" CompletePath = "complete" IssuerFingerprintPath = "issuer-fingerprint" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Acs ¶
type Acs struct {
ReferenceNumber string `json:"reference_number,omitempty"`
TransactionId string `json:"transaction_id,omitempty"`
OperatorId string `json:"operator_id,omitempty"`
Url string `json:"url,omitempty"`
SignedContent string `json:"signed_content,omitempty"`
ChallengeMandated bool `json:"challenge_mandated,omitempty"`
AuthenticationType string `json:"authentication_type,omitempty"`
ChallengeCancelReason ChallengeCancelReason `json:"challenge_cancel_reason,omitempty"`
Interface SessionInterface `json:"interface,omitempty"`
UiTemplate channels.UIElements `json:"ui_template,omitempty"`
ChallengeCancelReasonCode string `json:"challenge_cancel_reason_code,omitempty"`
}
type AuthenticationType ¶
type AuthenticationType string
const ( AddCardAuthType AuthenticationType = "add_card" InstallmentAuthType AuthenticationType = "installment" MaintainCardAuthType AuthenticationType = "maintain_card" RecurringAuthType AuthenticationType = "recurring" RegularAuthType AuthenticationType = "regular" )
type CardInfo ¶
type CardInfo struct {
InstrumentId string `json:"instrument_id,omitempty"`
Fingerprint string `json:"fingerprint,omitempty"`
Metadata *SessionsCardMetadataResponse `json:"metadata,omitempty"`
}
type CardholderAccountInfo ¶
type CardholderAccountInfo struct {
AccountInfo *payments.AccountInfo
ThreeDsRequestorAuthenticationInfo *ThreeDsRequestorAuthenticationInfo `json:"three_ds_requestor_authentication_info,omitempty"`
}
type ChallengeCancelReason ¶
type ChallengeCancelReason string
const ( CardHolderCancel ChallengeCancelReason = "cardholder_cancel" TransactionTimedOut ChallengeCancelReason = "transaction_timed_out" ChallengeTimedOut ChallengeCancelReason = "challenge_timed_out" TransactionError ChallengeCancelReason = "transaction_error" SdkTimedOut ChallengeCancelReason = "sdk_timed_out" Unknown ChallengeCancelReason = "unknown" )
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(configuration *configuration.Configuration, apiClient client.HttpClient) *Client
func (*Client) CompleteSession ¶
func (c *Client) CompleteSession(sessionId, sessionSecret string) (*common.MetadataResponse, error)
func (*Client) GetSessionDetails ¶
func (c *Client) GetSessionDetails(sessionId string, sessionSecret string) (*GetSessionResponse, error)
func (*Client) RequestSession ¶
func (c *Client) RequestSession(request SessionRequest) (*SessionResponse, error)
func (*Client) Update3dsMethodCompletion ¶
func (c *Client) Update3dsMethodCompletion( sessionId string, request ThreeDsMethodCompletionRequest, sessionSecret string, ) (*Update3dsMethodCompletionResponse, error)
func (*Client) UpdateSession ¶
type DsPublicKeys ¶
type GetSessionResponse ¶
type GetSessionResponse struct {
SessionDetails
}
type InitialTransaction ¶ added in v1.2.3
type InitialTransaction struct {
AcsTransactionId string `json:"acs_transaction_id,omitempty"`
AuthenticationMethod string `json:"authentication_method,omitempty"`
AuthenticationTimestamp string `json:"authentication_timestamp,omitempty"`
AuthenticationData string `json:"authentication_data,omitempty"`
InitialSessionId string `json:"initial_session_id,omitempty"`
}
type Installment ¶
type MerchantRiskInfo ¶
type MerchantRiskInfo struct {
DeliveryEmail string `json:"delivery_email,omitempty"`
DeliveryTimeframe payments.DeliveryTimeframe `json:"delivery_timeframe,omitempty"`
IsPreorder bool `json:"is_preorder,omitempty"`
IsReorder bool `json:"is_reorder,omitempty"`
ShippingIndicator ShippingIndicator `json:"shipping_indicator,omitempty"`
ReorderItemsIndicator ReorderItemsIndicatorType `json:"reorder_items_indicator,omitempty"`
PreOrderPurchaseIndicator PreOrderPurchaseIndicatorType `json:"pre_order_purchase_indicator,omitempty"`
PreOrderDate *time.Time `json:"pre_order_date,omitempty"`
GiftCardAmount string `json:"gift_card_amount,omitempty"`
GiftCardCurrency string `json:"gift_card_currency,omitempty"`
GiftCardCount string `json:"gift_card_count,omitempty"`
}
type NextAction ¶
type NextAction string
const ( Authenticate NextAction = "authenticate" ChallengeCardHolder NextAction = "challenge_cardholder" CollectChannelData NextAction = "collect_channel_data" Complete NextAction = "complete" IssueFingerprint NextAction = "issuer_fingerprint" RedirectCardholder NextAction = "redirect_cardholder" )
type Optimization ¶ added in v1.2.3
type Optimization struct {
Optimized bool `json:"optimized,omitempty"`
Framework string `json:"framework,omitempty"`
OptimizedProperties []OptimizedProperty `json:"optimized_properties,omitempty"`
}
type OptimizedProperty ¶ added in v1.2.3
type PreOrderPurchaseIndicatorType ¶ added in v1.2.3
type PreOrderPurchaseIndicatorType string
const ( FutureAvailability PreOrderPurchaseIndicatorType = "future_availability" MerchandiseAvailable PreOrderPurchaseIndicatorType = "merchandise_available" )
type ReorderItemsIndicatorType ¶ added in v1.2.3
type ReorderItemsIndicatorType string
const ( FirstTimeOrdered ReorderItemsIndicatorType = "first_time_ordered" Reordered ReorderItemsIndicatorType = "reordered" )
type ResponseCode ¶
type ResponseCode string
const ( A ResponseCode = "A" C ResponseCode = "C" D ResponseCode = "D" I ResponseCode = "I" N ResponseCode = "N" R ResponseCode = "R" U ResponseCode = "U" Y ResponseCode = "Y" )
type SchemeInfo ¶
type SchemeInfo struct {
Name sources.SessionScheme `json:"name,omitempty"`
Score string `json:"score,omitempty"`
Avalgo string `json:"avalgo,omitempty"`
}
type SessionDetails ¶
type SessionDetails struct {
HttpMetadata common.HttpMetadata
Id string `json:"id,omitempty"`
SessionSecret string `json:"session_secret,omitempty"`
TransactionId string `json:"transaction_id,omitempty"`
Scheme sources.SessionScheme `json:"scheme,omitempty"`
Amount int64 `json:"amount,omitempty"`
Currency common.Currency `json:"currency,omitempty"`
Completed bool `json:"completed,omitempty"`
Challenged bool `json:"challenged,omitempty"`
AuthenticationType AuthenticationType `json:"authentication_type,omitempty"`
AuthenticationCategory Category `json:"authentication_category,omitempty"`
Status SessionStatus `json:"status,omitempty"`
StatusReason StatusReason `json:"status_reason,omitempty"`
NextActions []NextAction `json:"next_actions,omitempty"`
ProtocolVersion string `json:"protocol_version,omitempty"`
AccountInfo *CardholderAccountInfo `json:"account_info,omitempty"`
MerchantRiskInfo *MerchantRiskInfo `json:"merchant_risk_info,omitempty"`
Reference string `json:"reference,omitempty"`
Card *CardInfo `json:"card,omitempty"`
Recurring *Recurring `json:"recurring,omitempty"`
Installment *Installment `json:"installment,omitempty"`
InitialTransaction *InitialTransaction `json:"initial_transaction,omitempty"`
AuthenticationDate *time.Time `json:"authentication_date,omitempty"`
ChallengeIndicator *common.ChallengeIndicator `json:"challenge_indicator,omitempty"`
Optimization *Optimization `json:"optimization,omitempty"`
Certificates *DsPublicKeys `json:"certificates,omitempty"`
Approved bool `json:"approved,omitempty"`
TransactionType TransactionType `json:"transaction_type,omitempty"`
Ds *Ds `json:"ds,omitempty"`
Acs *Acs `json:"acs,omitempty"`
ResponseCode ResponseCode `json:"response_code,omitempty"`
ResponseStatusReason string `json:"response_status_reason,omitempty"`
Pareq string `json:"pareq,omitempty"`
Cryptogram string `json:"cryptogram,omitempty"`
Eci string `json:"eci,omitempty"`
Xid string `json:"xid,omitempty"`
CardholderInfo string `json:"cardholder_info,omitempty"`
CustomerIp string `json:"customer_ip,omitempty"`
Exemption *ThreeDsExemption `json:"exemption,omitempty"`
FlowType common.ThreeDsFlowType `json:"flow_type,omitempty"`
SchemeInfo *SchemeInfo `json:"scheme_info,omitempty"`
Links map[string]common.Link `json:"_links,omitempty"`
}
type SessionInterface ¶
type SessionInterface string
const ( Html SessionInterface = "html" NativeUi SessionInterface = "native_ui" )
type SessionMarketplaceData ¶
type SessionMarketplaceData struct {
SubEntityId string `json:"sub_entity_id,omitempty"`
}
type SessionRequest ¶
type SessionRequest struct {
Source sources.SessionSource `json:"source,omitempty"`
Amount int64 `json:"amount,omitempty"`
Currency common.Currency `json:"currency,omitempty"`
ProcessingChannelId string `json:"processing_channel_id,omitempty"`
Marketplace *SessionMarketplaceData `json:"marketplace,omitempty"`
AuthenticationType AuthenticationType `json:"authentication_type,omitempty"`
AuthenticationCategory Category `json:"authentication_category,omitempty"`
AccountInfo *CardholderAccountInfo `json:"account_info,omitempty"`
ChallengeIndicator common.ChallengeIndicator `json:"challenge_indicator,omitempty"`
BillingDescriptor *SessionsBillingDescriptor `json:"billing_descriptor,omitempty"`
Reference string `json:"reference,omitempty"`
MerchantRiskInfo *MerchantRiskInfo `json:"merchant_risk_info,omitempty"`
PriorTransactionReference string `json:"prior_transaction_reference,omitempty"`
TransactionType TransactionType `json:"transaction_type,omitempty"`
ShippingAddress *sources.SessionAddress `json:"shipping_address,omitempty"`
ShippingAddressMatchesBilling bool `json:"shipping_address_matches_billing,omitempty"`
Completion completion.Completion `json:"completion,omitempty"`
ChannelData channels.Channel `json:"channel_data,omitempty"`
Recurring *Recurring `json:"recurring,omitempty"`
Installment *Installment `json:"installment,omitempty"`
Optimization *Optimization `json:"optimization,omitempty"`
InitialTransaction *InitialTransaction `json:"initial_transaction,omitempty"`
}
func NewSessionRequest ¶ added in v1.2.3
func NewSessionRequest() *SessionRequest
type SessionResponse ¶
type SessionResponse struct {
Accepted *SessionDetails `json:"accepted,omitempty"`
Created *SessionDetails `json:"created,omitempty"`
}
func (*SessionResponse) MapResponse ¶
func (r *SessionResponse) MapResponse(response *SessionDetails)
type SessionSecretCredentials ¶
type SessionSecretCredentials struct {
SessionSecret string
}
func NewSessionSecretCredentials ¶
func NewSessionSecretCredentials(sessionSecret string) *SessionSecretCredentials
func (*SessionSecretCredentials) GetAuthorization ¶
func (c *SessionSecretCredentials) GetAuthorization(authorizationType configuration.AuthorizationType) (*configuration.SdkAuthorization, error)
type SessionStatus ¶
type SessionStatus string
const ( Approved SessionStatus = "approved" Attempted SessionStatus = "attempted" Challenged SessionStatus = "challenged" ChallengeAbandoned SessionStatus = "challenge_abandoned" Declined SessionStatus = "declined" Expired SessionStatus = "expired" Pending SessionStatus = "pending" Processing SessionStatus = "processing" Rejected SessionStatus = "rejected" )
type SessionsBillingDescriptor ¶
type SessionsBillingDescriptor struct {
Name string `json:"name,omitempty"`
}
type SessionsCardMetadataResponse ¶ added in v1.2.3
type SessionsCardMetadataResponse struct {
CardType common.CardType `json:"card_type"`
CardCategory common.CardCategory `json:"card_category"`
IssuerName string `json:"issuer_name"`
IssuerCountry common.Country `json:"issuer_country"`
ProductId string `json:"product_id"`
ProductType string `json:"product_type"`
}
type StatusReason ¶
type StatusReason string
const ( AresError StatusReason = "ares_error" AresStatus StatusReason = "ares_status" VeresError StatusReason = "veres_error" VeresStatus StatusReason = "veres_status" ParesError StatusReason = "pares_error" ParesStatus StatusReason = "pares_status" RreqError StatusReason = "rreq_error" RreqStatus StatusReason = "rreq_status" RiskDeclined StatusReason = "risk_declined" )
type ThreeDsExemption ¶
type ThreeDsExemption struct {
Requested string `json:"requested,omitempty"`
Applied common.Exemption `json:"applied,omitempty"`
Code string `json:"code,omitempty"`
TrustedBeneficiary *TrustedBeneficiary `json:"trusted_beneficiary,omitempty"`
}
type ThreeDsMethodCompletionRequest ¶
type ThreeDsMethodCompletionRequest struct {
ThreeDsMethodCompletion common.ThreeDsMethodCompletion `json:"three_ds_method_completion,omitempty"`
}
type ThreeDsRequestorAuthenticationInfo ¶ added in v1.2.3
type ThreeDsRequestorAuthenticationInfo struct {
ThreeDsReqAuthMethod payments.ThreeDsReqAuthMethodType `json:"three_ds_req_auth_method,omitempty"`
ThreeDsReqAuthTimestamp *time.Time `json:"three_ds_req_auth_timestamp,omitempty"`
ThreeDsReqAuthData string `json:"three_ds_req_auth_data,omitempty"`
}
type TransactionType ¶
type TransactionType string
const ( AccountFunding TransactionType = "account_funding" CheckAcceptance TransactionType = "check_acceptance" GoodsService TransactionType = "goods_service" PrepaidActivationAndLoad TransactionType = "prepaid_activation_and_load" QuashiCardTransaction TransactionType = "quashi_card_transaction" )
type TrustedBeneficiary ¶
type TrustedBeneficiary struct {
Status TrustedBeneficiaryStatusType `json:"status,omitempty"`
Source string `json:"source,omitempty"`
}
type TrustedBeneficiaryStatusType ¶ added in v1.2.3
type TrustedBeneficiaryStatusType string
const ( TrustedBeneficiaryE TrustedBeneficiaryStatusType = "E" TrustedBeneficiaryN TrustedBeneficiaryStatusType = "N" TrustedBeneficiaryP TrustedBeneficiaryStatusType = "P" TrustedBeneficiaryR TrustedBeneficiaryStatusType = "R" TrustedBeneficiaryU TrustedBeneficiaryStatusType = "U" TrustedBeneficiaryY TrustedBeneficiaryStatusType = "Y" )
type Update3dsMethodCompletionResponse ¶
type Update3dsMethodCompletionResponse struct {
HttpMetadata common.HttpMetadata
Id string `json:"id,omitempty"`
SessionSecret string `json:"session_secret,omitempty"`
TransactionId string `json:"transaction_id,omitempty"`
Scheme sources.SessionScheme `json:"scheme,omitempty"`
Amount int64 `json:"amount,omitempty"`
Currency common.Currency `json:"currency,omitempty"`
Completed bool `json:"completed,omitempty"`
Challenged bool `json:"challenged,omitempty"`
AuthenticationType AuthenticationType `json:"authentication_type,omitempty"`
AuthenticationCategory Category `json:"authentication_category,omitempty"`
Certificates *DsPublicKeys `json:"certificates,omitempty"`
Status SessionStatus `json:"status,omitempty"`
StatusReason StatusReason `json:"status_reason,omitempty"`
Approved bool `json:"approved,omitempty"`
ProtocolVersion string `json:"protocol_version,omitempty"`
AccountInfo *CardholderAccountInfo `json:"account_info,omitempty"`
MerchantRiskInfo *MerchantRiskInfo `json:"merchant_risk_info,omitempty"`
Reference string `json:"reference,omitempty"`
TransactionType TransactionType `json:"transaction_type,omitempty"`
NextActions []NextAction `json:"next_actions,omitempty"`
Ds *Ds `json:"ds,omitempty"`
Acs *Acs `json:"acs,omitempty"`
ResponseCode ResponseCode `json:"response_code,omitempty"`
ResponseStatusReason string `json:"response_status_reason,omitempty"`
Pareq string `json:"pareq,omitempty"`
Cryptogram string `json:"cryptogram,omitempty"`
Eci string `json:"eci,omitempty"`
Xid string `json:"xid,omitempty"`
Card *CardInfo `json:"card,omitempty"`
Links map[string]common.Link `json:"_links"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.