aplonHUB, Outgoing SEPA APIs Documentation


Table of contents


In this document, find the APIs that aplonHUB exposes so that core banking (or other upstream systems) need to call in order to work with outgoing ISO20022 or SEPA payments.


Credit Transfers

PUT /credit/transfer

Description:

This API is used to initiate a SEPA credit transfer.

Method: PUT

Endpoint: /credit/transfer


Sample Request Body
{
  "achId": 1,
  "bankId": 1,
  "actionUser": {
    "email": "string",
  },
  "creditorAddrLn1": "string",
  "creditorAddrLn2": "string",
  "creditorBIC": "string",
  "creditorCountryCode": "string",
  "creditorIBAN": "string",
  "creditorName": "string",
  "debtorAddrLn1": "string",
  "debtorAddrLn2": "string",
  "debtorCountryCode": "string",
  "debtorIBAN": "string",
  "debtorName": "string",
  "endToEndId": "string",
  "remInfo": "string",
  "sttlmAmt": 0,
  "sttlmDt": "string",
  "txId": "string"
}


Responses
CodeDescription
200OK


Sample Successful Response
{
    "status": "OK",
    "payload": 150,
    "errorCode": null,
    "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid creditor BIC : A"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid creditor IBAN : GR550140"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid creditor IBAN : GR550140"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid debtor country code : R"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid settlement amount is given : 0"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid creditor name length : Α"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid debtor name length : Α"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid creditor address length : B"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid debtor address length : B"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid settlement date given : 11/02/2020"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid txId : !"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid endToEndId : c8b66b47-2bd9-48fe-be90-9c2096f27ad2. The field should contain 35 chars max."
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "C03 - The number of decimal digits in the amount component is checked against the maximum allowed for the corresponding currency. ( occurrence: 1)"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid remInfo : Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment Test Payment . The field should contain 140 chars max."
  ]
}


PUT /sepa/recall/request (info)

Charges according to SEPA 2021 rulebook


Description:

This API is used to initiate a recall request for an outgoing SEPA transfer

Method: PUT

Endpoint: /sepa/recall/request


Sample Request Body
{
  "actionUser": "string",
  "authUser": "string",
  "reasonCode": "string",
  "sepaTrnHedSn": 150	//outgoing pacs008 ID,
  "additionalInformation" : "string" //Allowed only for reasonCodes "FRAD", CUST", AM09", AC03", max length 105 characters
}
Responses
CodeDescription
200OK
Recall Request Reason Codes
CUSTCancellation requested by the Debtor
DUPLPayment is a duplicate of another payment.
AGNTAgent in the payment workflow is incorrect.
CURRCurrency of the payment is incorrect.
UPAYPayment is not justified.
CUTACancellation requested because an investigation request has been received and no remediation is possible.
FRADFraudulent Originated.
TECHTechnical Problems
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.failed"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "reason.code.max.length.exceeded"
  ]
}
Failure Sample Response
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "invalid.recall.request.reason.code"
  ]
}


PUT /sepa/recall/request/accept

Description:

This API accepts an incoming recall request

Method: PUT

Endpoint: /sepa/recall/request/accept


Sample Request Body
{
  "actionUser": "string",
  "authUser": "string",
  "reasonCode": "string",
  "sepaTrnHedSn": 0,  //incoming camt056 ID
  "charges" : 1.00 // in case the reasonCode is FOCR (Following Cancelation Request) you may want to add charges in the Payment Return message.
}


Return Reason Codes
CodeDescription
AC01
Incorrect Account Number(AC01)
AC04
Closed Account Number(AC04)
AC06
Blocked Account(AC06)
AG01
Transaction Forbidden(AG01)
AG02
Invalid Bank Operation Code(AG02)
AM05
Duplication(AM05)
BE01
Inconsistent With End Customer(BE01)
BE04
Missing Creditor Address(BE04)
BE06
Unknown End Customer(BE06)
DT01
Invalid Date(DT01)
FOCR
Return due to a Recall(FOCR)
MD07
End Customer Deceased(MD07)
MS02
Not Specified Reason Customer Generated(MS02)
MS03
Not Specified Reason Agent Generated(MS03)
RC01
Bank Identifier Incorrect(RC01)
RR01
Regulatory Reason(RR01)
RR02
Regulatory Reason(RR02)
RR03
Regulatory Reason(RR03)
RR04
Regulatory Reason(RR04)


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "invalid.reason.code"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.not.found.or.invalid.status"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.original.transaction.not.found"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.accept.failed"
  ]
}


