acpauthentication

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package acpauthentication serves the ACP Delegated Authentication API.

The API provides a session-based 3DS2 lifecycle: create a session, submit browser fingerprint results, then retrieve the final authentication result. Implement Provider and pass it to NewHandler.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIVersion

type APIVersion = string

APIVersion defines model for APIVersion.

type AcceptLanguage

type AcceptLanguage = string

AcceptLanguage defines model for AcceptLanguage.

type Action

type Action struct {
	// Challenge Configuration for cardholder challenge interaction.
	Challenge *ChallengeAction `json:"challenge,omitempty"`

	// Fingerprint Configuration for browser fingerprinting via iframe.
	Fingerprint *FingerprintAction `json:"fingerprint,omitempty"`

	// Type Category of action.
	Type ActionType `json:"type"`
	// contains filtered or unexported fields
}

Action Describes browser action required

func (Action) AsAction0

func (t Action) AsAction0() (Action0, error)

AsAction0 returns the union data inside the Action as a Action0

func (Action) AsAction1

func (t Action) AsAction1() (Action1, error)

AsAction1 returns the union data inside the Action as a Action1

func (*Action) FromAction0

func (t *Action) FromAction0(v Action0) error

FromAction0 overwrites any union data inside the Action as the provided Action0

func (*Action) FromAction1

func (t *Action) FromAction1(v Action1) error

FromAction1 overwrites any union data inside the Action as the provided Action1

func (Action) MarshalJSON

func (t Action) MarshalJSON() ([]byte, error)

func (*Action) MergeAction0

func (t *Action) MergeAction0(v Action0) error

MergeAction0 performs a merge with any union data inside the Action, using the provided Action0

func (*Action) MergeAction1

func (t *Action) MergeAction1(v Action1) error

MergeAction1 performs a merge with any union data inside the Action, using the provided Action1

func (*Action) UnmarshalJSON

func (t *Action) UnmarshalJSON(b []byte) error

type Action0

type Action0 struct {
	Type interface{} `json:"type,omitempty"`
}

Action0 defines model for Action.0.

type Action1

type Action1 struct {
	Type interface{} `json:"type,omitempty"`
}

Action1 defines model for Action.1.

type ActionType

type ActionType string

ActionType Category of action.

const (
	ActionTypeChallenge   ActionType = "challenge"
	ActionTypeFingerprint ActionType = "fingerprint"
)

Defines values for ActionType.

func (ActionType) Valid

func (e ActionType) Valid() bool

Valid indicates whether the value is a known member of the ActionType enum.

type Address

type Address struct {
	// City City name.
	City string `json:"city"`

	// Country ISO-3166-1 alpha-2
	Country string `json:"country"`

	// LineOne Street address line 1.
	LineOne string `json:"line_one"`

	// LineTwo Street address line 2.
	LineTwo *string `json:"line_two,omitempty"`

	// Name Full name of the recipient.
	Name string `json:"name"`

	// PostalCode Postal code or ZIP code.
	PostalCode string `json:"postal_code"`

	// State ISO-3166-2 where applicable
	State string `json:"state"`
}

Address Physical address schema for shopper or shipping.

type Amount

type Amount struct {
	// Currency ISO 4217 currency code
	Currency string `json:"currency"`

	// Value Amount in minor units (e.g., 1000 = €10.00)
	Value int `json:"value"`
}

Amount Monetary amount for the authentication request.

type AuthenticateSessionJSONRequestBody

type AuthenticateSessionJSONRequestBody = DelegateAuthenticationAuthenticateRequest

AuthenticateSessionJSONRequestBody defines body for AuthenticateSession for application/json ContentType.

type AuthenticateSessionParams

type AuthenticateSessionParams struct {
	Authorization  Authorization   `json:"Authorization"`
	ContentType    ContentType     `json:"Content-Type"`
	AcceptLanguage *AcceptLanguage `json:"Accept-Language,omitempty"`
	UserAgent      *UserAgent      `json:"User-Agent,omitempty"`
	IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
	RequestId      *RequestId      `json:"Request-Id,omitempty"`
	Signature      *Signature      `json:"Signature,omitempty"`
	Timestamp      *Timestamp      `json:"Timestamp,omitempty"`
	APIVersion     APIVersion      `json:"API-Version"`
}

AuthenticateSessionParams defines parameters for AuthenticateSession.

type AuthenticationResult

