direct debit or direct withdrawal is a financial transaction in which one person withdraws funds from another person's bank account. Formally, the person who directly draws the funds ("the payee") instructs his or her bank to collect (i.e., debit) an amount directly from another's ("the payer's") bank account designated by the payer and pay those funds into a bank account designated by the payee. Before the payer's banker will allow the transaction to take place, the payer must have advised the bank that he or she has authorized the payee to directly draw the funds.

See more

To use payment secupay debits transaction your contract needs to be activated for this.

You can only cancel a payment transaction, no delete it's not possible.

Using the secuconnect API one can:

  • create a new debit transaction;
  • read the debit transaction data;
  • cancel the debit transaction.

API uses following data structures:

PaymentSecupayDebitsApi

All URIs are relative to https://connect-testing.secupay-ag.de/api/v2/

Method HTTP request Description
paymentSecupayDebitsCancelById POST Payment/Secupaydebits/{hash}/cancel POST Payment/Secupaydebits/{id}/cancel
paymentSecupayDebitsGetById GET Payment/Secupaydebits/{hash} GET Payment/Secupaydebits/{id}
paymentSecupaydebitsPost POST Payment/Secupaydebits POST Payment/Secupaydebits

paymentSecupayDebitsCancelById

Object paymentSecupayDebitsCancelById(hash)

POST Payment/Secupaydebits/{id}/cancel

Function to cancel the transaction

Example

// Import classes:
//import io.secuconnect.client.ApiClient;
//import io.secuconnect.client.ApiException;
//import io.secuconnect.client.Configuration;
//import io.secuconnect.client.auth.*;
//import io.secuconnect.client.api.PaymentSecupayDebitsApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure OAuth2 access token for authorization: oauth_token
OAuth oauth_token = (OAuth) defaultClient.getAuthentication("oauth_token");
oauth_token.setAccessToken("YOUR ACCESS TOKEN");

PaymentSecupayDebitsApi apiInstance = new PaymentSecupayDebitsApi();
String hash = "hash_example"; // String | Transaction hash
try {
    Object result = apiInstance.paymentSecupayDebitsCancelById(hash);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling PaymentSecupayDebitsApi#paymentSecupayDebitsCancelById");
    e.printStackTrace();
}

Parameters

Name Type Description Notes
hash String Transaction hash

Return type

Object

Authorization

oauth_token

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

paymentSecupayDebitsGetById

SecupayTransactionProductModel paymentSecupayDebitsGetById(hash)

GET Payment/Secupaydebits/{id}

Get the details of a payment transaction

Example

// Import classes:
//import io.secuconnect.client.ApiClient;
//import io.secuconnect.client.ApiException;
//import io.secuconnect.client.Configuration;
//import io.secuconnect.client.auth.*;
//import io.secuconnect.client.api.PaymentSecupayDebitsApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure OAuth2 access token for authorization: oauth_token
OAuth oauth_token = (OAuth) defaultClient.getAuthentication("oauth_token");
oauth_token.setAccessToken("YOUR ACCESS TOKEN");

PaymentSecupayDebitsApi apiInstance = new PaymentSecupayDebitsApi();
String hash = "hash_example"; // String | Payment transaction ID
try {
    SecupayTransactionProductModel result = apiInstance.paymentSecupayDebitsGetById(hash);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling PaymentSecupayDebitsApi#paymentSecupayDebitsGetById");
    e.printStackTrace();
}

Parameters

Name Type Description Notes
hash String Payment transaction ID

Return type

SecupayTransactionProductModel

Properties