PUT /sepa/recall/request/reject

Description:

This API rejects an incoming recall request

Method: PUT

Endpoint: /sepa/recall/request/reject


Sample Request Body
{
  "actionUser": "string",
  "authUser": "string",
  "reasonCode": "string",
  "sepaTrnHedSn": 0  //incoming camt056 ID
}


Reject Reason Codes
CodeDescription
LEGL
Legal Reason(LEGL)
CUST
Beneficiary Refusal(CUST)
AC04
Account closed(AC04)
AM04
Insufficient Funds on the account(AM04)
NOAS
No response from Beneficiary(NOAS)
NOOR
Original Credit Transfer never received(NOOR)
ARDT
Transaction has already been returned(ARDT)


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "invalid.reason.code"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.not.found.or.invalid.status"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.original.transaction.not.found"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "recall.request.reject.failed"
  ]
}


PUT /sepa/update/payment/return


Description:

This API returns an incoming SEPA transfer. If userName is not used, then SYSTEM will be added.

Method: PUT

Endpoint: /sepa/update/payment/return


Sample Request Body
{
  "reasonCode": "string",
  "sepaTrnHedSn": 0, //Incoming Pacs.008 internal ID
  "userName": "username"
}


Return Reason Codes
CodeDescription
AC01
Incorrect Account Number(AC01)
AC04
Closed Account Number(AC04)
AC06
Blocked Account(AC06)
AG01
Transaction Forbidden(AG01)
AG02
Invalid Bank Operation Code(AG02)
AM05
Duplication(AM05)
BE01
Inconsistent With End Customer(BE01)
BE04
Missing Creditor Address(BE04)
BE06
Unknown End Customer(BE06)
DT01
Invalid Date(DT01)
FOCR
Return due to a Recall(FOCR)
MD07
End Customer Deceased(MD07)
MS02
Not Specified Reason Customer Generated(MS02)
MS03
Not Specified Reason Agent Generated(MS03)
RC01
Bank Identifier Incorrect(RC01)
RR01
Regulatory Reason(RR01)
RR02
Regulatory Reason(RR02)
RR03
Regulatory Reason(RR03)
RR04
Regulatory Reason(RR04)


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "return.payment.invalid.reason.code"
  ]
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "generate.return.payment.failed"
  ]
}

PUT /sepa/update/payment/reject


Description:

Use this endpoint to reject an incoming payment.

Payments should have an actionUser and an authUser in order to released from aplonHub. In case you call the api without any of them aplonHub will put SYSTEM user on it. 

In the rejectReason property you can put either a string max 35 chars, which will be displayed in the RejectReason Proprietary of the outgoing pacs.002 or one of the codes below which will be displayed in th RejectReason code of pacs.002

In the response, in the payload property you will get the updated records (which should always be 1).

Method: PUT

Endpoint: /sepa/update/payment/reject


Sample Request Body
{
	"sepaTrnHedSn": 534, //Incoming pacs.008 Internal ID
	"rejectReason": "ED05",
	"actionUser" : "user1",
	"authUser" : "user2"
}


Return Reason Codes
CodeDescription
AM01
Zero Amount
AM02
Not Allowed Amount
AM05
Duplication
DT01
Invalid Date
ED05
Settlement Failed


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "reject.transaction.failed"
  ]
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "reject.reason.length.invalid"
  ]
}

PUT /sepa/update/payment/settled


Description:

Use this endpoint to mark an incoming payment as settled.

