⏪Callback "Pay request"
Upon receiving the data from the GET /creditor's_data request, the DCM platform sends a "Pay request" callback to the initiating bank (in addition to the response regarding order creation). The structure of the callback depends on whether recipient information is available or not:
Recipient information is available
The callback payload includes a Success status
{
"order_guid": "123e4567-e89b-12d3-a456-426614174000",
"creditor": {
"name": "John Doe Enterprises", (encrypted data)
"tax_number": "54321", (encrypted data)
"account": "DE89370400440532013000",
"encryption": {
"nonce": "random_nonce_value",
"encrypted_key": "encrypted_key_value",
"public_key": {
"kty": "RSA", // Key type
"kid": "example-key-id", // Key identifier
"alg": "RS256", // Algorithm
"n": "modulus_value_here", // Modulus
"e": "exponent_value_here" // Exponent
}
},
"agent": {
"bic": "DEUTDEDBXYZ",
"public_key": {
"kty": "RSA",
"kid": "another-key-id",
"alg": "RS256", "n": "another_modulus_value_here",
"e": "another_exponent_value_here"
}
}
},
"pay_request_guid": "987e6543-e21b-12d3-a456-426614174001",
"status": "completed",
"debtor": {
"account": "DE89370400440532013000"
}
}
Recipient information is absent
The callback payload includes a Failed status
{
"order_guid": "123e4567-e89b-12d3-a456-426614174000",
"reason": "pay request is failed",
"pay_request_guid": "987e6543-e21b-12d3-a456-426614174001",
"status": "failed",
"debtor": {
"account": "DE89370400440532013000"
}
}
The following steps are identical for all P2P transfer scenarios, namely:
Payment message initiation by the initiating bank
Processing of the "Pay-in" callback by the recipient's bank
Processing of the "Pay-out" callback by the initiating bank
Handling and payment of Gross Settlement Register (GSR)