# Emulation

Emulation features are only available in Sandbox environment.

Bulb icon

Tip – You can also rely on webhooks

For operations that cannot be emulated in the Sandbox, webhook examples are provided.

# SDDR

SDDR Core emulation can be done using th dedicated POST /simulation/payout-sddr endpoint.

# Parameters

Attribute Type Description
debitorIban string IBAN or Virtual IBAN of the debited Wallet.
amount integer Amount of the SDD (will be divided by the nbTxs).
Decimal amounts are not supported.
typeSDD string Either CORE (default) or B2B.
typeReject string The type of error returned if the SDDR fails. Can be: rejected (default), returned, refunded, or today (specifies that we want the SDDR to be executed today).
sci string The SEPA Credit Identifier of the user. In the case of simulation, this defaults to a random string.
nbTxs integer The number of transactions for the SDD. Defaults to 1.
mandateId integer The Beneficiary Mandate unique identifier. This field is optional.
executeAfterParse integer When set to 1, launch the job to execute pending SDDRs on the due date (must be used in combination with typeReject = today).

# Request

Here is an example of {payload}:

Response example (if executeAfterParse is set to 1):

# SDDE

The following request can be used to emulate an SDDE in your Sandbox.

Paperclip icon

Prerequisites – Prior to emulating an SDDE, you must have a KYC validated legal entity with

  • A SEPA Creditor Identifier (SCI) – To enable a SCI, please contact your Treezor Account Manager.
  • A signed Mandate – Must be the correct sddType.

# Mandatory parameters

Attribute Type Description
walletId integer The unique identifier of the Wallet to credit.
paymentMethodId integer Set this value to 21 for crediting funds in Sandbox only.
amount float The amount to credit. Must end with 1.25.
currency string The currency of the transfer. Must be EUR.
mandateId integer The unique identifier of the Mandate.

# Request

Here is an example of {payload}:

Returns a Payin object.

Note icon

Note – Funds availability latency

Funds are usually available in the Wallet within 5 minutes following the request.

# SCTR

SCTR emulation can be useful in multiple situations, including the emulation of recalls.

# Query parameters

The following query parameters are required.

Attribute Type Description
iban string The IBAN of the Wallet to credit.
amount integer The amount to credit. Decimal amounts are not supported.

# Request

Returns the id of the SCTR, its txId (transaction id) and its payinId.

Bulb icon

Tip – The returnReasonCode provides more information

The returnReasonCode can inform you of the reason for a rejection, in which case the payinId will be null.

# Accepted SCTR

# Refused SCTR

  • The IBAN can be erroneous (you can for example use FR76169999999999999999999) or,
  • The User KYC status can be NONE/PENDING or,
  • The Wallet status can be PENDING or CANCELED

# Legacy

SCTR Emulation can also be achieved using the same procedure as for SDDE, by changing the paymentMethodId to 20.

# SCTR Inst

To emulate an SCTR Inst, you can use the following request.

Here is an example of {payload}:

Outputs an object containing the paymentID and sctInstID.

The sctInstID can be used to retrieve the payin using the GET /v1/payins/{sctInstId} endpoint.

# Accepted SCTR Inst

For an emulated SCTR Inst to be accepted:

  • The IBAN must be valid and,
  • The Wallet must be validated.

# Refused SCTR Inst

The emulated SCTR Inst may be refused if:

  • The IBAN can be erroneous (you can for example use FR76169999999999999999999) or,
  • The Wallet status can be PENDING or CANCELED
  • The SCTR Inst amount can be greater that €10,000 in a B2C context or greater than €50,000 in a B2B context

In which case, you'll receive a sepaSctrInst.reject_sctr_inst webhook.

# SCTR Recalls

To initiate an SCTR Recall, you can use the following request.

Paperclip icon

Prerequisites – You need an SCTR first

A valid SCTR must have been emulated beforehand.

# Parameters

Attribute Type Description
cxlId string The unique identifier of the Recall. We recommend that you use the SCTR's id.
statusId integer The status of the recall resource. For simulation purposes, you must set this to 2 (PENDING_PAYIN_REFUND_CREATED).
sctrId integer The SCTR's id as provided by the SCTR simulation endpoint.
reasonCode string Reason code of the recall request see available values
createPayinRefund boolean Creates a payinrefund resource and receives the corresponding webhooks if set to true.

# Request

Here is an example of {payload}:

Returns the id of the Recall.

# SCTR Inst Recalls

To initiate an SCTR Inst Recall, you can use the following request.

Paperclip icon

Prerequisites – You need an SCTR Inst first

A valid SCTR Inst must have been emulated beforehand.

# Parameters

Attribute Type Description
sctInstId string The SCTR Inst's id as provided by the SCTR Inst simulation endpoint.
demandDate string The date of the recall request.
reasonCode string The reason code of the recall request see available values.
additionalInformation string Information on top of the recall reason code you want to receive (can only be used with reasonCode of type FRAD).

# Request

Here is a {payload} example:

Returns the id for the Recall:

# SCTE

Emulating SCTE in Sandbox only requires you use your regular payout endpoint. Any amount will return a PENDING status (and the Wallet Balance will be updated the day after around 10:30AM Paris time), except for amounts ending in 1.25.

For the later, retrieving the Payout shortly after will return a VALIDATED result, and the debited Wallet Balance is updated at the same time.

# Mandatory parameters

Attribute Type Description
walletId integer The unique identifier of the debited Wallet.
beneficiaryId integer The unique identifier of the Beneficiary of the Transfer. You must have created the Beneficiary object beforehand.
amount float The amount of the credit transfer. Must end with 1.25 for a VALIDATED result.
currency string The currency of the credit transfer. Must be EUR.

# Request

Here is an example of {payload}:

Returns a Payout object.

You can use the GET /v1/payouts?payoutId={payoutId} endpoint to view the updated payout.






 





















 











{
    "payouts": [
        {
            "payoutId": 191317,
            "payoutTag": "",
            "payoutStatus": "VALIDATED",
            "payoutTypeId": 1,
            "payoutType": "Credit Transfer",
            "walletId": 2548369,
            "payoutDate": "2024-04-03",
            "walletEventName": "wallet transfer",
            "walletAlias": "wallet-transfer-65844f47b3766",
            "userFirstname": "Alex",
            "userLastname": "Oak",
            "userId": 4248201,
            "bankaccountId": 0,
            "beneficiaryId": 411981,
            "uniqueMandateReference": "",
            "bankaccountIBAN": "",
            "label": "payout_test",
            "amount": "11.25",
            "currency": "EUR",
            "partnerFee": "0",
            "createdDate": "2024-04-03 12:06:48",
            "modifiedDate": "2024-04-03 12:07:06",
            "virtualIbanId": null,
            "virtualIbanReference": null,
            "codeStatus": "160005",
            "informationStatus": "Remboursement par virement Validé",
            "supportingFileLink": "",
            "endToEndId": null,
            "reasonCode": null,
            "reasonDescription": null,
            "metadata": null,
            "totalRows": 1
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Updated on: 4/3/2024, 2:58:38 PM