Payments should have an actionUser and an authUser in order to released from aplonHub. In case you call the api without any of them aplonHub will put SYSTEM user on it.

Method: PUT

Endpoint: /sepa/update/payment/settled


Sample Request Body
{
	"sepaTrnHedSn": 534, //Incoming pacs.008 Internal ID
	"actionUser" : "user1",
	"authUser" : "user2"
}


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "settled.transaction.failed"
  ]
}

PUT /sepa/update/payment/claim/non/receipt

Description:

This API accepts the id of an outgoing pacs.008 and generates a camt.027 message for the given pacs.008.

Method: PUT

Endpoint: /sepa/update/payment/claim/non/receipt


Sample Request Body
{
  "sepaTrnHedSn": 0
}


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "update.transaction.claim.not.receipt.failed"
  ]
}
Failure Sample Response
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Generated camt.027.001.06 has errors {ERRORS}"
  ]
}


PUT /sepa/update/payment/request/to/modify/payment

Description:

This API accepts the id of an outgoing pacs.008 and a date and generates a camt.087 message for the given pacs.008.

Method: PUT

Endpoint: /sepa/update/payment/request/to/modify/payment


Sample Request Body
{
  "newSttlmDt": "26/03/2021",
  "sepaTrnHedSn": 0
}
Responses
CodeDescription
200OK


Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "update.transaction.request.to.modify.payment.failed"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Invalid settlement date given : {NEW_DATE} as it needs to be after {PACS008_STTLDT}"
  ]
}
Failure Sample Response
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Generated camt.087.001.05 has errors {ERRORS}"
  ]
}


PUT /sepa/update/payment/resolution/of/investigation (info)

Charges according to SEPA 2021 rulebook



Description:

This API accepts the id of an incoming camt.027.001.06/camt.087.001.05/pacs.028.001.01 and generates a camt.029.001.08 for the given id.

Method: PUT

Endpoint: /sepa/update/payment/resolution/of/investigation


Sample Request Body
{
  "charges": 1.09, //Optional
  "compensation": 2.23, //Optional
  "dateProcessed": "26/03/2021",
  "sepaTrnHedSn": 0,
  "status": "ACNR",
  "IBAN" : "string" //Valid IBAN required when charges and/or compensation are present, otherwise not allowed
}
Status Codes
CodeDescription
ACNR
Accepted Claim Non Receipt(ACNR)
RJNR
Default. Rejected Claim Non Receipt(RJNR)
ACVA
Accepted Value Date Adjustment(ACVA)
RJVA
Rejected Value date Adjustment(RJVA)
CVAA
Correct Value date Already Applied(CVAA)
MODI
Modified As Per Request(MODI)
Responses
CodeDescription
200OK


Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "update.transaction.resolution.of.investigation.failed"
  ]
}
Failure Sample Response
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Generated camt.029.001.08 has errors {ERRORS}"
  ]
}

PUT /sepa/status/inquiry

Description:

This API accepts the id of an outgoing camt.027.001.06/camt.087.001.05/camt.056 and generates a pacs.028.001.01 for the given id.

Method: PUT

Endpoint: /sepa/status/inquiry


Sample Request Body
{
  "sepaTrnHedSn": 0
}


Responses
CodeDescription
200OK
Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "update.transaction.status.inquiry.failed"
  ]
}
Failure Sample Response
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Generated pacs.028.001.01 has errors {ERRORS}"
  ]
}


Direct Debits

POST /direct/debit

Description:

This API is used to initiate a SEPA Direct Debit (pacs.003).

Method: POST

Endpoint: /direct/debit