type AuthenticationResult struct {
	// AuthenticationValue Authentication value (CAVV)
	AuthenticationValue *string `json:"authentication_value,omitempty"`

	// CardholderInfo Message to display to cardholder
	CardholderInfo *string `json:"cardholder_info,omitempty"`

	// ElectronicCommerceIndicator Electronic Commerce Indicator (ECI)
	ElectronicCommerceIndicator *string `json:"electronic_commerce_indicator,omitempty"`

	// ThreeDsCryptogram Authentication cryptogram (CAVV/AAV)
	ThreeDsCryptogram *string `json:"three_ds_cryptogram,omitempty"`

	// ThreeDsServerTransId 3DS Server transaction ID
	ThreeDsServerTransId string `json:"three_ds_server_trans_id"`

	// TransStatus Transaction status (Y, N, A, U, R, etc.)
	TransStatus string `json:"trans_status"`

	// TransStatusReason Reason code for trans_status
	TransStatusReason *string `json:"trans_status_reason,omitempty"`

	// TransactionId Directory Server transaction ID
	TransactionId string `json:"transaction_id"`

	// Version 3DS protocol version (e.g., "2.2.0")
	Version string `json:"version"`
}

AuthenticationResult The finalized 3DS authentication data.

type Authorization

type Authorization = string

Authorization defines model for Authorization.

type BrowserInfo

type BrowserInfo struct {
	// AcceptHeader HTTP Accept header from the browser
	AcceptHeader string `json:"accept_header"`

	// ColorDepth Screen color depth (required if javascript_enabled is true)
	ColorDepth *int `json:"color_depth,omitempty"`

	// IpAddress IP address of the browser
	IpAddress string `json:"ip_address"`

	// JavaEnabled Whether Java is enabled (required if javascript_enabled is true)
	JavaEnabled *bool `json:"java_enabled,omitempty"`

	// JavascriptEnabled Whether JavaScript is enabled
	JavascriptEnabled bool `json:"javascript_enabled"`

	// Language IETF BCP 47 language tag
	Language string `json:"language"`

	// ScreenHeight Screen height in pixels (required if javascript_enabled is true)
	ScreenHeight *int `json:"screen_height,omitempty"`

	// ScreenWidth Screen width in pixels (required if javascript_enabled is true)
	ScreenWidth *int `json:"screen_width,omitempty"`

	// TimezoneOffset Timezone offset in minutes (required if javascript_enabled is true)
	TimezoneOffset *int `json:"timezone_offset,omitempty"`

	// UserAgent Browser user agent string
	UserAgent string `json:"user_agent"`
}

BrowserInfo Detailed browser metadata for 3DS2.

type ChallengeAction

type ChallengeAction struct {
	// AcsTransId ACS transaction identifier
	AcsTransId string `json:"acs_trans_id"`

	// AcsUrl URL to POST challenge request to
	AcsUrl string `json:"acs_url"`

	// MessageVersion 3DS protocol version (e.g., "2.2.0")
	MessageVersion string `json:"message_version"`

	// ThreeDsServerTransId 3DS Server transaction identifier
	ThreeDsServerTransId string `json:"three_ds_server_trans_id"`
}

ChallengeAction Configuration for cardholder challenge interaction.

type Channel

type Channel struct {
	// Browser Detailed browser metadata for 3DS2.
	Browser BrowserInfo `json:"browser"`

	// Type Channel type
	Type ChannelType `json:"type"`
}

Channel Defines the platform/medium for the session.

type ChannelType

type ChannelType string

ChannelType Channel type

const (
	Browser ChannelType = "browser"
)

Defines values for ChannelType.

func (ChannelType) Valid

func (e ChannelType) Valid() bool

Valid indicates whether the value is a known member of the ChannelType enum.

type ContentType

type ContentType = string

ContentType defines model for ContentType.

type CreateAuthenticationSessionJSONRequestBody

type CreateAuthenticationSessionJSONRequestBody = DelegateAuthenticationCreateRequest

CreateAuthenticationSessionJSONRequestBody defines body for CreateAuthenticationSession for application/json ContentType.

type CreateAuthenticationSessionParams

