Skip to main content

Stripe

This page provides an overview of the payments methods provided by the Stripe adapter in the IXOPAY platform. It also includes a full list of all configuration options available to you when integrating Stripe within your payments landscape, as well as an overview of the parameters required when submitting a transaction via IXOPAY's API.

Payment Methods

Payment MethodTransaction FlowsTransaction Types
Creditcardpayment.js IntegrationAll
GiropayFull-page RedirectDebit
iDealFull-page RedirectDebit
SofortFull-page RedirectDebit
BancontactFull-page RedirectDebit
DirectDebitServer-to-ServerRegister, Debit, Refund
Pre-Authorized debit (ACSS)Full-page Redirect & Server-to-ServerRegister, Debit, Refund
ACHFull-page Redirect & Server-to-ServerRegister, Debit, Refund
ACH Credit TransferServer-to-Server and push-in transactionsRegister, Debit (pushed via Stripe's Webhook), Refund
note

NOTE: the payment.js integration differs from the general implementation.

Stripe does not support to render card number and CVC/CVV fields in different DIV elements, but uses a standard widget to collect card data. Hence, only the numberDivId will be considered, and the cvvDivId is ignored.

Additional Parameters

ACSS/Pre-Authorized debit ("PAD")

Prior to being able to charge the customer, the merchant must verify that the account is owned by the customer and obtain a mandate. This may be either achieved with a successful Register transaction or aDebit transaction with the withRegister flag set.

Additionally, the merchant is required to pass on the following data when trying to acquire the initial mandate.

Transaction fieldsRequiredDescription
customer.emailtrue
customer.firstNametrue
customer.lastNametrue
extraData.acss_transaction_typetrueThe type of the mandate. Valid values are personal (B2C) and business (B2B)
extraData.acss_payment_scheduletrueThe Payment schedule for the mandate. Valid values are spoardic, interval or combined
extraData.acss_interval_descriptiontrue, if extraData.acss_payment_schedule is interval or combinedA description, based on which criteria the interval-related payments may be triggered (refer to Stripe's documentation).

For subsequent transactions, these data are not required anymore.

ACH

Prior to being able to charge the customer, the merchant must verify that the account is owned by the customer and obtain a mandate. This may be either achieved with a successful Register transaction or aDebit transaction with the withRegister flag set.

Additionally, the merchant is required to pass on the following data when trying to acquire the initial mandate.

Transaction fieldsRequiredDescription
customer.emailtrue
customer.firstNametrue
customer.lastNametrue

For subsequent transactions, these data are not required anymore.

ACH Credit Transfer

In order to provision and retrieve a VBAN from Stripe, send a Register transaction. The bank data are included in the response object.

Transaction fieldsRequiredDescription
customer.emailtruefor register transactions

Creditcard

ParameterRequiredDescription
extradata.isFinalCapturefalseBoolean parameter that can be sent with the `Capture' API request to indicate if it should be a final capture

Postback Extra Data for Credit Card

ParameterValue
authentication_flowFor authenticated transactions: how the customer was authenticated by the issuing bank. For possible values see Stripe API reference
electronic_commerce_indicatorA protocol-level field indicating what degree of authentication was performed. For possible values see Stripe API reference
exemption_indicatorThe exemption requested via 3DS and accepted by the issuer at authentication time. For possible values see Stripe API reference
exemption_indicator_appliedWhether Stripe requested the value of exemption_indicator in the transaction. For possible values see Stripe API reference
resultIndicates the outcome of 3D Secure authentication. For possible values see Stripe API reference
result_reasonAdditional information about why 3D Secure succeeded or failed based on the result. For possible values see Stripe API reference
transaction_idThe 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID (dsTransId) for this payment. For possible values see Stripe API reference
versionThe version of 3D Secure that was used. For possible values see Stripe API reference

Extended Authorization

ParameterRequiredDescription
extraData.requestExtendedAuthorizationoptionalOverwrites the connector configuration. Possible values: if_available, never

Refer to https://docs.stripe.com/payments/extended-authorization

Postback/Response Extra Data for Extended Authorization

refer to https://docs.stripe.com/terminal/features/extended-authorizations

Extra Data ParameterValue
charges.data.payment_method_details.card.extended_authorization.statusExtended authorization status
charges.data.payment_method_details.card.capture_beforeValidity window for an authorisation - UNIX timestamp
Example
"extraData": {
"charges.data.payment_method_details.card.extended_authorization.status": "enabled",
"charges.data.payment_method_details.card.capture_before": 1732878746
},