Sample Request Body
{
	"dd_schema" : "CORE", //optional
	"sequence_type" : "FRST", //optional
	"mandate_id" : "mandateId", //optional
	"date_of_signature" : "2019/09/24",  //optional
	"transaction_id" : "txId5",
	"end_to_end_id" : "endToendId", //optional
	"category_purpose_cd" : "cd", //optional
	"amount" : 23.00,
	"requested_collection_date" : "2021/05/27", //optional
	"amendment_indicator" : true, //optional
	"original_mandate_id" : "ornlMndId", //if amendment_indicator is true
	"original_creditor_scheme_name" : "orgnlCrNm", //if amendment_indicator is true
	"original_creditor_scheme_id" : "orgnlCrId", //if amendment_indicator is true
	"original_creditor_scheme_prtry" : "orgnlCrPrtry", //if amendment_indicator is true
	"original_debtor_account_iban" : "GR1601101250000000012300611", //if amendment_indicator is true
	"original_debtor_agent_bic" : "TESTBICAXXX", //if amendment_indicator is true
	"electronic_signature" : "signatureeeeee", //optional
	"creditor_scheme_id" : "crId", //optional
	"creditor_scheme_prtry" : "proprietary", //optional
	"creditor_name" : "Creditor Name", //either name, country or address should exist
	"creditor_country" : "PT", //either name, country or address should exist
	"creditor_address_line_1" : "Creditor Address 1", //either name, country or address should exist
	"creditor_address_line_2" : "Creditor Address 2", //either name, country or address should exist
	"creditor_iban" : "PT50006300010100104001066", //optional
	"creditor_agent_bic" : "TESTBICBXXX",
	"debtor_name" : "Debtor Name", //optional, at least one of debtor_* optional elements should exist
	"debtor_country" : "GR", //optional, at least one of debtor_* optional elements should exist
	"debtor_address_line_1" : "Debtor Address 1", //optional, at least one of debtor_* optional elements should exist
	"debtor_address_line_2" : "Debtor Address 2", //optional, at least one of debtor_* optional elements should exist
	"debtor_organization_bic" : "TESTBICAXXX", //optional, at least one of debtor_* optional elements should exist
	"debtor_iban" : "GR1601101250000000012300611",
	"debtor_bic" : "TESTBICA",
	"purpose_code" : "cd", //optional
	"remittance_info_unstructured" : "remInf", //optional
	"remittance_info_structured_cdtrrefinf_cd" : "SCOR", //optional
	"remittance_info_structured_cdtrrefinf_tp_issuer" : "issuer", //optional
	"remittance_info_structured_cdtrrefinf_ref" : "ref", //optional
    "actionUser": "john" //optional, 'SYSTEM' will be used
}


Responses
CodeDescription
200OK


Sample Successful Response
{
    "status": "OK",
    "payload": 150,
    "errorCode": null,
    "errors": null
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "Line: -1 -- cvc-complex-type.2.4.b: The content of element 'PmtId' is not complete. One of '{\"urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02\":TxId}' is expected."
  ]
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "inactive.mandate.status"
  ]
}

PUT /sepa/direct/debit/return


Description:

This API returns an incoming SEPA Direct Debit 

Method: PUT

Endpoint: /sepa/direct/debit/return

Sample Request Body
{
    "sepaTrnHedSn" : 1529,
    "userName": "test@email.com",
    "reasonCode" :"AC01",
    "msgNmId": "pacs.003.001.02"
}


Return Reason Codes
CodeDescription
AC01
Incorrect Account Number(AC01)
AC04
Closed Account Number(AC04)
AC06
Blocked Account(AC06)
AG01
Transaction Forbidden(AG01)
AG02
Invalid Bank Operation Code(AG02)
AC13
Private Consumer Account(AC13)
AM04
Insufficient funds(AM04)
AM05
Duplicate operation(AM05)
BE05
Bad Credit Identifier(BE05)
MD01
Invalid mandate(MD01)
MD06
Authorized Transaction Refund(MD06)
MD07
Deceased debtor(MD07)
MS02
Not Specified Reason Customer Generated(MS02)
MS03
Not Specified Reason Agent Generated(MS03)
RC01
Bank Identifier Incorrect(RC01)
RR01
Regulatory Reason(RR01)
RR02
Regulatory Reason(RR02)
RR03
Regulatory Reason(RR03)
RR04
Regulatory Reason(RR04)
SL01Specific service offered by the Bank of Debtor(SL01)
Responses
CodeDescription
200OK


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "return.payment.invalid.reason.code"
  ]
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "generate.return.payment.failed"
  ]
}


PUT /sepa/direct/debit/reject


Description:

This API reject an incoming SEPA Direct Debit 

Method: PUT

Endpoint: /sepa/direct/debit/return

Sample Request Body
{
    "sepaTrnHedSn" : 1530,
    "userName":  "test@email.com",
    "reasonCode" :"AC01",
    "msgNmId": "pacs.003.001.02"
}


Reject Reason Codes
CodeDescription
AC01
Incorrect Account Number(AC01)
AC04
Closed Account Number(AC04)
AC06
Blocked Account(AC06)
AG01
Transaction Forbidden(AG01)
AG02
Invalid Bank Operation Code(AG02)
AC13
Private Consumer Account(AC13)
AM04
Insufficient funds(AM04)
AM05
Duplicate operation(AM05)
BE05
Bad Credit Identifier(BE05)
MD01
Invalid mandate(MD01)
MD06
Authorized Transaction Refund(MD06)
MD07
Deceased debtor(MD07)
MS02
Not Specified Reason Customer Generated(MS02)
MS03
Not Specified Reason Agent Generated(MS03)
RC01
Bank Identifier Incorrect(RC01)
RR01
Regulatory Reason(RR01)
RR02
Regulatory Reason(RR02)
RR03
Regulatory Reason(RR03)
RR04
Regulatory Reason(RR04)
SL01Specific service offered by the Bank of Debtor(SL01)
CNORCreditor Bank is not registered under this BIC in the CSM(CNOR)
DNORDebtor Bank is not registered under this BIC in the CSM(DNOR)
ED05Settlement of the collection failed(ED05)
FF01File format incomplete or invalid(FF01)
MD02Mandate related information data required by the scheme is missing(MD02)


Responses
CodeDescription
200OK


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "reject.payment.invalid.reason.code"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "generate.reject.payment.failed"
  ]
}

PUT /direct/debit/reverse

Description:

This API reverses an outgoing SEPA Direct Debit 

Method: PUT

Endpoint: /direct/debit/reverse

Sample Request Body
{
    "sepaTrnHedSn" : 1530,
    "actionUser":  "John",
    "reasonCode" :"AC01"
}


Reject Reason Codes
CodeDescription
AC01
Incorrect account number (IBAN)
AC04
Account closed
AC06
Blocked account
AC13
Private Consumer Account
AG01
Direct Debit not allowed for this type of account
AG02
Operation code, transaction code or incorrect string type
AM04
Insufficient funds
AM05
Duplicate operation
BE05
Bad Credit Identifier
MD01
Invalid mandate
MD06
Authorized Transaction Refund
MD07
Deceased debtor
MS02
Refusal by Debtor
MS03
Reason not specified
RC01
Incorrect Bank Identification (BIC) invalid)
RR01
Regulatory reasons - account missing Debtor or identification
RR02
Regulatory reasons - name or name missing debtor's address
RR03
Regulatory reasons - name or name missing creditor's address
RR04
Regulatory reasons
SL01
Specific service offered by the Bank of Debtor


Responses
CodeDescription
200OK


Sample Successful Response
{
  "status": "OK",
  "payload": 1,
  "errorCode": null,
  "errors": null
}
Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "reverse.direct.debit.invalid.reason.code"
  ]
}


Failure Sample Responce
{
  "status": "FAILURE",
  "payload": null,
  "errorCode": null,
  "errors": [
    "reverse.direct.debit.failed"
  ]
}

PUT /mandate/update/status

Description:

This API is used to update the status of a mandate.

Method: PUT

Endpoint: /mandate/update/status


Sample Request Body
{
  	"id": 234,
  	"status": "PAUSED" //see table below
}
Statuses
ACTIVE
CANCELLED
PAUSED
Responses
CodeDescription
200OK


Sample Successful Response
{
    "status": "OK",
    "payload": 1,
    "errorCode": null,
    "errors": null
}