type CreateAuthenticationSessionParams struct {
	Authorization  Authorization   `json:"Authorization"`
	ContentType    ContentType     `json:"Content-Type"`
	AcceptLanguage *AcceptLanguage `json:"Accept-Language,omitempty"`
	UserAgent      *UserAgent      `json:"User-Agent,omitempty"`
	IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
	RequestId      *RequestId      `json:"Request-Id,omitempty"`
	Signature      *Signature      `json:"Signature,omitempty"`
	Timestamp      *Timestamp      `json:"Timestamp,omitempty"`
	APIVersion     APIVersion      `json:"API-Version"`
}

CreateAuthenticationSessionParams defines parameters for CreateAuthenticationSession.

type DelegateAuthenticationAuthenticateRequest

type DelegateAuthenticationAuthenticateRequest struct {
	// ChallengeNotificationUrl URL for challenge result callback
	ChallengeNotificationUrl *string `json:"challenge_notification_url,omitempty"`

	// Channel Defines the platform/medium for the session.
	Channel *Channel `json:"channel,omitempty"`

	// CheckoutSessionId Checkout session identifier
	CheckoutSessionId *string `json:"checkout_session_id,omitempty"`

	// FingerprintCompletion Result of the 3DS Method fingerprint:
	// - Y: Completed successfully
	// - N: Timeout/not completed
	// - U: Unavailable/not performed
	FingerprintCompletion DelegateAuthenticationAuthenticateRequestFingerprintCompletion `json:"fingerprint_completion"`

	// ShopperDetails Identity and contact info for the shopper.
	ShopperDetails *ShopperDetails `json:"shopper_details,omitempty"`
}

DelegateAuthenticationAuthenticateRequest Request body to submit fingerprint result and trigger AReq.

type DelegateAuthenticationAuthenticateRequestFingerprintCompletion

type DelegateAuthenticationAuthenticateRequestFingerprintCompletion string

DelegateAuthenticationAuthenticateRequestFingerprintCompletion Result of the 3DS Method fingerprint: - Y: Completed successfully - N: Timeout/not completed - U: Unavailable/not performed

func (DelegateAuthenticationAuthenticateRequestFingerprintCompletion) Valid

Valid indicates whether the value is a known member of the DelegateAuthenticationAuthenticateRequestFingerprintCompletion enum.

type DelegateAuthenticationCreateRequest

type DelegateAuthenticationCreateRequest struct {
	// AcquirerDetails Object containing acquirer data used for AReq construction.
	// **Recommended:** To ensure the AReq matches the final Authorization, especially when using different authentication and payment providers.
	AcquirerDetails *struct {
		// AcquirerBin The Acquirer BIN.
		AcquirerBin string `json:"acquirer_bin"`

		// AcquirerCountry Two-letter ISO 3166-1 alpha-2 country code.
		AcquirerCountry string `json:"acquirer_country"`

		// AcquirerMerchantId The Merchant ID assigned by the acquirer.
		AcquirerMerchantId string `json:"acquirer_merchant_id"`

		// MerchantName Merchant name assigned by the acquirer.
		MerchantName string `json:"merchant_name"`

		// RequestorId 3DS Requestor ID (if required by directory server).
		RequestorId *string `json:"requestor_id,omitempty"`
	} `json:"acquirer_details,omitempty"`

	// Amount Monetary amount for the authentication request.
	Amount Amount `json:"amount"`

	// ChallengeNotificationUrl URL for challenge result callback
	ChallengeNotificationUrl *string `json:"challenge_notification_url,omitempty"`

	// Channel Defines the platform/medium for the session.
	Channel *Channel `json:"channel,omitempty"`

	// CheckoutSessionId Checkout session identifier
	CheckoutSessionId *string `json:"checkout_session_id,omitempty"`

	// FlowPreference Preference for the 3DS authentication flow. Clients MAY request a preference,
	// but issuers ultimately decide the actual flow.
	FlowPreference *FlowPreference `json:"flow_preference,omitempty"`

	// MerchantId Merchant identifier
	MerchantId string `json:"merchant_id"`

	// PaymentMethod Card information for the authentication session.
	PaymentMethod PaymentMethod `json:"payment_method"`

	// ShopperDetails Identity and contact info for the shopper.
	ShopperDetails *ShopperDetails `json:"shopper_details,omitempty"`
}

DelegateAuthenticationCreateRequest Request body to initialize an authentication session.

type DelegateAuthenticationSession

type DelegateAuthenticationSession = DelegateAuthenticationSessionBase

DelegateAuthenticationSession Response object representing a standard session state.

type DelegateAuthenticationSessionBase

type DelegateAuthenticationSessionBase struct {
	// Action Describes browser action required
	Action *Action `json:"action,omitempty"`

	// AuthenticationSessionId Session ID for subsequent requests
	AuthenticationSessionId string `json:"authentication_session_id"`

	// Status Current state of the session.
	// - action_required: Browser action needed.
	// - pending: Awaiting completion.
	// - not_supported: Method not available.
	Status DelegateAuthenticationSessionBaseStatus `json:"status"`
}

DelegateAuthenticationSessionBase Base properties for an authentication session response.

type DelegateAuthenticationSessionBaseStatus

type DelegateAuthenticationSessionBaseStatus string

DelegateAuthenticationSessionBaseStatus Current state of the session. - action_required: Browser action needed. - pending: Awaiting completion. - not_supported: Method not available.

const (
	DelegateAuthenticationSessionBaseStatusActionRequired     DelegateAuthenticationSessionBaseStatus = "action_required"
	DelegateAuthenticationSessionBaseStatusAttempted          DelegateAuthenticationSessionBaseStatus = "attempted"
	DelegateAuthenticationSessionBaseStatusAuthenticated      DelegateAuthenticationSessionBaseStatus = "authenticated"
	DelegateAuthenticationSessionBaseStatusChallengeAbandoned DelegateAuthenticationSessionBaseStatus = "challenge_abandoned"
	DelegateAuthenticationSessionBaseStatusExpired            DelegateAuthenticationSessionBaseStatus = "expired"
	DelegateAuthenticationSessionBaseStatusNotAuthenticated   DelegateAuthenticationSessionBaseStatus = "not_authenticated"
	DelegateAuthenticationSessionBaseStatusNotSupported       DelegateAuthenticationSessionBaseStatus = "not_supported"
	DelegateAuthenticationSessionBaseStatusPending            DelegateAuthenticationSessionBaseStatus = "pending"
	DelegateAuthenticationSessionBaseStatusRejected           DelegateAuthenticationSessionBaseStatus = "rejected"
	DelegateAuthenticationSessionBaseStatusUnavailable        DelegateAuthenticationSessionBaseStatus = "unavailable"
)

Defines values for DelegateAuthenticationSessionBaseStatus.

func (DelegateAuthenticationSessionBaseStatus) Valid

Valid indicates whether the value is a known member of the DelegateAuthenticationSessionBaseStatus enum.

type DelegateAuthenticationSessionWithResult

type DelegateAuthenticationSessionWithResult struct {
	// Action Describes browser action required
	Action *Action `json:"action,omitempty"`

	// AuthenticationResult The finalized 3DS authentication data.
	AuthenticationResult *AuthenticationResult `json:"authentication_result,omitempty"`

	// AuthenticationSessionId Session ID for subsequent requests
	AuthenticationSessionId string `json:"authentication_session_id"`

	// Status Current state of the session.
	// - action_required: Browser action needed.
	// - pending: Awaiting completion.
	// - not_supported: Method not available.
	Status DelegateAuthenticationSessionWithResultStatus `json:"status"`
}

DelegateAuthenticationSessionWithResult Response object containing the full session state and final result.

type DelegateAuthenticationSessionWithResultStatus

type DelegateAuthenticationSessionWithResultStatus string

DelegateAuthenticationSessionWithResultStatus Current state of the session. - action_required: Browser action needed. - pending: Awaiting completion. - not_supported: Method not available.

const (
	DelegateAuthenticationSessionWithResultStatusActionRequired     DelegateAuthenticationSessionWithResultStatus = "action_required"
	DelegateAuthenticationSessionWithResultStatusAttempted          DelegateAuthenticationSessionWithResultStatus = "attempted"
	DelegateAuthenticationSessionWithResultStatusAuthenticated      DelegateAuthenticationSessionWithResultStatus = "authenticated"
	DelegateAuthenticationSessionWithResultStatusChallengeAbandoned DelegateAuthenticationSessionWithResultStatus = "challenge_abandoned"
	DelegateAuthenticationSessionWithResultStatusExpired            DelegateAuthenticationSessionWithResultStatus = "expired"
	DelegateAuthenticationSessionWithResultStatusNotAuthenticated   DelegateAuthenticationSessionWithResultStatus = "not_authenticated"
	DelegateAuthenticationSessionWithResultStatusNotSupported       DelegateAuthenticationSessionWithResultStatus = "not_supported"
	DelegateAuthenticationSessionWithResultStatusPending            DelegateAuthenticationSessionWithResultStatus = "pending"
	DelegateAuthenticationSessionWithResultStatusRejected           DelegateAuthenticationSessionWithResultStatus = "rejected"
	DelegateAuthenticationSessionWithResultStatusUnavailable        DelegateAuthenticationSessionWithResultStatus = "unavailable"
)

Defines values for DelegateAuthenticationSessionWithResultStatus.

func (DelegateAuthenticationSessionWithResultStatus) Valid

Valid indicates whether the value is a known member of the DelegateAuthenticationSessionWithResultStatus enum.

type Error

type Error struct {
	// Code Specific error sub-code.
	Code ErrorCode `json:"code"`

	// Message Detailed error description.
	Message string `json:"message"`

	// Param RFC 9535 JSONPath (optional)
	Param *string `json:"param,omitempty"`

	// Type Category of error.
	Type ErrorType `json:"type"`
}

Error Structured error response.

type ErrorCode

type ErrorCode string

ErrorCode Specific error sub-code.

const (
	DuplicateRequest    ErrorCode = "duplicate_request"
	IdempotencyConflict ErrorCode = "idempotency_conflict"
	InvalidCard         ErrorCode = "invalid_card"
)

Defines values for ErrorCode.

func (ErrorCode) Valid

func (e ErrorCode) Valid() bool

Valid indicates whether the value is a known member of the ErrorCode enum.

type ErrorType

type ErrorType string

ErrorType Category of error.

const (
	InvalidRequest     ErrorType = "invalid_request"
	ProcessingError    ErrorType = "processing_error"
	RateLimitExceeded  ErrorType = "rate_limit_exceeded"
	ServiceUnavailable ErrorType = "service_unavailable"
)

Defines values for ErrorType.

func (ErrorType) Valid

func (e ErrorType) Valid() bool

Valid indicates whether the value is a known member of the ErrorType enum.

type FingerprintAction

type FingerprintAction struct {
	// ThreeDsMethodUrl URL to POST fingerprint data to via hidden iframe
	ThreeDsMethodUrl string `json:"three_ds_method_url"`

	// ThreeDsServerTransId 3DS Server transaction ID
	ThreeDsServerTransId string `json:"three_ds_server_trans_id"`
}

FingerprintAction Configuration for browser fingerprinting via iframe.

type FlowPreference

type FlowPreference struct {
	// Challenge Preference details for a challenge flow.
	Challenge *struct {
		// Type Subtype of challenge preference
		Type *FlowPreferenceChallengeType `json:"type,omitempty"`
	} `json:"challenge,omitempty"`

	// Frictionless Details about the requested frictionless flow
	Frictionless *map[string]interface{} `json:"frictionless,omitempty"`

	// Type Type of flow requested
	Type FlowPreferenceType `json:"type"`
}

FlowPreference Preference for the 3DS authentication flow. Clients MAY request a preference, but issuers ultimately decide the actual flow.

type FlowPreferenceChallengeType

type FlowPreferenceChallengeType string

FlowPreferenceChallengeType Subtype of challenge preference

const (
	Mandated  FlowPreferenceChallengeType = "mandated"
	Preferred FlowPreferenceChallengeType = "preferred"
)

Defines values for FlowPreferenceChallengeType.

func (FlowPreferenceChallengeType) Valid

Valid indicates whether the value is a known member of the FlowPreferenceChallengeType enum.

type FlowPreferenceType

type FlowPreferenceType string

FlowPreferenceType Type of flow requested

const (
	FlowPreferenceTypeChallenge    FlowPreferenceType = "challenge"
	FlowPreferenceTypeFrictionless FlowPreferenceType = "frictionless"
)

Defines values for FlowPreferenceType.

func (FlowPreferenceType) Valid

func (e FlowPreferenceType) Valid() bool

Valid indicates whether the value is a known member of the FlowPreferenceType enum.

type GetAuthenticationSessionParams

type GetAuthenticationSessionParams struct {
	Authorization  Authorization   `json:"Authorization"`
	AcceptLanguage *AcceptLanguage `json:"Accept-Language,omitempty"`
	UserAgent      *UserAgent      `json:"User-Agent,omitempty"`
	RequestId      *RequestId      `json:"Request-Id,omitempty"`
	Signature      *Signature      `json:"Signature,omitempty"`
	Timestamp      *Timestamp      `json:"Timestamp,omitempty"`
	APIVersion     APIVersion      `json:"API-Version"`
}

