Documentation ¶
Index ¶
- type AccountInfo
- type AdditionalData3DSecure
- type AdditionalDataAirline
- type AdditionalDataCarRental
- type AdditionalDataCommon
- type AdditionalDataLevel23
- type AdditionalDataLodging
- type AdditionalDataModifications
- type AdditionalDataOpenInvoice
- type AdditionalDataOpi
- type AdditionalDataRatepay
- type AdditionalDataRetry
- type AdditionalDataRisk
- type AdditionalDataRiskStandalone
- type AdditionalDataTemporaryServices
- type AdditionalDataWallets
- type Address
- type Amount
- type ApplicationInfo
- type AuthenticationResultRequest
- type AuthenticationResultResponse
- type BankAccount
- type BrowserInfo
- type Card
- type CommonField
- type DeviceRenderOptions
- type DonationRequest
- type ExternalPlatform
- type ForexQuote
- type FraudCheckResult
- type FraudResult
- type Installments
- type MerchantDevice
- type MerchantRiskIndicator
- type ModificationRequest
- type ModificationResult
- type Name
- type PaymentRequest
- type PaymentRequest3d
- type PaymentRequest3ds2
- type PaymentResult
- type Payments
- func (a Payments) AdjustAuthorisation(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) Authorise(req *PaymentRequest, ctxs ..._context.Context) (PaymentResult, *_nethttp.Response, error)
- func (a Payments) Authorise3d(req *PaymentRequest3d, ctxs ..._context.Context) (PaymentResult, *_nethttp.Response, error)
- func (a Payments) Authorise3ds2(req *PaymentRequest3ds2, ctxs ..._context.Context) (PaymentResult, *_nethttp.Response, error)
- func (a Payments) Cancel(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) CancelOrRefund(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) Capture(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) Donate(req *DonationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) GetAuthenticationResult(req *AuthenticationResultRequest, ctxs ..._context.Context) (AuthenticationResultResponse, *_nethttp.Response, error)
- func (a Payments) Refund(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) Retrieve3ds2Result(req *ThreeDS2ResultRequest, ctxs ..._context.Context) (ThreeDS2ResultResponse, *_nethttp.Response, error)
- func (a Payments) TechnicalCancel(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- func (a Payments) VoidPendingRefund(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
- type Recurring
- type ResponseAdditionalData3DSecure
- type ResponseAdditionalDataBillingAddress
- type ResponseAdditionalDataCard
- type ResponseAdditionalDataCommon
- type ResponseAdditionalDataDeliveryAddress
- type ResponseAdditionalDataInstallments
- type ResponseAdditionalDataNetworkTokens
- type ResponseAdditionalDataOpi
- type ResponseAdditionalDataPayPal
- type ResponseAdditionalDataSepa
- type SDKEphemPubKey
- type ShopperInteractionDevice
- type Split
- type SplitAmount
- type ThreeDS1Result
- type ThreeDS2RequestData
- type ThreeDS2Result
- type ThreeDS2ResultRequest
- type ThreeDS2ResultResponse
- type ThreeDSecureData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountInfo ¶
type AccountInfo struct { // Indicator for the length of time since this shopper account was created in the merchant's environment. Allowed values: * notApplicable * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days AccountAgeIndicator string `json:"accountAgeIndicator,omitempty"` // Date when the shopper's account was last changed. AccountChangeDate *time.Time `json:"accountChangeDate,omitempty"` // Indicator for the length of time since the shopper's account was last updated. Allowed values: * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days AccountChangeIndicator string `json:"accountChangeIndicator,omitempty"` // Date when the shopper's account was created. AccountCreationDate *time.Time `json:"accountCreationDate,omitempty"` // Indicates the type of account. For example, for a multi-account card product. Allowed values: * notApplicable * credit * debit AccountType string `json:"accountType,omitempty"` // Number of attempts the shopper tried to add a card to their account in the last day. AddCardAttemptsDay int32 `json:"addCardAttemptsDay,omitempty"` // Date the selected delivery address was first used. DeliveryAddressUsageDate *time.Time `json:"deliveryAddressUsageDate,omitempty"` // Indicator for the length of time since this delivery address was first used. Allowed values: * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days DeliveryAddressUsageIndicator string `json:"deliveryAddressUsageIndicator,omitempty"` // Shopper's home phone number (including the country code). HomePhone string `json:"homePhone,omitempty"` // Shopper's mobile phone number (including the country code). MobilePhone string `json:"mobilePhone,omitempty"` // Date when the shopper last changed their password. PasswordChangeDate *time.Time `json:"passwordChangeDate,omitempty"` // Indicator when the shopper has changed their password. Allowed values: * notApplicable * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days PasswordChangeIndicator string `json:"passwordChangeIndicator,omitempty"` // Number of all transactions (successful and abandoned) from this shopper in the past 24 hours. PastTransactionsDay int32 `json:"pastTransactionsDay,omitempty"` // Number of all transactions (successful and abandoned) from this shopper in the past year. PastTransactionsYear int32 `json:"pastTransactionsYear,omitempty"` // Date this payment method was added to the shopper's account. PaymentAccountAge *time.Time `json:"paymentAccountAge,omitempty"` // Indicator for the length of time since this payment method was added to this shopper's account. Allowed values: * notApplicable * thisTransaction * lessThan30Days * from30To60Days * moreThan60Days PaymentAccountIndicator string `json:"paymentAccountIndicator,omitempty"` // Number of successful purchases in the last six months. PurchasesLast6Months int32 `json:"purchasesLast6Months,omitempty"` // Whether suspicious activity was recorded on this account. SuspiciousActivity bool `json:"suspiciousActivity,omitempty"` // Shopper's work phone number (including the country code). WorkPhone string `json:"workPhone,omitempty"` }
AccountInfo struct for AccountInfo
type AdditionalData3DSecure ¶
type AdditionalData3DSecure struct { // Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2). > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter. Possible values: * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. Allow3DS2 string `json:"allow3DS2,omitempty"` // Indicates if you want to perform 3D Secure authentication on a transaction. > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure. Possible values: * **true** – Perform 3D Secure authentication. * **false** – Don't perform 3D Secure authentication. ExecuteThreeD string `json:"executeThreeD,omitempty"` // In case of Secure+, this field must be set to **CUPSecurePlus**. MpiImplementationType string `json:"mpiImplementationType,omitempty"` // Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: * **lowValue** * **secureCorporate** * **trustedBeneficiary** * **transactionRiskAnalysis** ScaExemption string `json:"scaExemption,omitempty"` // Indicates your preference for the 3D Secure version. > If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure. Possible values: * **1.0.2**: Apply 3D Secure version 1.0.2. * **2.1.0**: Apply 3D Secure version 2.1.0. * **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0. The following rules apply: * If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2. * If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error. ThreeDSVersion string `json:"threeDSVersion,omitempty"` }
AdditionalData3DSecure struct for AdditionalData3DSecure
type AdditionalDataAirline ¶
type AdditionalDataAirline struct { // Reference number for the invoice, issued by the agency. * minLength: 1 * maxLength: 6 AirlineAgencyInvoiceNumber string `json:"airline.agency_invoice_number,omitempty"` // 2-letter agency plan identifier; alphabetical. * minLength: 2 * maxLength: 2 AirlineAgencyPlanName string `json:"airline.agency_plan_name,omitempty"` // [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM = 074 * minLength: 3 * maxLength: 3 AirlineAirlineCode string `json:"airline.airline_code,omitempty"` // [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code * Example: KLM = KL * minLength: 2 * maxLength: 2 AirlineAirlineDesignatorCode string `json:"airline.airline_designator_code,omitempty"` // Chargeable amount for boarding the plane. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). * minLength: 1 * maxLength: 18 AirlineBoardingFee string `json:"airline.boarding_fee,omitempty"` // The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. * Format: alphanumeric. * minLength: 4 * maxLength: 4 AirlineComputerizedReservationSystem string `json:"airline.computerized_reservation_system,omitempty"` // Reference number; alphanumeric. * minLength: 0 * maxLength: 20 AirlineCustomerReferenceNumber string `json:"airline.customer_reference_number,omitempty"` // Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. * Format: 2-digit code * Example: Passenger ticket = 01 * minLength: 2 * maxLength: 2 AirlineDocumentType string `json:"airline.document_type,omitempty"` // Flight departure date. Local time `(HH:mm)` is optional. * Date format: `yyyy-MM-dd` * Date and time format: `yyyy-MM-dd HH:mm` * minLength: 10 * maxLength: 16 AirlineFlightDate string `json:"airline.flight_date,omitempty"` // [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. This field is required/mandatory if the airline data includes leg details. * Format: IATA 2-letter airline code * Example: KLM = KL * minLength: 2 * maxLength: 2 AirlineLegCarrierCode string `json:"airline.leg.carrier_code,omitempty"` // 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: * F: first class * J: business class * Y: economy class * W: premium economy Limitations: * minLength: 1 * maxLength: 1 AirlineLegClassOfTravel string `json:"airline.leg.class_of_travel,omitempty"` // Date and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant. * Format: `yyyy-MM-dd HH:mm` * minLength: 16 * maxLength: 16 AirlineLegDateOfTravel string `json:"airline.leg.date_of_travel,omitempty"` // Alphabetical identifier of the departure airport. This field is required if the airline data includes leg details. * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. * Example: Amsterdam = AMS * minLength: 3 * maxLength: 3 AirlineLegDepartAirport string `json:"airline.leg.depart_airport,omitempty"` // [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). * minLength: 1 * maxLength: 12 AirlineLegDepartTax string `json:"airline.leg.depart_tax,omitempty"` // Alphabetical identifier of the destination/arrival airport. This field is required/mandatory if the airline data includes leg details. * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. * Example: Amsterdam = AMS * minLength: 3 * maxLength: 3 AirlineLegDestinationCode string `json:"airline.leg.destination_code,omitempty"` // [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. * minLength: 1 * maxLength: 7 AirlineLegFareBaseCode string `json:"airline.leg.fare_base_code,omitempty"` // The flight identifier. * minLength: 1 * maxLength: 5 AirlineLegFlightNumber string `json:"airline.leg.flight_number,omitempty"` // 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: * O: Stopover allowed * X: Stopover not allowed Limitations: * minLength: 1 * maxLength: 1 AirlineLegStopOverCode string `json:"airline.leg.stop_over_code,omitempty"` // Date of birth of the passenger. Date format: `yyyy-MM-dd` * minLength: 10 * maxLength: 10 AirlinePassengerDateOfBirth string `json:"airline.passenger.date_of_birth,omitempty"` // Passenger first name/given name. > This field is required/mandatory if the airline data includes passenger details or leg details. AirlinePassengerFirstName string `json:"airline.passenger.first_name,omitempty"` // Passenger last name/family name. > This field is required/mandatory if the airline data includes passenger details or leg details. AirlinePassengerLastName string `json:"airline.passenger.last_name,omitempty"` // Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. * minLength: 3 * maxLength: 30 AirlinePassengerTelephoneNumber string `json:"airline.passenger.telephone_number,omitempty"` // Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. * minLength: 3 * maxLength: 6 AirlinePassengerTravellerType string `json:"airline.passenger.traveller_type,omitempty"` // Passenger name, initials, and a title. * Format: last name + first name or initials + title. * Example: *FLYER / MARY MS*. * minLength: 1 * maxLength: 49 AirlinePassengerName string `json:"airline.passenger_name"` // Address of the place/agency that issued the ticket. * minLength: 0 * maxLength: 16 AirlineTicketIssueAddress string `json:"airline.ticket_issue_address,omitempty"` // The ticket's unique identifier. * minLength: 1 * maxLength: 150 AirlineTicketNumber string `json:"airline.ticket_number,omitempty"` // IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. * minLength: 1 * maxLength: 8 AirlineTravelAgencyCode string `json:"airline.travel_agency_code,omitempty"` // The name of the travel agency. * minLength: 1 * maxLength: 25 AirlineTravelAgencyName string `json:"airline.travel_agency_name,omitempty"` }
AdditionalDataAirline struct for AdditionalDataAirline
type AdditionalDataCarRental ¶
type AdditionalDataCarRental struct { // Pick-up date. * Date format: `yyyyMMdd` CarRentalCheckOutDate string `json:"carRental.checkOutDate,omitempty"` // The customer service phone number of the car rental company. * Format: Alphanumeric * maxLength: 17 CarRentalCustomerServiceTollFreeNumber string `json:"carRental.customerServiceTollFreeNumber,omitempty"` // Number of days for which the car is being rented. * Format: Numeric * maxLength: 19 CarRentalDaysRented string `json:"carRental.daysRented,omitempty"` // Any fuel charges associated with the rental. * Format: Numeric * maxLength: 12 CarRentalFuelCharges string `json:"carRental.fuelCharges,omitempty"` // Any insurance charges associated with the rental. * Format: Numeric * maxLength: 12 CarRentalInsuranceCharges string `json:"carRental.insuranceCharges,omitempty"` // The city from which the car is rented. * Format: Alphanumeric * maxLength: 18 CarRentalLocationCity string `json:"carRental.locationCity,omitempty"` // The country from which the car is rented. * Format: Alphanumeric * maxLength: 2 CarRentalLocationCountry string `json:"carRental.locationCountry,omitempty"` // The state or province from where the car is rented. * Format: Alphanumeric * maxLength: 3 CarRentalLocationStateProvince string `json:"carRental.locationStateProvince,omitempty"` // Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking). * Y - Customer was a no show. * N - Not applicable. CarRentalNoShowIndicator string `json:"carRental.noShowIndicator,omitempty"` // Charge associated with not returning a vehicle to the original rental location. CarRentalOneWayDropOffCharges string `json:"carRental.oneWayDropOffCharges,omitempty"` // Daily rental rate. * Format: Alphanumeric * maxLength: 12 CarRentalRate string `json:"carRental.rate,omitempty"` // Specifies whether the given rate is applied daily or weekly. * D - Daily rate. * W - Weekly rate. CarRentalRateIndicator string `json:"carRental.rateIndicator,omitempty"` // The rental agreement number associated with this car rental. * Format: Alphanumeric * maxLength: 9 CarRentalRentalAgreementNumber string `json:"carRental.rentalAgreementNumber,omitempty"` // Daily rental rate. * Format: Alphanumeric * maxLength: 12 CarRentalRentalClassId string `json:"carRental.rentalClassId,omitempty"` // The name of the person renting the car. * Format: Alphanumeric * maxLength: 26 CarRentalRenterName string `json:"carRental.renterName,omitempty"` // The city where the car must be returned. * Format: Alphanumeric * maxLength: 18 CarRentalReturnCity string `json:"carRental.returnCity,omitempty"` // The country where the car must be returned. * Format: Alphanumeric * maxLength: 2 CarRentalReturnCountry string `json:"carRental.returnCountry,omitempty"` // The last date to return the car by. * Date format: `yyyyMMdd` CarRentalReturnDate string `json:"carRental.returnDate,omitempty"` // Agency code, phone number, or address abbreviation * Format: Alphanumeric * maxLength: 10 CarRentalReturnLocationId string `json:"carRental.returnLocationId,omitempty"` // The state or province where the car must be returned. * Format: Alphanumeric * maxLength: 3 CarRentalReturnStateProvince string `json:"carRental.returnStateProvince,omitempty"` // Indicates whether the goods or services were tax-exempt, or tax was not collected. Values: * Y - Goods or services were tax exempt * N - Tax was not collected CarRentalTaxExemptIndicator string `json:"carRental.taxExemptIndicator,omitempty"` // Number of nights. This should be included in the auth message. * Format: Numeric * maxLength: 2 TravelEntertainmentAuthDataDuration string `json:"travelEntertainmentAuthData.duration,omitempty"` // Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message. * Format: Alphanumeric * maxLength: 1 TravelEntertainmentAuthDataMarket string `json:"travelEntertainmentAuthData.market,omitempty"` }
AdditionalDataCarRental struct for AdditionalDataCarRental
type AdditionalDataCommon ¶
type AdditionalDataCommon struct { // Triggers test scenarios that allow to replicate certain communication errors. Allowed values: * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. RequestedTestErrorResponseCode string `json:"RequestedTestErrorResponseCode,omitempty"` // Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). Allowed values: * **PreAuth** – flags the payment request to be handled as a pre-authorisation. * **FinalAuth** – flags the payment request to be handled as a final authorisation. AuthorisationType string `json:"authorisationType,omitempty"` // Allows you to determine or override the acquirer account that should be used for the transaction. If you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer. To enable this functionality, contact [Support](https://support.adyen.com/hc/en-us/requests/new). CustomRoutingFlag string `json:"customRoutingFlag,omitempty"` // In case of [asynchronous authorisation adjustment](https://docs.adyen.com/checkout/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made. Possible values: * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation. * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed. IndustryUsage string `json:"industryUsage,omitempty"` // Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card. Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID. Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. NetworkTxReference string `json:"networkTxReference,omitempty"` // Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction. OverwriteBrand string `json:"overwriteBrand,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 13 characters. SubMerchantCity string `json:"subMerchantCity,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. * Format: alpha-numeric. * Fixed length: 3 characters. SubMerchantCountry string `json:"subMerchantCountry,omitempty"` // This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. SubMerchantID string `json:"subMerchantID,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. * Format: alpha-numeric. * Maximum length: 22 characters. SubMerchantName string `json:"subMerchantName,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 10 characters. SubMerchantPostalCode string `json:"subMerchantPostalCode,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 3 characters. SubMerchantState string `json:"subMerchantState,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. * Format: alpha-numeric. * Maximum length: 60 characters. SubMerchantStreet string `json:"subMerchantStreet,omitempty"` // This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. * Format: alpha-numeric. * Fixed length: 11 or 14 characters. SubMerchantTaxId string `json:"subMerchantTaxId,omitempty"` }
AdditionalDataCommon struct for AdditionalDataCommon
type AdditionalDataLevel23 ¶
type AdditionalDataLevel23 struct { // Customer code, if supplied by a customer. Encoding: ASCII. Max length: 25 characters. > Required for Level 2 and Level 3 data. EnhancedSchemeDataCustomerReference string `json:"enhancedSchemeData.customerReference,omitempty"` // Destination country code. Encoding: ASCII. Max length: 3 characters. EnhancedSchemeDataDestinationCountryCode string `json:"enhancedSchemeData.destinationCountryCode,omitempty"` // The postal code of a destination address. Encoding: ASCII. Max length: 10 characters. > Required for American Express. EnhancedSchemeDataDestinationPostalCode string `json:"enhancedSchemeData.destinationPostalCode,omitempty"` // Destination state or province code. Encoding: ASCII.Max length: 3 characters. EnhancedSchemeDataDestinationStateProvinceCode string `json:"enhancedSchemeData.destinationStateProvinceCode,omitempty"` // Duty amount, in minor units. For example, 2000 means USD 20.00. Max length: 12 characters. EnhancedSchemeDataDutyAmount string `json:"enhancedSchemeData.dutyAmount,omitempty"` // Shipping amount, in minor units. For example, 2000 means USD 20.00. Max length: 12 characters. EnhancedSchemeDataFreightAmount string `json:"enhancedSchemeData.freightAmount,omitempty"` // Item commodity code. Encoding: ASCII. Max length: 12 characters. EnhancedSchemeDataItemDetailLineItemNrCommodityCode string `json:"enhancedSchemeData.itemDetailLine[itemNr].commodityCode,omitempty"` // Item description. Encoding: ASCII. Max length: 26 characters. EnhancedSchemeDataItemDetailLineItemNrDescription string `json:"enhancedSchemeData.itemDetailLine[itemNr].description,omitempty"` // Discount amount, in minor units. For example, 2000 means USD 20.00. Max length: 12 characters. EnhancedSchemeDataItemDetailLineItemNrDiscountAmount string `json:"enhancedSchemeData.itemDetailLine[itemNr].discountAmount,omitempty"` // Product code. Encoding: ASCII. Max length: 12 characters. EnhancedSchemeDataItemDetailLineItemNrProductCode string `json:"enhancedSchemeData.itemDetailLine[itemNr].productCode,omitempty"` // Quantity, specified as an integer value. Value must be greater than 0. Max length: 12 characters. EnhancedSchemeDataItemDetailLineItemNrQuantity string `json:"enhancedSchemeData.itemDetailLine[itemNr].quantity,omitempty"` // Total amount, in minor units. For example, 2000 means USD 20.00. Max length: 12 characters. EnhancedSchemeDataItemDetailLineItemNrTotalAmount string `json:"enhancedSchemeData.itemDetailLine[itemNr].totalAmount,omitempty"` // Item unit of measurement. Encoding: ASCII. Max length: 3 characters. EnhancedSchemeDataItemDetailLineItemNrUnitOfMeasure string `json:"enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure,omitempty"` // Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). Max length: 12 characters. EnhancedSchemeDataItemDetailLineItemNrUnitPrice string `json:"enhancedSchemeData.itemDetailLine[itemNr].unitPrice,omitempty"` // Order date. * Format: `ddMMyy` Encoding: ASCII. Max length: 6 characters. EnhancedSchemeDataOrderDate string `json:"enhancedSchemeData.orderDate,omitempty"` // The postal code of a \"ship-from\" address. Encoding: ASCII. Max length: 10 characters. EnhancedSchemeDataShipFromPostalCode string `json:"enhancedSchemeData.shipFromPostalCode,omitempty"` // Total tax amount, in minor units. For example, 2000 means USD 20.00. Max length: 12 characters. > Required for Level 2 and Level 3 data. EnhancedSchemeDataTotalTaxAmount string `json:"enhancedSchemeData.totalTaxAmount,omitempty"` }
AdditionalDataLevel23 struct for AdditionalDataLevel23
type AdditionalDataLodging ¶
type AdditionalDataLodging struct { // The arrival date. * Date format: `yyyyMMdd` LodgingCheckInDate string `json:"lodging.checkInDate,omitempty"` // The departure date. * Date format: `yyyyMMdd` LodgingCheckOutDate string `json:"lodging.checkOutDate,omitempty"` // The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 LodgingCustomerServiceTollFreeNumber string `json:"lodging.customerServiceTollFreeNumber,omitempty"` // Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 LodgingFireSafetyActIndicator string `json:"lodging.fireSafetyActIndicator,omitempty"` // The folio cash advances. * Format: Numeric * maxLength: 12 LodgingFolioCashAdvances string `json:"lodging.folioCashAdvances,omitempty"` // Card acceptor’s internal invoice or billing ID reference number. * Format: Alphanumeric * maxLength: 25 LodgingFolioNumber string `json:"lodging.folioNumber,omitempty"` // Any charges for food and beverages associated with the booking. * Format: Numeric * maxLength: 12 LodgingFoodBeverageCharges string `json:"lodging.foodBeverageCharges,omitempty"` // Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking). Value should be Y or N. * Format: Numeric * maxLength: 1 LodgingNoShowIndicator string `json:"lodging.noShowIndicator,omitempty"` // Prepaid expenses for the booking. * Format: Numeric * maxLength: 12 LodgingPrepaidExpenses string `json:"lodging.prepaidExpenses,omitempty"` // Identifies specific lodging property location by its local phone number. * Format: Alphanumeric * maxLength: 17 LodgingPropertyPhoneNumber string `json:"lodging.propertyPhoneNumber,omitempty"` // Total number of nights the room will be rented. * Format: Numeric * maxLength: 4 LodgingRoom1NumberOfNights string `json:"lodging.room1.numberOfNights,omitempty"` // The rate of the room. * Format: Numeric * maxLength: 12 LodgingRoom1Rate string `json:"lodging.room1.rate,omitempty"` // The total amount of tax to be paid. * Format: Numeric * maxLength: 12 LodgingRoom1Tax string `json:"lodging.room1.tax,omitempty"` // Total room tax amount. * Format: Numeric * maxLength: 12 LodgingTotalRoomTax string `json:"lodging.totalRoomTax,omitempty"` // Total tax amount. * Format: Numeric * maxLength: 12 LodgingTotalTax string `json:"lodging.totalTax,omitempty"` // Number of nights. This should be included in the auth message. * Format: Numeric * maxLength: 2 TravelEntertainmentAuthDataDuration string `json:"travelEntertainmentAuthData.duration,omitempty"` // Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message. * Format: Alphanumeric * maxLength: 1 TravelEntertainmentAuthDataMarket string `json:"travelEntertainmentAuthData.market,omitempty"` }
AdditionalDataLodging struct for AdditionalDataLodging
type AdditionalDataModifications ¶
type AdditionalDataModifications struct { // This is the installment option selected by the shopper. It is required only if specified by the user. InstallmentPaymentDataSelectedInstallmentOption string `json:"installmentPaymentData.selectedInstallmentOption,omitempty"` }
AdditionalDataModifications struct for AdditionalDataModifications
type AdditionalDataOpenInvoice ¶
type AdditionalDataOpenInvoice struct { // Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end. Since the field is optional, if it's not included it does not impact computing the merchant signature. Applies only to Klarna. You can contact Klarna for the format and structure of the string. OpeninvoicedataMerchantData string `json:"openinvoicedata.merchantData,omitempty"` // The number of invoice lines included in `openinvoicedata`. There needs to be at least one line, so `numberOfLines` needs to be at least 1. OpeninvoicedataNumberOfLines string `json:"openinvoicedata.numberOfLines,omitempty"` // The three-character ISO currency code. OpeninvoicedataLineItemNrCurrencyCode string `json:"openinvoicedataLine[itemNr].currencyCode,omitempty"` // A text description of the product the invoice line refers to. OpeninvoicedataLineItemNrDescription string `json:"openinvoicedataLine[itemNr].description,omitempty"` // The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. OpeninvoicedataLineItemNrItemAmount string `json:"openinvoicedataLine[itemNr].itemAmount,omitempty"` // A unique id for this item. Required for RatePay if the description of each item is not unique. OpeninvoicedataLineItemNrItemId string `json:"openinvoicedataLine[itemNr].itemId,omitempty"` // The VAT due for one item in the invoice line, represented in minor units. OpeninvoicedataLineItemNrItemVatAmount string `json:"openinvoicedataLine[itemNr].itemVatAmount,omitempty"` // The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. OpeninvoicedataLineItemNrItemVatPercentage string `json:"openinvoicedataLine[itemNr].itemVatPercentage,omitempty"` // The number of units purchased of a specific product. OpeninvoicedataLineItemNrNumberOfItems string `json:"openinvoicedataLine[itemNr].numberOfItems,omitempty"` // Required for AfterPay. The country-specific VAT category a product falls under. Allowed values: * High * Low * None. OpeninvoicedataLineItemNrVatCategory string `json:"openinvoicedataLine[itemNr].vatCategory,omitempty"` }
AdditionalDataOpenInvoice struct for AdditionalDataOpenInvoice
type AdditionalDataOpi ¶
type AdditionalDataOpi struct { // Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response. You can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce). OpiIncludeTransToken string `json:"opi.includeTransToken,omitempty"` }
AdditionalDataOpi struct for AdditionalDataOpi
type AdditionalDataRatepay ¶
type AdditionalDataRatepay struct { // Amount the customer has to pay each month. RatepayInstallmentAmount string `json:"ratepay.installmentAmount,omitempty"` // Interest rate of this installment. RatepayInterestRate string `json:"ratepay.interestRate,omitempty"` // Amount of the last installment. RatepayLastInstallmentAmount string `json:"ratepay.lastInstallmentAmount,omitempty"` // Calendar day of the first payment. RatepayPaymentFirstday string `json:"ratepay.paymentFirstday,omitempty"` // Date the merchant delivered the goods to the customer. RatepaydataDeliveryDate string `json:"ratepaydata.deliveryDate,omitempty"` // Date by which the customer must settle the payment. RatepaydataDueDate string `json:"ratepaydata.dueDate,omitempty"` // Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date. RatepaydataInvoiceDate string `json:"ratepaydata.invoiceDate,omitempty"` // Identification name or number for the invoice, defined by the merchant. RatepaydataInvoiceId string `json:"ratepaydata.invoiceId,omitempty"` }
AdditionalDataRatepay struct for AdditionalDataRatepay
type AdditionalDataRetry ¶
type AdditionalDataRetry struct { // The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. RetryChainAttemptNumber string `json:"retry.chainAttemptNumber,omitempty"` // The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. RetryOrderAttemptNumber string `json:"retry.orderAttemptNumber,omitempty"` // The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. RetrySkipRetry string `json:"retry.skipRetry,omitempty"` }
AdditionalDataRetry struct for AdditionalDataRetry
type AdditionalDataRisk ¶
type AdditionalDataRisk struct { // The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields). RiskdataCustomFieldName string `json:"riskdata.[customFieldName],omitempty"` // The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes). RiskdataBasketItemItemNrAmountPerItem string `json:"riskdata.basket.item[itemNr].amountPerItem,omitempty"` // Brand of the item. RiskdataBasketItemItemNrBrand string `json:"riskdata.basket.item[itemNr].brand,omitempty"` // Category of the item. RiskdataBasketItemItemNrCategory string `json:"riskdata.basket.item[itemNr].category,omitempty"` // Color of the item. RiskdataBasketItemItemNrColor string `json:"riskdata.basket.item[itemNr].color,omitempty"` // The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217). RiskdataBasketItemItemNrCurrency string `json:"riskdata.basket.item[itemNr].currency,omitempty"` // ID of the item. RiskdataBasketItemItemNrItemID string `json:"riskdata.basket.item[itemNr].itemID,omitempty"` // Manufacturer of the item. RiskdataBasketItemItemNrManufacturer string `json:"riskdata.basket.item[itemNr].manufacturer,omitempty"` // A text description of the product the invoice line refers to. RiskdataBasketItemItemNrProductTitle string `json:"riskdata.basket.item[itemNr].productTitle,omitempty"` // Quantity of the item purchased. RiskdataBasketItemItemNrQuantity string `json:"riskdata.basket.item[itemNr].quantity,omitempty"` // Email associated with the given product in the basket (usually in electronic gift cards). RiskdataBasketItemItemNrReceiverEmail string `json:"riskdata.basket.item[itemNr].receiverEmail,omitempty"` // Size of the item. RiskdataBasketItemItemNrSize string `json:"riskdata.basket.item[itemNr].size,omitempty"` // [Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit). RiskdataBasketItemItemNrSku string `json:"riskdata.basket.item[itemNr].sku,omitempty"` // [Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code). RiskdataBasketItemItemNrUpc string `json:"riskdata.basket.item[itemNr].upc,omitempty"` // Code of the promotion. RiskdataPromotionsPromotionItemNrPromotionCode string `json:"riskdata.promotions.promotion[itemNr].promotionCode,omitempty"` // The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes). RiskdataPromotionsPromotionItemNrPromotionDiscountAmount string `json:"riskdata.promotions.promotion[itemNr].promotionDiscountAmount,omitempty"` // The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217). RiskdataPromotionsPromotionItemNrPromotionDiscountCurrency string `json:"riskdata.promotions.promotion[itemNr].promotionDiscountCurrency,omitempty"` // Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign. e.g. for a promotion discount of 30%, the value of the field should be 30. RiskdataPromotionsPromotionItemNrPromotionDiscountPercentage string `json:"riskdata.promotions.promotion[itemNr].promotionDiscountPercentage,omitempty"` // Name of the promotion. RiskdataPromotionsPromotionItemNrPromotionName string `json:"riskdata.promotions.promotion[itemNr].promotionName,omitempty"` }
AdditionalDataRisk struct for AdditionalDataRisk
type AdditionalDataRiskStandalone ¶
type AdditionalDataRiskStandalone struct { // Shopper's country of residence in the form of ISO standard 3166 2-character country codes. PayPalCountryCode string `json:"PayPal.CountryCode,omitempty"` // Shopper's email. PayPalEmailId string `json:"PayPal.EmailId,omitempty"` // Shopper's first name. PayPalFirstName string `json:"PayPal.FirstName,omitempty"` // Shopper's last name. PayPalLastName string `json:"PayPal.LastName,omitempty"` // Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters. PayPalPayerId string `json:"PayPal.PayerId,omitempty"` // Shopper's phone number. PayPalPhone string `json:"PayPal.Phone,omitempty"` // Allowed values: * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. * **Ineligible** — Merchant is not protected under the Seller Protection Policy. PayPalProtectionEligibility string `json:"PayPal.ProtectionEligibility,omitempty"` // Unique transaction ID of the payment. PayPalTransactionId string `json:"PayPal.TransactionId,omitempty"` // Raw AVS result received from the acquirer, where available. Example: D AvsResultRaw string `json:"avsResultRaw,omitempty"` // The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request). Bin string `json:"bin,omitempty"` // Raw CVC result received from the acquirer, where available. Example: 1 CvcResultRaw string `json:"cvcResultRaw,omitempty"` // Unique identifier or token for the shopper's card details. RiskToken string `json:"riskToken,omitempty"` // A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true ThreeDAuthenticated string `json:"threeDAuthenticated,omitempty"` // A Boolean value indicating whether 3DS was offered for this payment. Example: true ThreeDOffered string `json:"threeDOffered,omitempty"` // Required for PayPal payments only. The only supported value is: **paypal**. TokenDataType string `json:"tokenDataType,omitempty"` }
AdditionalDataRiskStandalone struct for AdditionalDataRiskStandalone
type AdditionalDataTemporaryServices ¶
type AdditionalDataTemporaryServices struct { // Customer code, if supplied by a customer. * Encoding: ASCII * maxLength: 25 EnhancedSchemeDataCustomerReference string `json:"enhancedSchemeData.customerReference,omitempty"` // Name or ID associated with the individual working in a temporary capacity. * maxLength: 40 EnhancedSchemeDataEmployeeName string `json:"enhancedSchemeData.employeeName,omitempty"` // Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 EnhancedSchemeDataJobDescription string `json:"enhancedSchemeData.jobDescription,omitempty"` // Amount paid per regular hours worked, minor units. * maxLength: 7 EnhancedSchemeDataRegularHoursRate string `json:"enhancedSchemeData.regularHoursRate,omitempty"` // Amount of time worked during a normal operation for the task or job. * maxLength: 7 EnhancedSchemeDataRegularHoursWorked string `json:"enhancedSchemeData.regularHoursWorked,omitempty"` // Name of the individual requesting temporary services. * maxLength: 40 EnhancedSchemeDataRequestName string `json:"enhancedSchemeData.requestName,omitempty"` // Date for the beginning of the pay period. * Format: ddMMyy * maxLength: 6 EnhancedSchemeDataTempStartDate string `json:"enhancedSchemeData.tempStartDate,omitempty"` // Date of the end of the billing cycle. * Format: ddMMyy * maxLength: 6 EnhancedSchemeDataTempWeekEnding string `json:"enhancedSchemeData.tempWeekEnding,omitempty"` // Total tax amount, in minor units. For example, 2000 means USD 20.00 * maxLength: 12 EnhancedSchemeDataTotalTaxAmount string `json:"enhancedSchemeData.totalTaxAmount,omitempty"` }
AdditionalDataTemporaryServices struct for AdditionalDataTemporaryServices
type AdditionalDataWallets ¶
type AdditionalDataWallets struct { // The Android Pay token retrieved from the SDK. AndroidpayToken string `json:"androidpay.token,omitempty"` // The Mastercard Masterpass Transaction ID retrieved from the SDK. MasterpassTransactionId string `json:"masterpass.transactionId,omitempty"` // The Apple Pay token retrieved from the SDK. PaymentToken string `json:"payment.token,omitempty"` // The Google Pay token retrieved from the SDK. PaywithgoogleToken string `json:"paywithgoogle.token,omitempty"` // The Samsung Pay token retrieved from the SDK. SamsungpayToken string `json:"samsungpay.token,omitempty"` // The Visa Checkout Call ID retrieved from the SDK. VisacheckoutCallId string `json:"visacheckout.callId,omitempty"` }
AdditionalDataWallets struct for AdditionalDataWallets
type Address ¶
type Address struct { // The name of the city. City string `json:"city"` // The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**. > If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`. Country string `json:"country"` // The number or name of the house. HouseNumberOrName string `json:"houseNumberOrName"` // A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries. PostalCode string `json:"postalCode"` // State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada. > Required for the US and Canada. StateOrProvince string `json:"stateOrProvince,omitempty"` // The name of the street. > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`. Street string `json:"street"` }
Address struct for Address
type Amount ¶
type Amount struct { // The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). Currency string `json:"currency"` // The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes). Value int64 `json:"value"` }
Amount struct for Amount
type ApplicationInfo ¶
type ApplicationInfo struct { AdyenLibrary *CommonField `json:"adyenLibrary,omitempty"` AdyenPaymentSource *CommonField `json:"adyenPaymentSource,omitempty"` ExternalPlatform *ExternalPlatform `json:"externalPlatform,omitempty"` MerchantApplication *CommonField `json:"merchantApplication,omitempty"` MerchantDevice *MerchantDevice `json:"merchantDevice,omitempty"` ShopperInteractionDevice *ShopperInteractionDevice `json:"shopperInteractionDevice,omitempty"` }
ApplicationInfo struct for ApplicationInfo
type AuthenticationResultRequest ¶
type AuthenticationResultRequest struct { // The merchant account identifier, with which the authentication was processed. MerchantAccount string `json:"merchantAccount"` // The pspReference identifier for the transaction. PspReference string `json:"pspReference"` }
AuthenticationResultRequest struct for AuthenticationResultRequest
type AuthenticationResultResponse ¶
type AuthenticationResultResponse struct { ThreeDS1Result *ThreeDS1Result `json:"threeDS1Result,omitempty"` ThreeDS2Result *ThreeDS2Result `json:"threeDS2Result,omitempty"` }
AuthenticationResultResponse struct for AuthenticationResultResponse
type BankAccount ¶
type BankAccount struct { // The bank account number (without separators). BankAccountNumber string `json:"bankAccountNumber,omitempty"` // The bank city. BankCity string `json:"bankCity,omitempty"` // The location id of the bank. The field value is `nil` in most cases. BankLocationId string `json:"bankLocationId,omitempty"` // The name of the bank. BankName string `json:"bankName,omitempty"` // The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases. Bic string `json:"bic,omitempty"` // Country code where the bank is located. A valid value is an ISO two-character country code (e.g. 'NL'). CountryCode string `json:"countryCode,omitempty"` // The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN). Iban string `json:"iban,omitempty"` // The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed. > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. OwnerName string `json:"ownerName,omitempty"` // The bank account holder's tax ID. TaxId string `json:"taxId,omitempty"` }
BankAccount struct for BankAccount
type BrowserInfo ¶
type BrowserInfo struct { // The accept header value of the shopper's browser. AcceptHeader string `json:"acceptHeader"` // The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth. ColorDepth int32 `json:"colorDepth"` // Boolean value indicating if the shopper's browser is able to execute Java. JavaEnabled bool `json:"javaEnabled"` // Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. JavaScriptEnabled bool `json:"javaScriptEnabled,omitempty"` // The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47). Language string `json:"language"` // The total height of the shopper's device screen in pixels. ScreenHeight int32 `json:"screenHeight"` // The total width of the shopper's device screen in pixels. ScreenWidth int32 `json:"screenWidth"` // Time difference between UTC time and the shopper's browser local time, in minutes. TimeZoneOffset int32 `json:"timeZoneOffset"` // The user agent value of the shopper's browser. UserAgent string `json:"userAgent"` }
BrowserInfo struct for BrowserInfo
type Card ¶
type Card struct { // The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as: * CVV2/CVC2 – length: 3 digits * CID – length: 4 digits > If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server. > This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments). > When this value is returned in a response, it is always empty because it is not stored. Cvc string `json:"cvc,omitempty"` // The card expiry month. Format: 2 digits, zero-padded for single digits. For example: * 03 = March * 11 = November ExpiryMonth string `json:"expiryMonth"` // The card expiry year. Format: 4 digits. For example: 2020 ExpiryYear string `json:"expiryYear"` // The name of the cardholder, as printed on the card. HolderName string `json:"holderName"` // The issue number of the card (for some UK debit cards only). IssueNumber string `json:"issueNumber,omitempty"` // The card number (4-19 characters). Do not use any separators. When this value is returned in a response, only the last 4 digits of the card number are returned. Number string `json:"number"` // The month component of the start date (for some UK debit cards only). StartMonth string `json:"startMonth,omitempty"` // The year component of the start date (for some UK debit cards only). StartYear string `json:"startYear,omitempty"` }
Card struct for Card
type CommonField ¶
type CommonField struct { // Name of the field. For example, Name of External Platform. Name string `json:"name,omitempty"` // Version of the field. For example, Version of External Platform. Version string `json:"version,omitempty"` }
CommonField struct for CommonField
type DeviceRenderOptions ¶
type DeviceRenderOptions struct { // Supported SDK interface types. Allowed values: * native * html * both SdkInterface string `json:"sdkInterface,omitempty"` // UI types supported for displaying specific challenges. Allowed values: * text * singleSelect * outOfBand * otherHtml * multiSelect SdkUiType []string `json:"sdkUiType,omitempty"` }
DeviceRenderOptions struct for DeviceRenderOptions
type DonationRequest ¶
type DonationRequest struct { // The Adyen account name of the charity. DonationAccount string `json:"donationAccount"` // The merchant account that is used to process the payment. MerchantAccount string `json:"merchantAccount"` ModificationAmount *Amount `json:"modificationAmount,omitempty"` // The original pspReference of the payment to modify. This reference is returned in: * authorisation response * authorisation notification OriginalReference string `json:"originalReference"` // Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports. Maximum length: 80 characters. Reference string `json:"reference,omitempty"` }
DonationRequest struct for DonationRequest
type ExternalPlatform ¶
type ExternalPlatform struct { // External platform integrator. Integrator string `json:"integrator,omitempty"` // Name of the field. For example, Name of External Platform. Name string `json:"name,omitempty"` // Version of the field. For example, Version of External Platform. Version string `json:"version,omitempty"` }
ExternalPlatform struct for ExternalPlatform
type ForexQuote ¶
type ForexQuote struct { // The account name. Account string `json:"account,omitempty"` // The account type. AccountType string `json:"accountType,omitempty"` BaseAmount *Amount `json:"baseAmount,omitempty"` // The base points. BasePoints int32 `json:"basePoints"` Buy *Amount `json:"buy,omitempty"` Interbank *Amount `json:"interbank,omitempty"` // The reference assigned to the forex quote request. Reference string `json:"reference,omitempty"` Sell *Amount `json:"sell,omitempty"` // The signature to validate the integrity. Signature string `json:"signature,omitempty"` // The source of the forex quote. Source string `json:"source,omitempty"` // The type of forex. Type string `json:"type,omitempty"` // The date until which the forex quote is valid. ValidTill time.Time `json:"validTill"` }
ForexQuote struct for ForexQuote
type FraudCheckResult ¶
type FraudCheckResult struct { // The fraud score generated by the risk check. AccountScore int32 `json:"accountScore"` // The ID of the risk check. CheckId int32 `json:"checkId"` // The name of the risk check. Name string `json:"name"` }
FraudCheckResult struct for FraudCheckResult
type FraudResult ¶
type FraudResult struct { // The total fraud score generated by the risk checks. AccountScore int32 `json:"accountScore"` // The result of the individual risk checks. Results *[]FraudCheckResult `json:"results,omitempty"` }
FraudResult struct for FraudResult
type Installments ¶
type Installments struct { // Defines the type of installment plan. If not set, defaults to **regular**. Possible values: * **regular** * **revolving** Plan string `json:"plan,omitempty"` // Defines the number of installments. Its value needs to be greater than zero. Usually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary. Value int32 `json:"value"` }
Installments struct for Installments
type MerchantDevice ¶
type MerchantDevice struct { // Operating system running on the merchant device. Os string `json:"os,omitempty"` // Version of the operating system on the merchant device. OsVersion string `json:"osVersion,omitempty"` // Merchant device reference. Reference string `json:"reference,omitempty"` }
MerchantDevice struct for MerchantDevice
type MerchantRiskIndicator ¶
type MerchantRiskIndicator struct { // Whether the chosen delivery address is identical to the billing address. AddressMatch bool `json:"addressMatch,omitempty"` // Indicator regarding the delivery address. Allowed values: * `shipToBillingAddress` * `shipToVerifiedAddress` * `shipToNewAddress` * `shipToStore` * `digitalGoods` * `goodsNotShipped` * `other` DeliveryAddressIndicator string `json:"deliveryAddressIndicator,omitempty"` // The delivery email address (for digital goods). DeliveryEmail string `json:"deliveryEmail,omitempty"` // The estimated delivery time for the shopper to receive the goods. Allowed values: * `electronicDelivery` * `sameDayShipping` * `overnightShipping` * `twoOrMoreDaysShipping` DeliveryTimeframe string `json:"deliveryTimeframe,omitempty"` GiftCardAmount *Amount `json:"giftCardAmount,omitempty"` // For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased. GiftCardCount int32 `json:"giftCardCount,omitempty"` // For pre-order purchases, the expected date this product will be available to the shopper. PreOrderDate *time.Time `json:"preOrderDate,omitempty"` // Indicator for whether this transaction is for pre-ordering a product. PreOrderPurchase bool `json:"preOrderPurchase,omitempty"` // Indicator for whether the shopper has already purchased the same items in the past. ReorderItems bool `json:"reorderItems,omitempty"` }
MerchantRiskIndicator struct for MerchantRiskIndicator
type ModificationRequest ¶
type ModificationRequest struct { // This field contains additional data, which may be required for a particular modification request. The additionalData object consists of entries, each of which includes the key and value. AdditionalData interface{} `json:"additionalData,omitempty"` // The merchant account that is used to process the payment. MerchantAccount string `json:"merchantAccount"` ModificationAmount *Amount `json:"modificationAmount,omitempty"` MpiData *ThreeDSecureData `json:"mpiData,omitempty"` // The original merchant reference to cancel. OriginalMerchantReference string `json:"originalMerchantReference,omitempty"` // The original pspReference of the payment to modify. This reference is returned in: * authorisation response * authorisation notification OriginalReference string `json:"originalReference"` // Optionally, you can specify your reference for the payment modification. This reference is visible in Customer Area and in reports. Maximum length: 80 characters. Reference string `json:"reference,omitempty"` // Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information). Splits *[]Split `json:"splits,omitempty"` // The transaction reference provided by the PED. For point-of-sale integrations only. TenderReference string `json:"tenderReference,omitempty"` // Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only. UniqueTerminalId string `json:"uniqueTerminalId,omitempty"` }
ModificationRequest struct for ModificationRequest
type ModificationResult ¶
type ModificationResult struct { // This field contains additional data, which may be returned in a particular modification response. AdditionalData *map[string]interface{} `json:"additionalData,omitempty"` // Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. PspReference string `json:"pspReference,omitempty"` // Indicates if the modification request has been received for processing. Response string `json:"response,omitempty"` }
ModificationResult struct for ModificationResult
type Name ¶
type Name struct { // The first name. FirstName string `json:"firstName"` // The gender. >The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`. Gender string `json:"gender"` // The name's infix, if applicable. >A maximum length of twenty (20) characters is imposed. Infix string `json:"infix,omitempty"` // The last name. LastName string `json:"lastName"` }
Name struct for Name
type PaymentRequest ¶
type PaymentRequest struct { AccountInfo *AccountInfo `json:"accountInfo,omitempty"` AdditionalAmount *Amount `json:"additionalAmount,omitempty"` // This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value. AdditionalData *map[string]interface{} `json:"additionalData,omitempty"` Amount Amount `json:"amount"` ApplicationInfo *ApplicationInfo `json:"applicationInfo,omitempty"` BankAccount *BankAccount `json:"bankAccount,omitempty"` BillingAddress *Address `json:"billingAddress,omitempty"` BrowserInfo *BrowserInfo `json:"browserInfo,omitempty"` // The delay between the authorisation and scheduled auto-capture, specified in hours. CaptureDelayHours int32 `json:"captureDelayHours,omitempty"` Card *Card `json:"card,omitempty"` // The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD DateOfBirth *time.Time `json:"dateOfBirth,omitempty"` DccQuote *ForexQuote `json:"dccQuote,omitempty"` DeliveryAddress *Address `json:"deliveryAddress,omitempty"` // The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00 DeliveryDate *time.Time `json:"deliveryDate,omitempty"` // A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting). DeviceFingerprint string `json:"deviceFingerprint,omitempty"` // Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings. EnableRealTimeUpdate bool `json:"enableRealTimeUpdate,omitempty"` // The type of the entity the payment is processed for. EntityType string `json:"entityType,omitempty"` // An integer value that is added to the normal fraud score. The value can be either positive or negative. FraudOffset int32 `json:"fraudOffset,omitempty"` // The funding source that should be used when multiple sources are available. For Brazilian combo cards, by default the funding source is credit. To use debit, set this value to **debit**. FundingSource string `json:"fundingSource,omitempty"` Installments *Installments `json:"installments,omitempty"` // The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant. Mcc string `json:"mcc,omitempty"` // The merchant account identifier, with which you want to process the transaction. MerchantAccount string `json:"merchantAccount"` // This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. MerchantOrderReference string `json:"merchantOrderReference,omitempty"` MerchantRiskIndicator *MerchantRiskIndicator `json:"merchantRiskIndicator,omitempty"` // Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". Metadata map[string]string `json:"metadata,omitempty"` MpiData *ThreeDSecureData `json:"mpiData,omitempty"` // The two-character country code of the shopper's nationality. Nationality string `json:"nationality,omitempty"` // When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead. OrderReference string `json:"orderReference,omitempty"` Recurring *Recurring `json:"recurring,omitempty"` // Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. RecurringProcessingModel string `json:"recurringProcessingModel,omitempty"` // The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters. Reference string `json:"reference"` // Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card. SelectedBrand string `json:"selectedBrand,omitempty"` // The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. SelectedRecurringDetailReference string `json:"selectedRecurringDetailReference,omitempty"` // A session ID used to identify a payment session. SessionId string `json:"sessionId,omitempty"` // The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. ShopperEmail string `json:"shopperEmail,omitempty"` // The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). ShopperIP string `json:"shopperIP,omitempty"` // Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. ShopperInteraction string `json:"shopperInteraction,omitempty"` // The combination of a language code and a country code to specify the language to be used in the payment. ShopperLocale string `json:"shopperLocale,omitempty"` ShopperName *Name `json:"shopperName,omitempty"` // Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters. > This field is required for recurring payments. ShopperReference string `json:"shopperReference,omitempty"` // The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. ShopperStatement string `json:"shopperStatement,omitempty"` // The shopper's social security number. SocialSecurityNumber string `json:"socialSecurityNumber,omitempty"` // Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information). Splits *[]Split `json:"splits,omitempty"` // The physical store, for which this payment is processed. Store string `json:"store,omitempty"` // The shopper's telephone number. TelephoneNumber string `json:"telephoneNumber,omitempty"` ThreeDS2RequestData *ThreeDS2RequestData `json:"threeDS2RequestData,omitempty"` // If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. ThreeDSAuthenticationOnly bool `json:"threeDSAuthenticationOnly,omitempty"` // The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available). TotalsGroup string `json:"totalsGroup,omitempty"` // Set to true if the payment should be routed to a trusted MID. TrustedShopper bool `json:"trustedShopper,omitempty"` }
PaymentRequest struct for PaymentRequest
type PaymentRequest3d ¶
type PaymentRequest3d struct { AccountInfo *AccountInfo `json:"accountInfo,omitempty"` AdditionalAmount *Amount `json:"additionalAmount,omitempty"` // This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value. AdditionalData *map[string]interface{} `json:"additionalData,omitempty"` Amount *Amount `json:"amount,omitempty"` ApplicationInfo *ApplicationInfo `json:"applicationInfo,omitempty"` BillingAddress *Address `json:"billingAddress,omitempty"` BrowserInfo *BrowserInfo `json:"browserInfo,omitempty"` // The delay between the authorisation and scheduled auto-capture, specified in hours. CaptureDelayHours int32 `json:"captureDelayHours,omitempty"` // The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD DateOfBirth *time.Time `json:"dateOfBirth,omitempty"` DccQuote *ForexQuote `json:"dccQuote,omitempty"` DeliveryAddress *Address `json:"deliveryAddress,omitempty"` // The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00 DeliveryDate *time.Time `json:"deliveryDate,omitempty"` // A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting). DeviceFingerprint string `json:"deviceFingerprint,omitempty"` // Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings. EnableRealTimeUpdate bool `json:"enableRealTimeUpdate,omitempty"` // An integer value that is added to the normal fraud score. The value can be either positive or negative. FraudOffset int32 `json:"fraudOffset,omitempty"` Installments *Installments `json:"installments,omitempty"` // The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant. Mcc string `json:"mcc,omitempty"` // The payment session identifier returned by the card issuer. Md string `json:"md"` // The merchant account identifier, with which you want to process the transaction. MerchantAccount string `json:"merchantAccount"` // This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. MerchantOrderReference string `json:"merchantOrderReference,omitempty"` MerchantRiskIndicator *MerchantRiskIndicator `json:"merchantRiskIndicator,omitempty"` // Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". Metadata map[string]string `json:"metadata,omitempty"` // When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead. OrderReference string `json:"orderReference,omitempty"` // Payment authorisation response returned by the card issuer. The `paResponse` field holds the PaRes value received from the card issuer. PaResponse string `json:"paResponse"` Recurring *Recurring `json:"recurring,omitempty"` // Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. RecurringProcessingModel string `json:"recurringProcessingModel,omitempty"` // The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters. Reference string `json:"reference,omitempty"` // Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card. SelectedBrand string `json:"selectedBrand,omitempty"` // The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. SelectedRecurringDetailReference string `json:"selectedRecurringDetailReference,omitempty"` // A session ID used to identify a payment session. SessionId string `json:"sessionId,omitempty"` // The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. ShopperEmail string `json:"shopperEmail,omitempty"` // The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). ShopperIP string `json:"shopperIP,omitempty"` // Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. ShopperInteraction string `json:"shopperInteraction,omitempty"` // The combination of a language code and a country code to specify the language to be used in the payment. ShopperLocale string `json:"shopperLocale,omitempty"` ShopperName *Name `json:"shopperName,omitempty"` // Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters. > This field is required for recurring payments. ShopperReference string `json:"shopperReference,omitempty"` // The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. ShopperStatement string `json:"shopperStatement,omitempty"` // The shopper's social security number. SocialSecurityNumber string `json:"socialSecurityNumber,omitempty"` // Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information). Splits *[]Split `json:"splits,omitempty"` // The physical store, for which this payment is processed. Store string `json:"store,omitempty"` // The shopper's telephone number. TelephoneNumber string `json:"telephoneNumber,omitempty"` ThreeDS2RequestData *ThreeDS2RequestData `json:"threeDS2RequestData,omitempty"` // If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. ThreeDSAuthenticationOnly bool `json:"threeDSAuthenticationOnly,omitempty"` // The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available). TotalsGroup string `json:"totalsGroup,omitempty"` // Set to true if the payment should be routed to a trusted MID. TrustedShopper bool `json:"trustedShopper,omitempty"` }
PaymentRequest3d struct for PaymentRequest3d
type PaymentRequest3ds2 ¶
type PaymentRequest3ds2 struct { AccountInfo *AccountInfo `json:"accountInfo,omitempty"` AdditionalAmount *Amount `json:"additionalAmount,omitempty"` // This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value. AdditionalData *map[string]interface{} `json:"additionalData,omitempty"` Amount Amount `json:"amount"` ApplicationInfo *ApplicationInfo `json:"applicationInfo,omitempty"` BillingAddress *Address `json:"billingAddress,omitempty"` BrowserInfo *BrowserInfo `json:"browserInfo,omitempty"` // The delay between the authorisation and scheduled auto-capture, specified in hours. CaptureDelayHours int32 `json:"captureDelayHours,omitempty"` // The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD DateOfBirth *time.Time `json:"dateOfBirth,omitempty"` DccQuote *ForexQuote `json:"dccQuote,omitempty"` DeliveryAddress *Address `json:"deliveryAddress,omitempty"` // The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00 DeliveryDate *time.Time `json:"deliveryDate,omitempty"` // A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting). DeviceFingerprint string `json:"deviceFingerprint,omitempty"` // Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings. EnableRealTimeUpdate bool `json:"enableRealTimeUpdate,omitempty"` // An integer value that is added to the normal fraud score. The value can be either positive or negative. FraudOffset int32 `json:"fraudOffset,omitempty"` Installments *Installments `json:"installments,omitempty"` // The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant. Mcc string `json:"mcc,omitempty"` // The merchant account identifier, with which you want to process the transaction. MerchantAccount string `json:"merchantAccount"` // This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. MerchantOrderReference string `json:"merchantOrderReference,omitempty"` MerchantRiskIndicator *MerchantRiskIndicator `json:"merchantRiskIndicator,omitempty"` // Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". Metadata map[string]string `json:"metadata,omitempty"` // When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead. OrderReference string `json:"orderReference,omitempty"` Recurring *Recurring `json:"recurring,omitempty"` // Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. RecurringProcessingModel string `json:"recurringProcessingModel,omitempty"` // The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters. Reference string `json:"reference"` // Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card. SelectedBrand string `json:"selectedBrand,omitempty"` // The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. SelectedRecurringDetailReference string `json:"selectedRecurringDetailReference,omitempty"` // A session ID used to identify a payment session. SessionId string `json:"sessionId,omitempty"` // The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. ShopperEmail string `json:"shopperEmail,omitempty"` // The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). ShopperIP string `json:"shopperIP,omitempty"` // Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. ShopperInteraction string `json:"shopperInteraction,omitempty"` // The combination of a language code and a country code to specify the language to be used in the payment. ShopperLocale string `json:"shopperLocale,omitempty"` ShopperName *Name `json:"shopperName,omitempty"` // Your reference to uniquely identify this shopper (for example, user ID or account ID). Minimum length: 3 characters. > This field is required for recurring payments. ShopperReference string `json:"shopperReference,omitempty"` // The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. ShopperStatement string `json:"shopperStatement,omitempty"` // The shopper's social security number. SocialSecurityNumber string `json:"socialSecurityNumber,omitempty"` // Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/platforms/processing-payments#providing-split-information). Splits *[]Split `json:"splits,omitempty"` // The physical store, for which this payment is processed. Store string `json:"store,omitempty"` // The shopper's telephone number. TelephoneNumber string `json:"telephoneNumber,omitempty"` ThreeDS2RequestData *ThreeDS2RequestData `json:"threeDS2RequestData,omitempty"` ThreeDS2Result *ThreeDS2Result `json:"threeDS2Result,omitempty"` // The ThreeDS2Token that was returned in the /authorise call. ThreeDS2Token string `json:"threeDS2Token,omitempty"` // If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. ThreeDSAuthenticationOnly bool `json:"threeDSAuthenticationOnly,omitempty"` // The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available). TotalsGroup string `json:"totalsGroup,omitempty"` // Set to true if the payment should be routed to a trusted MID. TrustedShopper bool `json:"trustedShopper,omitempty"` }
PaymentRequest3ds2 struct for PaymentRequest3ds2
type PaymentResult ¶
type PaymentResult struct { // This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**. AdditionalData *map[string]interface{} `json:"additionalData,omitempty"` // Authorisation code: * When the payment is authorised successfully, this field holds the authorisation code for the payment. * When the payment is not authorised, this field is empty. AuthCode string `json:"authCode,omitempty"` DccAmount *Amount `json:"dccAmount,omitempty"` // Cryptographic signature used to verify `dccQuote`. > This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). DccSignature string `json:"dccSignature,omitempty"` FraudResult *FraudResult `json:"fraudResult,omitempty"` // The URL to direct the shopper to. > In case of SecurePlus, do not redirect a shopper to this URL. IssuerUrl string `json:"issuerUrl,omitempty"` // The payment session. Md string `json:"md,omitempty"` // The 3D request data for the issuer. If the value is **CUPSecurePlus-CollectSMSVerificationCode**, collect an SMS code from the shopper and pass it in the `/authorise3D` request. For more information, see [3D Secure](https://docs.adyen.com/classic-integration/3d-secure). PaRequest string `json:"paRequest,omitempty"` // Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. > `pspReference` is returned only for non-redirect payment methods. PspReference string `json:"pspReference,omitempty"` // If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). RefusalReason string `json:"refusalReason,omitempty"` // The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. ResultCode common.ResultCode `json:"resultCode,omitempty"` }
PaymentResult struct for PaymentResult
type Payments ¶
Payments Payments service
func (Payments) AdjustAuthorisation ¶
func (a Payments) AdjustAuthorisation(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostAdjustAuthorisation Increases or decreases the authorised amount. Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables tipping, improving the chances your authorisation will be valid, charging the shopper when they have already left the merchant premises, etc. For more information, refer to [Adjust Authorisation](https://docs.adyen.com/checkout/adjust-authorisation).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) Authorise ¶
func (a Payments) Authorise(req *PaymentRequest, ctxs ..._context.Context) (PaymentResult, *_nethttp.Response, error)
PostAuthorise Creates a payment authorisation. Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation. For more information, refer to [Classic integration](https://docs.adyen.com/classic-integration).
- @param request PaymentRequest - reference of PaymentRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return PaymentResult
func (Payments) Authorise3d ¶
func (a Payments) Authorise3d(req *PaymentRequest3d, ctxs ..._context.Context) (PaymentResult, *_nethttp.Response, error)
PostAuthorise3d Completes a 3D Secure payment authorisation. For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure. For more information, refer to [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).
- @param request PaymentRequest3d - reference of PaymentRequest3d).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return PaymentResult
func (Payments) Authorise3ds2 ¶
func (a Payments) Authorise3ds2(req *PaymentRequest3ds2, ctxs ..._context.Context) (PaymentResult, *_nethttp.Response, error)
PostAuthorise3ds2 Completes a 3D Secure 2 payment authorisation. For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters. For more information, refer to [3D Secure 2](https://docs.adyen.com/checkout/3d-secure/native-3ds2).
- @param request PaymentRequest3ds2 - reference of PaymentRequest3ds2).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return PaymentResult
func (Payments) Cancel ¶
func (a Payments) Cancel(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostCancel Cancels an authorised payment. Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures. For more information, refer to [Cancel](https://docs.adyen.com/checkout/cancel).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) CancelOrRefund ¶
func (a Payments) CancelOrRefund(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostCancelOrRefund Cancels or refunds a payment. Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture). > Do not use this request for payments that involve (multiple) partial captures. For more information, refer to [Cancel or refund](https://docs.adyen.com/checkout/cancel-or-refund).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) Capture ¶
func (a Payments) Capture(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostCapture Captures an authorised payment. Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance. Payment methods, which automatically capture as part of authorisation, don't need to be captured, but submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary. For more information, refer to [Capture](https://docs.adyen.com/checkout/capture).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) Donate ¶
func (a Payments) Donate(req *DonationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostDonate Creates a payment for the specified donation. Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment. For more information, see [Donate](https://docs.adyen.com/checkout/donate).
- @param request DonationRequest - reference of DonationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) GetAuthenticationResult ¶
func (a Payments) GetAuthenticationResult(req *AuthenticationResultRequest, ctxs ..._context.Context) (AuthenticationResultResponse, *_nethttp.Response, error)
PostGetAuthenticationResult Return the authentication result after doing a 3D Secure authentication only. Return the authentication result after doing a 3D Secure authentication only.
- @param request AuthenticationResultRequest - reference of AuthenticationResultRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return AuthenticationResultResponse
func (Payments) Refund ¶
func (a Payments) Refund(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostRefund Refunds a captured payment. Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead. > Some payment methods/gateways do not support partial/multiple refunds. > A margin above the captured limit can be configured to cover shipping/handling costs. For more information, refer to [Refund](https://docs.adyen.com/checkout/refund).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) Retrieve3ds2Result ¶
func (a Payments) Retrieve3ds2Result(req *ThreeDS2ResultRequest, ctxs ..._context.Context) (ThreeDS2ResultResponse, *_nethttp.Response, error)
PostRetrieve3ds2Result Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only. Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.
- @param request ThreeDS2ResultRequest - reference of ThreeDS2ResultRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ThreeDS2ResultResponse
func (Payments) TechnicalCancel ¶
func (a Payments) TechnicalCancel(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostTechnicalCancel Cancels a payment using your custom reference. This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available. In your call, refer to the original payment by using the `reference` that you specified in your payment request. For more information, see [Technical cancel](https://docs.adyen.com/checkout/cancel#technical-cancel).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
func (Payments) VoidPendingRefund ¶
func (a Payments) VoidPendingRefund(req *ModificationRequest, ctxs ..._context.Context) (ModificationResult, *_nethttp.Response, error)
PostVoidPendingRefund Cancels a POS refund request before it has been completed. This endpoint allows you to cancel the refund request before it has been completed. In your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions. For more information, refer to [Cancel a refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-a-pos-refund-request).
- @param request ModificationRequest - reference of ModificationRequest).
- @param ctxs ..._context.Context - optional, for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
@return ModificationResult
type Recurring ¶
type Recurring struct { // The type of recurring contract to be used. Possible values: * `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid). * `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp). * `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not. * `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts). Contract string `json:"contract,omitempty"` // A descriptive name for this detail. RecurringDetailName string `json:"recurringDetailName,omitempty"` // Date after which no further authorisations shall be performed. Only for 3D Secure 2. RecurringExpiry *time.Time `json:"recurringExpiry,omitempty"` // Minimum number of days between authorisations. Only for 3D Secure 2. RecurringFrequency string `json:"recurringFrequency,omitempty"` // The name of the token service. TokenService string `json:"tokenService,omitempty"` }
Recurring struct for Recurring
type ResponseAdditionalData3DSecure ¶
type ResponseAdditionalData3DSecure struct { // Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment. Possible values: * **lowValue** * **secureCorporate** * **trustedBeneficiary** * **transactionRiskAnalysis** ScaExemptionRequested string `json:"scaExemptionRequested,omitempty"` }
ResponseAdditionalData3DSecure struct for ResponseAdditionalData3DSecure
type ResponseAdditionalDataBillingAddress ¶
type ResponseAdditionalDataBillingAddress struct { // The billing address city passed in the payment request. BillingAddressCity string `json:"billingAddress.city,omitempty"` // The billing address country passed in the payment request. Example: NL BillingAddressCountry string `json:"billingAddress.country,omitempty"` // The billing address house number or name passed in the payment request. BillingAddressHouseNumberOrName string `json:"billingAddress.houseNumberOrName,omitempty"` // The billing address postal code passed in the payment request. Example: 1011 DJ BillingAddressPostalCode string `json:"billingAddress.postalCode,omitempty"` // The billing address state or province passed in the payment request. Example: NH BillingAddressStateOrProvince string `json:"billingAddress.stateOrProvince,omitempty"` // The billing address street passed in the payment request. BillingAddressStreet string `json:"billingAddress.street,omitempty"` }
ResponseAdditionalDataBillingAddress struct for ResponseAdditionalDataBillingAddress
type ResponseAdditionalDataCard ¶
type ResponseAdditionalDataCard struct { // The Bank Identification Number of a credit card, which is the first six digits of a card number. Example: 521234 CardBin string `json:"cardBin,omitempty"` // The cardholder name passed in the payment request. CardHolderName string `json:"cardHolderName,omitempty"` // The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. CardIssuingBank string `json:"cardIssuingBank,omitempty"` // The country where the card was issued. Example: US CardIssuingCountry string `json:"cardIssuingCountry,omitempty"` // The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. Example: USD CardIssuingCurrency string `json:"cardIssuingCurrency,omitempty"` // The card payment method used for the transaction. Example: amex CardPaymentMethod string `json:"cardPaymentMethod,omitempty"` // The last four digits of a card number. > Returned only in case of a card payment. CardSummary string `json:"cardSummary,omitempty"` }
ResponseAdditionalDataCard struct for ResponseAdditionalDataCard
type ResponseAdditionalDataCommon ¶
type ResponseAdditionalDataCommon struct { // The name of the Adyen acquirer account. Example: PayPalSandbox_TestAcquirer > Only relevant for PayPal transactions. AcquirerAccountCode string `json:"acquirerAccountCode,omitempty"` // The name of the acquirer processing the payment request. Example: TestPmmAcquirer AcquirerCode string `json:"acquirerCode,omitempty"` // The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. Example: 7C9N3FNBKT9 AcquirerReference string `json:"acquirerReference,omitempty"` // The Adyen alias of the card. Example: H167852639363479 Alias string `json:"alias,omitempty"` // The type of the card alias. Example: Default AliasType string `json:"aliasType,omitempty"` // Authorisation code: * When the payment is authorised successfully, this field holds the authorisation code for the payment. * When the payment is not authorised, this field is empty. Example: 58747 AuthCode string `json:"authCode,omitempty"` // The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). AuthorisedAmountCurrency string `json:"authorisedAmountCurrency,omitempty"` // Value of the amount authorised. This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). AuthorisedAmountValue string `json:"authorisedAmountValue,omitempty"` // The AVS result code of the payment, which provides information about the outcome of the AVS check. For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). AvsResult string `json:"avsResult,omitempty"` // Raw AVS result received from the acquirer, where available. Example: D AvsResultRaw string `json:"avsResultRaw,omitempty"` // BIC of a bank account. Example: TESTNL01 > Only relevant for SEPA Direct Debit transactions. Bic string `json:"bic,omitempty"` // Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. DsTransID string `json:"dsTransID,omitempty"` // The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. Example: 02 Eci string `json:"eci,omitempty"` // The expiry date on the card. Example: 6/2016 > Returned only in case of a card payment. ExpiryDate string `json:"expiryDate,omitempty"` // The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. Example: EUR ExtraCostsCurrency string `json:"extraCostsCurrency,omitempty"` // The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. ExtraCostsValue string `json:"extraCostsValue,omitempty"` // The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. FraudCheckItemNrFraudCheckname string `json:"fraudCheck-[itemNr]-[FraudCheckname],omitempty"` // Information regarding the funding type of the card. The possible return values are: * CHARGE * CREDIT * DEBIT * PREPAID * PREPAID_RELOADABLE * PREPAID_NONRELOADABLE * DEFFERED_DEBIT > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. FundingSource string `json:"fundingSource,omitempty"` // Indicates availability of funds. Visa: * \"I\" (fast funds are supported) * \"N\" (otherwise) Mastercard: * \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) * \"N\" (otherwise) > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\". FundsAvailability string `json:"fundsAvailability,omitempty"` // Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\". Possible values: * 3D Secure Mandated * Closed Account * ContAuth Not Supported * CVC Mandated * Ecommerce Not Allowed * Crossborder Not Supported * Card Updated * Low Authrate Bin * Non-reloadable prepaid card InferredRefusalReason string `json:"inferredRefusalReason,omitempty"` // The issuing country of the card based on the BIN list that Adyen maintains. Example: JP IssuerCountry string `json:"issuerCountry,omitempty"` // The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. > Contact Support Team to enable this field. McBankNetReferenceNumber string `json:"mcBankNetReferenceNumber,omitempty"` // Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. This contains either the Mastercard Trace ID or the Visa Transaction ID. NetworkTxReference string `json:"networkTxReference,omitempty"` // The owner name of a bank account. Only relevant for SEPA Direct Debit transactions. OwnerName string `json:"ownerName,omitempty"` // The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. PaymentAccountReference string `json:"paymentAccountReference,omitempty"` // The Adyen sub-variant of the payment method used for the payment request. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). Example: mcpro PaymentMethodVariant string `json:"paymentMethodVariant,omitempty"` // Indicates whether a payout is eligible or not for this card. Visa: * \"Y\" * \"N\" Mastercard: * \"Y\" (domestic and cross-border) * \"D\" (only domestic) * \"N\" (no MoneySend) * \"U\" (unknown) PayoutEligible string `json:"payoutEligible,omitempty"` // The response code from the Real Time Account Updater service. Possible return values are: * CardChanged * CardExpiryChanged * CloseAccount * ContactCardAccountHolder RealtimeAccountUpdaterStatus string `json:"realtimeAccountUpdaterStatus,omitempty"` // Message to be displayed on the terminal. ReceiptFreeText string `json:"receiptFreeText,omitempty"` // The `pspReference`, of the first recurring payment that created the recurring detail. This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. RecurringFirstPspReference string `json:"recurring.firstPspReference,omitempty"` // The reference that uniquely identifies the recurring transaction. RecurringRecurringDetailReference string `json:"recurring.recurringDetailReference,omitempty"` // If the payment is referred, this field is set to true. This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. Example: true Referred string `json:"referred,omitempty"` // Raw refusal reason received from the acquirer, where available. Example: AUTHORISED RefusalReasonRaw string `json:"refusalReasonRaw,omitempty"` // The shopper interaction type of the payment request. Example: Ecommerce ShopperInteraction string `json:"shopperInteraction,omitempty"` // The shopperReference passed in the payment request. Example: AdyenTestShopperXX ShopperReference string `json:"shopperReference,omitempty"` // The terminal ID used in a point-of-sale payment. Example: 06022622 TerminalId string `json:"terminalId,omitempty"` // A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true ThreeDAuthenticated string `json:"threeDAuthenticated,omitempty"` // The raw 3DS authentication result from the card issuer. Example: N ThreeDAuthenticatedResponse string `json:"threeDAuthenticatedResponse,omitempty"` // A Boolean value indicating whether 3DS was offered for this payment. Example: true ThreeDOffered string `json:"threeDOffered,omitempty"` // The raw enrollment result from the 3DS directory services of the card schemes. Example: Y ThreeDOfferedResponse string `json:"threeDOfferedResponse,omitempty"` // The 3D Secure 2 version. ThreeDSVersion string `json:"threeDSVersion,omitempty"` // The `visaTransactionId`, has a fixed length of 15 numeric characters. > Contact Support Team to enable this field. VisaTransactionId string `json:"visaTransactionId,omitempty"` // The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. Example: ODgxNDc2MDg2MDExODk5MAAAAAA= Xid string `json:"xid,omitempty"` }
ResponseAdditionalDataCommon struct for ResponseAdditionalDataCommon
type ResponseAdditionalDataDeliveryAddress ¶
type ResponseAdditionalDataDeliveryAddress struct { // The delivery address city passed in the payment request. DeliveryAddressCity string `json:"deliveryAddress.city,omitempty"` // The delivery address country passed in the payment request. Example: NL DeliveryAddressCountry string `json:"deliveryAddress.country,omitempty"` // The delivery address house number or name passed in the payment request. DeliveryAddressHouseNumberOrName string `json:"deliveryAddress.houseNumberOrName,omitempty"` // The delivery address postal code passed in the payment request. Example: 1011 DJ DeliveryAddressPostalCode string `json:"deliveryAddress.postalCode,omitempty"` // The delivery address state or province passed in the payment request. Example: NH DeliveryAddressStateOrProvince string `json:"deliveryAddress.stateOrProvince,omitempty"` // The delivery address street passed in the payment request. DeliveryAddressStreet string `json:"deliveryAddress.street,omitempty"` }
ResponseAdditionalDataDeliveryAddress struct for ResponseAdditionalDataDeliveryAddress
type ResponseAdditionalDataInstallments ¶
type ResponseAdditionalDataInstallments struct { // Type of installment. The value of `installmentType` should be **IssuerFinanced**. InstallmentPaymentDataInstallmentType string `json:"installmentPaymentData.installmentType,omitempty"` // Annual interest rate. InstallmentPaymentDataOptionItemNrAnnualPercentageRate string `json:"installmentPaymentData.option[itemNr].annualPercentageRate,omitempty"` // First Installment Amount in minor units. InstallmentPaymentDataOptionItemNrFirstInstallmentAmount string `json:"installmentPaymentData.option[itemNr].firstInstallmentAmount,omitempty"` // Installment fee amount in minor units. InstallmentPaymentDataOptionItemNrInstallmentFee string `json:"installmentPaymentData.option[itemNr].installmentFee,omitempty"` // Interest rate for the installment period. InstallmentPaymentDataOptionItemNrInterestRate string `json:"installmentPaymentData.option[itemNr].interestRate,omitempty"` // Maximum number of installments possible for this payment. InstallmentPaymentDataOptionItemNrMaximumNumberOfInstallments string `json:"installmentPaymentData.option[itemNr].maximumNumberOfInstallments,omitempty"` // Minimum number of installments possible for this payment. InstallmentPaymentDataOptionItemNrMinimumNumberOfInstallments string `json:"installmentPaymentData.option[itemNr].minimumNumberOfInstallments,omitempty"` // Total number of installments possible for this payment. InstallmentPaymentDataOptionItemNrNumberOfInstallments string `json:"installmentPaymentData.option[itemNr].numberOfInstallments,omitempty"` // Subsequent Installment Amount in minor units. InstallmentPaymentDataOptionItemNrSubsequentInstallmentAmount string `json:"installmentPaymentData.option[itemNr].subsequentInstallmentAmount,omitempty"` // Total amount in minor units. InstallmentPaymentDataOptionItemNrTotalAmountDue string `json:"installmentPaymentData.option[itemNr].totalAmountDue,omitempty"` // Possible values: * PayInInstallmentsOnly * PayInFullOnly * PayInFullOrInstallments InstallmentPaymentDataPaymentOptions string `json:"installmentPaymentData.paymentOptions,omitempty"` // The number of installments that the payment amount should be charged with. Example: 5 > Only relevant for card payments in countries that support installments. InstallmentsValue string `json:"installments.value,omitempty"` }
ResponseAdditionalDataInstallments struct for ResponseAdditionalDataInstallments
type ResponseAdditionalDataNetworkTokens ¶
type ResponseAdditionalDataNetworkTokens struct { // Indicates whether a network token is available for the specified card. NetworkTokenAvailable string `json:"networkToken.available,omitempty"` // The Bank Identification Number of a tokenized card, which is the first six digits of a card number. NetworkTokenBin string `json:"networkToken.bin,omitempty"` // The last four digits of a network token. NetworkTokenTokenSummary string `json:"networkToken.tokenSummary,omitempty"` }
ResponseAdditionalDataNetworkTokens struct for ResponseAdditionalDataNetworkTokens
type ResponseAdditionalDataOpi ¶
type ResponseAdditionalDataOpi struct { // Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce). OpiTransToken string `json:"opi.transToken,omitempty"` }
ResponseAdditionalDataOpi struct for ResponseAdditionalDataOpi
type ResponseAdditionalDataPayPal ¶
type ResponseAdditionalDataPayPal struct { // The buyer's PayPal account email address. Example: paypaltest@adyen.com PaypalEmail string `json:"paypalEmail,omitempty"` // The buyer's PayPal ID. Example: LF5HCWWBRV2KL PaypalPayerId string `json:"paypalPayerId,omitempty"` // The buyer's country of residence. Example: NL PaypalPayerResidenceCountry string `json:"paypalPayerResidenceCountry,omitempty"` // The status of the buyer's PayPal account. Example: unverified PaypalPayerStatus string `json:"paypalPayerStatus,omitempty"` // The eligibility for PayPal Seller Protection for this payment. Example: Ineligible PaypalProtectionEligibility string `json:"paypalProtectionEligibility,omitempty"` }
ResponseAdditionalDataPayPal struct for ResponseAdditionalDataPayPal
type ResponseAdditionalDataSepa ¶
type ResponseAdditionalDataSepa struct { // The transaction signature date. Format: yyyy-MM-dd SepadirectdebitDateOfSignature string `json:"sepadirectdebit.dateOfSignature,omitempty"` // Its value corresponds to the pspReference value of the transaction. SepadirectdebitMandateId string `json:"sepadirectdebit.mandateId,omitempty"` // This field can take one of the following values: * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. * First: (FRST) Initial/first collection in a series of direct debit instructions. * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. * Final: (FNAL) Last/final collection in a series of direct debit instructions. Example: OOFF SepadirectdebitSequenceType string `json:"sepadirectdebit.sequenceType,omitempty"` }
ResponseAdditionalDataSepa struct for ResponseAdditionalDataSepa
type SDKEphemPubKey ¶
type SDKEphemPubKey struct { // The `crv` value as received from the 3D Secure 2 SDK. Crv string `json:"crv,omitempty"` // The `kty` value as received from the 3D Secure 2 SDK. Kty string `json:"kty,omitempty"` // The `x` value as received from the 3D Secure 2 SDK. X string `json:"x,omitempty"` // The `y` value as received from the 3D Secure 2 SDK. Y string `json:"y,omitempty"` }
SDKEphemPubKey struct for SDKEphemPubKey
type ShopperInteractionDevice ¶
type ShopperInteractionDevice struct { // Locale on the shopper interaction device. Locale string `json:"locale,omitempty"` // Operating system running on the shopper interaction device. Os string `json:"os,omitempty"` // Version of the operating system on the shopper interaction device. OsVersion string `json:"osVersion,omitempty"` }
ShopperInteractionDevice struct for ShopperInteractionDevice
type Split ¶
type Split struct { // The account to which this split applies. >Required if the type is `MarketPlace`. Account string `json:"account,omitempty"` Amount SplitAmount `json:"amount"` // A description of this split. Description string `json:"description,omitempty"` // The reference of this split. Used to link other operations (e.g. captures and refunds) to this split. >Required if the type is `MarketPlace`. Reference string `json:"reference,omitempty"` // The type of this split. >Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`. Type string `json:"type"` }
Split struct for Split
type SplitAmount ¶
type SplitAmount struct { // The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). If this value is not provided, the currency in which the payment is made will be used. Currency string `json:"currency,omitempty"` // The payable amount that can be charged for the transaction. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). Value int64 `json:"value"` }
SplitAmount struct for SplitAmount
type ThreeDS1Result ¶
type ThreeDS1Result struct { // The cardholder authentication value (base64 encoded). Cavv string `json:"cavv,omitempty"` // The CAVV algorithm used. CavvAlgorithm string `json:"cavvAlgorithm,omitempty"` // 3D Secure Electronic Commerce Indicator (ECI). Eci string `json:"eci,omitempty"` // The authentication response from the ACS. ThreeDAuthenticatedResponse string `json:"threeDAuthenticatedResponse,omitempty"` // Whether 3D Secure was offered or not. ThreeDOfferedResponse string `json:"threeDOfferedResponse,omitempty"` // A unique transaction identifier generated by the MPI on behalf of the merchant to identify the 3D Secure transaction, in `Base64` encoding. Xid string `json:"xid,omitempty"` }
ThreeDS1Result struct for ThreeDS1Result
type ThreeDS2RequestData ¶
type ThreeDS2RequestData struct { // Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform. AcquirerBIN string `json:"acquirerBIN,omitempty"` // Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform. AcquirerMerchantID string `json:"acquirerMerchantID,omitempty"` // If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. AuthenticationOnly bool `json:"authenticationOnly,omitempty"` // Possibility to specify a preference for receiving a challenge from the issuer. Allowed values: * `noPreference` * `requestNoChallenge` * `requestChallenge` * `requestChallengeAsMandate` ChallengeIndicator string `json:"challengeIndicator,omitempty"` // The environment of the shopper. Allowed values: * `app` * `browser` DeviceChannel string `json:"deviceChannel"` DeviceRenderOptions *DeviceRenderOptions `json:"deviceRenderOptions,omitempty"` // Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme. Mcc string `json:"mcc,omitempty"` // Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. > Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account. MerchantName string `json:"merchantName,omitempty"` // The `messageVersion` value indicating the 3D Secure 2 protocol version. MessageVersion string `json:"messageVersion,omitempty"` // URL to where the issuer should send the `CRes`. Required if you are not using components for `channel` **Web** or if you are using classic integration `deviceChannel` **browser**. NotificationURL string `json:"notificationURL,omitempty"` // The `sdkAppID` value as received from the 3D Secure 2 SDK. Required for `deviceChannel` set to **app**. SdkAppID string `json:"sdkAppID,omitempty"` // The `sdkEncData` value as received from the 3D Secure 2 SDK. Required for `deviceChannel` set to **app**. SdkEncData string `json:"sdkEncData,omitempty"` SdkEphemPubKey *SDKEphemPubKey `json:"sdkEphemPubKey,omitempty"` // The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. SdkMaxTimeout int32 `json:"sdkMaxTimeout,omitempty"` // The `sdkReferenceNumber` value as received from the 3D Secure 2 SDK. Only for `deviceChannel` set to **app**. SdkReferenceNumber string `json:"sdkReferenceNumber,omitempty"` // The `sdkTransID` value as received from the 3D Secure 2 SDK. Only for `deviceChannel` set to **app**. SdkTransID string `json:"sdkTransID,omitempty"` // Completion indicator for the device fingerprinting. ThreeDSCompInd string `json:"threeDSCompInd,omitempty"` // Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2. ThreeDSRequestorID string `json:"threeDSRequestorID,omitempty"` // Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2. ThreeDSRequestorName string `json:"threeDSRequestorName,omitempty"` // URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. ThreeDSRequestorURL string `json:"threeDSRequestorURL,omitempty"` // Identify the type of the transaction being authenticated. TransactionType string `json:"transactionType,omitempty"` // The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0. WhiteListStatus string `json:"whiteListStatus,omitempty"` }
ThreeDS2RequestData struct for ThreeDS2RequestData
type ThreeDS2Result ¶
type ThreeDS2Result struct { // The `authenticationValue` value as defined in the 3D Secure 2 specification. AuthenticationValue string `json:"authenticationValue,omitempty"` // The algorithm used by the ACS to calculate the authentication value, only for CartesBancaires integrations. CavvAlgorithm string `json:"cavvAlgorithm,omitempty"` // The `dsTransID` value as defined in the 3D Secure 2 specification. DsTransID string `json:"dsTransID,omitempty"` // The `eci` value as defined in the 3D Secure 2 specification. Eci string `json:"eci,omitempty"` // The `messageVersion` value as defined in the 3D Secure 2 specification. MessageVersion string `json:"messageVersion,omitempty"` // The `threeDSServerTransID` value as defined in the 3D Secure 2 specification. ThreeDSServerTransID string `json:"threeDSServerTransID,omitempty"` // The `timestamp` value of the 3D Secure 2 authentication. Timestamp string `json:"timestamp,omitempty"` // The `transStatus` value as defined in the 3D Secure 2 specification. TransStatus string `json:"transStatus,omitempty"` // The `transStatusReason` value as defined in the 3D Secure 2 specification. TransStatusReason string `json:"transStatusReason,omitempty"` // The `whiteListStatus` value as defined in the 3D Secure 2 specification. WhiteListStatus string `json:"whiteListStatus,omitempty"` }
ThreeDS2Result struct for ThreeDS2Result
type ThreeDS2ResultRequest ¶
type ThreeDS2ResultRequest struct { // The merchant account identifier, with which you want to process the transaction. MerchantAccount string `json:"merchantAccount"` // The pspReference returned in the /authorise call. PspReference string `json:"pspReference"` }
ThreeDS2ResultRequest struct for ThreeDS2ResultRequest
type ThreeDS2ResultResponse ¶
type ThreeDS2ResultResponse struct {
ThreeDS2Result *ThreeDS2Result `json:"threeDS2Result,omitempty"`
}
ThreeDS2ResultResponse struct for ThreeDS2ResultResponse
type ThreeDSecureData ¶
type ThreeDSecureData struct { // In 3D Secure 1, the authentication response if the shopper was redirected. In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. AuthenticationResponse string `json:"authenticationResponse,omitempty"` // The cardholder authentication value (base64 encoded, 20 bytes in a decoded form). Cavv string `json:"cavv,omitempty"` // The CAVV algorithm used. Include this only for 3D Secure 1. CavvAlgorithm string `json:"cavvAlgorithm,omitempty"` // In 3D Secure 1, this is the enrollment response from the 3D directory server. In 3D Secure 2, this is the `transStatus` from the `ARes`. DirectoryResponse string `json:"directoryResponse,omitempty"` // Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction. DsTransID string `json:"dsTransID,omitempty"` // The electronic commerce indicator. Eci string `json:"eci,omitempty"` // The version of the 3D Secure protocol. ThreeDSVersion string `json:"threeDSVersion,omitempty"` // Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form). Xid string `json:"xid,omitempty"` }
ThreeDSecureData struct for ThreeDSecureData
Source Files ¶
- api_default.go
- model_account_info.go
- model_additional_data3_d_secure.go
- model_additional_data_airline.go
- model_additional_data_car_rental.go
- model_additional_data_common.go
- model_additional_data_level23.go
- model_additional_data_lodging.go
- model_additional_data_modifications.go
- model_additional_data_open_invoice.go
- model_additional_data_opi.go
- model_additional_data_ratepay.go
- model_additional_data_retry.go
- model_additional_data_risk.go
- model_additional_data_risk_standalone.go
- model_additional_data_temporary_services.go
- model_additional_data_wallets.go
- model_address.go
- model_amount.go
- model_application_info.go
- model_authentication_result_request.go
- model_authentication_result_response.go
- model_bank_account.go
- model_browser_info.go
- model_card.go
- model_common_field.go
- model_device_render_options.go
- model_donation_request.go
- model_external_platform.go
- model_forex_quote.go
- model_fraud_check_result.go
- model_fraud_result.go
- model_installments.go
- model_merchant_device.go
- model_merchant_risk_indicator.go
- model_modification_request.go
- model_modification_result.go
- model_name.go
- model_payment_request.go
- model_payment_request3d.go
- model_payment_request3ds2.go
- model_payment_result.go
- model_recurring.go
- model_response_additional_data3_d_secure.go
- model_response_additional_data_billing_address.go
- model_response_additional_data_card.go
- model_response_additional_data_common.go
- model_response_additional_data_delivery_address.go
- model_response_additional_data_installments.go
- model_response_additional_data_network_tokens.go
- model_response_additional_data_opi.go
- model_response_additional_data_pay_pal.go
- model_response_additional_data_sepa.go
- model_sdk_ephem_pub_key.go
- model_shopper_interaction_device.go
- model_split.go
- model_split_amount.go
- model_three_d_secure_data.go
- model_three_ds1_result.go
- model_three_ds2_request_data.go
- model_three_ds2_result.go
- model_three_ds2_result_request.go
- model_three_ds2_result_response.go