Whats a Prepays Payment ?
Cash in Advance/Prepayment occurs when a buyer sends payment in the agreed currency and through agreed method to a seller before the product is manufactured and/or shipped. Upon receipt of payment this seller then ships the goods and all the necessary shipping and commercial documents directly to the buyer. See more

To use Secupay Prepays Payment your contract needs to be activated for this.

Canceling Secupay prepays transaction:
When the customer won’t have the ordered product anymore you can cancel the payment transaction and the payer will get his money back if he transferred it already.

Using the secuconnect API one can:

  • create a new prepay transaction;
  • ;
  • .

API uses following data structures:

PaymentSecupayPrepaysApi

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

Method HTTP request Description
paymentSecupayPrepaysCancelById POST Payment/Secupayprepays/{hash}/cancel POST Payment/Secupayprepays/{id}/cancel
paymentSecupayPrepaysGetById GET Payment/Secupayprepays/{hash} GET Payment/Secupayprepays/{id}
paymentSecupayprepaysPost POST Payment/Secupayprepays POST Payment/Secupayprepays

paymentSecupayPrepaysCancelById

Object paymentSecupayPrepaysCancelById(hash)

POST Payment/Secupayprepays/{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.PaymentSecupayPrepaysApi;

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");

PaymentSecupayPrepaysApi apiInstance = new PaymentSecupayPrepaysApi();
String hash = "hash_example"; // String | Transaction hash
try {
    Object result = apiInstance.paymentSecupayPrepaysCancelById(hash);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling PaymentSecupayPrepaysApi#paymentSecupayPrepaysCancelById");
    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

paymentSecupayPrepaysGetById

SecupayTransactionProductModel paymentSecupayPrepaysGetById(hash)

GET Payment/Secupayprepays/{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.PaymentSecupayPrepaysApi;

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");

PaymentSecupayPrepaysApi apiInstance = new PaymentSecupayPrepaysApi();
String hash = "hash_example"; // String | Payment transaction ID
try {
    SecupayTransactionProductModel result = apiInstance.paymentSecupayPrepaysGetById(hash);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling PaymentSecupayPrepaysApi#paymentSecupayPrepaysGetById");
    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

paymentSecupayprepaysPost

SecupayTransactionProductModel paymentSecupayprepaysPost(body)

POST Payment/Secupayprepays

Start a prepay 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.PaymentSecupayPrepaysApi;

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");

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

Parameters

Name Type Description Notes
body SecupayTransactionProductDTO Prepay 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