GetAuthenticationSessionParams defines parameters for GetAuthenticationSession.

type Handler

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

Handler exposes the ACP delegated authentication API over net/http.

func NewHandler

func NewHandler(provider Provider, authorizer acpauth.Authorizer, opts ...Option) *Handler

NewHandler returns a Handler that serves the ACP delegated authentication API.

Example
package main

import (
	"context"
	"errors"
	"fmt"

	"github.com/sumup/acp/acpauth"
	"github.com/sumup/acp/acpauthentication"
)

type authenticationProvider struct{}

func (authenticationProvider) CreateAuthenticationSession(context.Context, acpauthentication.DelegateAuthenticationCreateRequest) (*acpauthentication.DelegateAuthenticationSession, error) {
	return nil, errors.ErrUnsupported
}

func (authenticationProvider) AuthenticateSession(context.Context, string, acpauthentication.DelegateAuthenticationAuthenticateRequest) (*acpauthentication.DelegateAuthenticationSession, error) {
	return nil, errors.ErrUnsupported
}

func (authenticationProvider) GetAuthenticationSession(context.Context, string) (*acpauthentication.DelegateAuthenticationSessionWithResult, error) {
	return nil, errors.ErrUnsupported
}

func main() {
	handler := acpauthentication.NewHandler(
		authenticationProvider{},
		acpauth.StaticTokenAuthorizer("api_key_123"),
	)

	fmt.Printf("%T\n", handler)
}
Output:
*acpauthentication.Handler

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP dispatches delegated-authentication requests to the configured ACP routes.

type IdempotencyKey

type IdempotencyKey = string

IdempotencyKey defines model for IdempotencyKey.

type Option

type Option func(*config)

Option configures a Handler.

func WithServeMux

func WithServeMux(mux *http.ServeMux) Option

WithServeMux registers delegated-authentication routes on mux instead of creating a new http.ServeMux.

type PaymentMethod

type PaymentMethod struct {
	// ExpMonth Expiry month (01-12)
	ExpMonth string `json:"exp_month"`

	// ExpYear Expiry year (4 digits)
	ExpYear string `json:"exp_year"`

	// Name Cardholder name
	Name string `json:"name"`

	// Number Card number (PAN)
	Number string `json:"number"`

	// Type Payment method type
	Type PaymentMethodType `json:"type"`
}

PaymentMethod Card information for the authentication session.

type PaymentMethodType

type PaymentMethodType string

PaymentMethodType Payment method type

const (
	Card PaymentMethodType = "card"
)

Defines values for PaymentMethodType.

func (PaymentMethodType) Valid

func (e PaymentMethodType) Valid() bool

Valid indicates whether the value is a known member of the PaymentMethodType enum.

type Provider

type Provider interface {
	// CreateAuthenticationSession initializes a 3DS authentication session.
	CreateAuthenticationSession(context.Context, DelegateAuthenticationCreateRequest) (*DelegateAuthenticationSession, error)
	// AuthenticateSession submits browser fingerprint results and starts authentication.
	AuthenticateSession(context.Context, string, DelegateAuthenticationAuthenticateRequest) (*DelegateAuthenticationSession, error)
	// GetAuthenticationSession returns the current session and its final result, when available.
	GetAuthenticationSession(context.Context, string) (*DelegateAuthenticationSessionWithResult, error)
}

Provider owns delegated consumer-authentication sessions.

type RequestId

type RequestId = string

RequestId defines model for RequestId.

type ShopperDetails

type ShopperDetails struct {
	// Address Physical address schema for shopper or shipping.
	Address *Address `json:"address,omitempty"`

	// Email Shopper email
	Email *openapi_types.Email `json:"email,omitempty"`

	// Name Shopper name
	Name *string `json:"name,omitempty"`

	// PhoneNumber Shopper phone number
	PhoneNumber *string `json:"phone_number,omitempty"`
}

ShopperDetails Identity and contact info for the shopper.

type Signature

type Signature = string

Signature defines model for Signature.

type Timestamp

type Timestamp = time.Time

Timestamp defines model for Timestamp.

type UserAgent

type UserAgent = string

UserAgent defines model for UserAgent.

Jump to

Keyboard shortcuts

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