SEPA Direct Debit
Single Euro Payments Area direct debit. Debits funds directly from the customer's EU bank account using their IBAN. Used for EUR payments across eurozone countries.
Node.js
const paymentClient = new PaymentClient(config);
const response = await paymentClient.authorize({
merchantTransactionId: "txn_001",
amount: { minorAmount: 1000, currency: Currency.EUR },
paymentMethod: {
sepa: {
iban: { value: "DE89370400440532013000" },
bankAccountHolderName: { value: "John Doe" },
},
},
captureMethod: CaptureMethod.AUTOMATIC,
address: { billingAddress: {} },
authType: AuthenticationType.NO_THREE_DS,
returnUrl: "https://example.com/return",
});
Python
from payments import (
PaymentClient, PaymentServiceAuthorizeRequest, Money, Currency,
CaptureMethod, AuthenticationType, PaymentAddress, Address,
PaymentMethod, Sepa, SecretString,
)
response = await payment_client.authorize(
PaymentServiceAuthorizeRequest(
merchant_transaction_id="txn_001",
amount=Money(minor_amount=1000, currency=Currency.EUR),
payment_method=PaymentMethod(
sepa=Sepa(
iban=SecretString(value="DE89370400440532013000"),
bank_account_holder_name=SecretString(value="John Doe"),
)
),
capture_method=CaptureMethod.AUTOMATIC,
address=PaymentAddress(billing_address=Address()),
auth_type=AuthenticationType.NO_THREE_DS,
return_url="https://example.com/return",
)
)
Kotlin
val client = PaymentClient(config)
val request = PaymentServiceAuthorizeRequest.newBuilder().apply {
merchantTransactionId = "txn_001"
amountBuilder.apply {
minorAmount = 1000L
currency = Currency.EUR
}
paymentMethodBuilder.sepaBuilder.apply {
ibanBuilder.value = "DE89370400440532013000"
bankAccountHolderNameBuilder.value = "John Doe"
}
captureMethod = CaptureMethod.AUTOMATIC
addressBuilder.billingAddressBuilder.apply {}
authType = AuthenticationType.NO_THREE_DS
returnUrl = "https://example.com/return"
}.build()
val response = client.authorize(request)