Name Type Description Notes
object String Product name [optional]
id String ID of instance [optional]
transId Integer Transaction identifier [optional]
status String Transaction status [optional]
amount Integer Total amount of payment in cents (or the smallest cash unit of the relevant currency) [optional]
currency String ISO 4217 code of currency, eg EUR for Euro. [optional]
purpose String The purpose of the payment. This is the later assignment of the payment is for example on the account statement of the buyer. [optional]
orderId String Specifying an order number. Depending on the contract setting, this must be unique for each payment. [optional]
basket List<SecupayBasketItem> A list of items that are being purchased. [optional]
transactionStatus String Transaction status (number) [optional]
accrual Boolean Indicates whether the payment is locked for pay-out (TRUE) or not (FALSE). Standard value here is FALSE. [optional]
paymentAction String Specifies whether a pre-authorization (\"authorization\") or instant payment ( \"sale\") is to be performed. Standard value here is \"sale\". The collection of the pre-authorized payment is made with the \"capture\" command. [optional]
transferPurpose String The purpose the payer needs to use for his transfer [optional]
transferAccount SecupayTransactionProductModelTransferAccount [optional]
customer PaymentCustomersProductModel The customer object [optional]
usedPaymentInstrument SecupayTransactionProductModelUsedPaymentInstrument [optional]
redirectUrl SecupayTransactionProductModelRedirectUrl [optional]
iframeUrl String The url of the payment checkout iframe [optional]
container PaymentContainersProductModel The container object [optional]

Authorization

oauth_token

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

paymentSecupaydebitsPost

SecupayTransactionProductModel paymentSecupaydebitsPost(body)

POST Payment/Secupaydebits

Start a debit payment transaction

Example

// Import classes:
//import io.secuconnect.client.ApiClient;
//import io.secuconnect.client.ApiException;
//import io.secuconnect.client.Configuration;
//import io.secuconnect.client.auth.*;
//import io.secuconnect.client.api.PaymentSecupayDebitsApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure OAuth2 access token for authorization: oauth_token
OAuth oauth_token = (OAuth) defaultClient.getAuthentication("oauth_token");
oauth_token.setAccessToken("YOUR ACCESS TOKEN");

PaymentSecupayDebitsApi apiInstance = new PaymentSecupayDebitsApi();
SecupayTransactionProductDTO body = new SecupayTransactionProductDTO(); // SecupayTransactionProductDTO | Debit payment transaction input properties
try {
    SecupayTransactionProductModel result = apiInstance.paymentSecupaydebitsPost(body);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling PaymentSecupayDebitsApi#paymentSecupaydebitsPost");
    e.printStackTrace();
}

Parameters

Name Type Description Notes
body SecupayTransactionProductDTO Debit payment transaction input properties [optional]

Return type

SecupayTransactionProductModel

Properties

Name Type Description Notes
object String Product name [optional]
id String ID of instance [optional]
transId Integer Transaction identifier [optional]
status String Transaction status [optional]
amount Integer Total amount of payment in cents (or the smallest cash unit of the relevant currency) [optional]
currency String ISO 4217 code of currency, eg EUR for Euro. [optional]
purpose String The purpose of the payment. This is the later assignment of the payment is for example on the account statement of the buyer. [optional]
orderId String Specifying an order number. Depending on the contract setting, this must be unique for each payment. [optional]
basket List<SecupayBasketItem> A list of items that are being purchased. [optional]
transactionStatus String Transaction status (number) [optional]
accrual Boolean Indicates whether the payment is locked for pay-out (TRUE) or not (FALSE). Standard value here is FALSE. [optional]
paymentAction String Specifies whether a pre-authorization (\"authorization\") or instant payment ( \"sale\") is to be performed. Standard value here is \"sale\". The collection of the pre-authorized payment is made with the \"capture\" command. [optional]
transferPurpose String The purpose the payer needs to use for his transfer [optional]
transferAccount SecupayTransactionProductModelTransferAccount [optional]
customer PaymentCustomersProductModel The customer object [optional]
usedPaymentInstrument SecupayTransactionProductModelUsedPaymentInstrument [optional]
redirectUrl SecupayTransactionProductModelRedirectUrl [optional]
iframeUrl String The url of the payment checkout iframe [optional]
container PaymentContainersProductModel The container object [optional]

Authorization

oauth_token

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined