Internal transfer method
Internal transfers are from xpollens account to xpollens account only.
Definition
Internal transfers are from Xpollens account to xpollens account only.
They are instantaneous.Internal transfer are sometimes called "P2P", meaning "peer to peer" operation.
Feature characteristic
The processUnpaid parameter allows the account to be debited even if there are insufficient funds. This function is particularly useful in the fees and commission use case described below.
The checkLimits parameter allows you to specify whether the limits should be verified before performing a P2P transfer. This feature is commonly used when you want to apply fees regardless of the set limits. If checkLimits = false, the limits are not affected and remain unchanged.
sequenceDiagram autoNumber Participant Partner Participant XPO Partner ->> XPO: POST /api/v2.0/internal-transfers XPO ->> Partner: HTTP/200 XPO -->> Partner: Callback InternalTransfer
Status
stateDiagram [*] --> Completed: [synchrone] [*] --> Rejected: [synchrone] Completed --> [*] Rejected --> [*]
Use cases
Charges, commission
If charges are to be deducted from the account (operating costs, card charges, etc.), the internal transfer must be used.
By using processUnpaid = true, it is possible to debit the account, even if it does not have sufficient funds.A debt will then be created on the account, which will then have to be recovered.
Debt
When a debt is created - meaning the authorization balance turns negative - an internal transfer is automatically triggered to reset the balance to €0. This transfer is made from the profit and loss account to the user’s account :
A debt is then created.
When a customer owes you money, it is your responsibility to recover the funds. To do so, you need to initiate internal transfers from the customer’s account to your profit and loss account.
For more details, please refer to the Debts documentation.
IsCorrective internal transfer
For some use cases, Xpollens teams uses internal transfer. In the case, the attribute IsCorrective is true.
Main use cases:
- balance correction
- SATD - for more details, please refer to the dedicated documentation
Webdesk
Internal transfers are available in the partner area for manual adjustments. These transfers can be made between customer accounts or between a customer account and one of your own partner accounts.
API, callbacks & technical items
| Error | Status | Code | Message | Comment |
|---|---|---|---|---|
| 400 | Not created | 710 | Opération déjà existante. | |
| 400 | Not created | 147 | Votre saisie ne correspond pas à un utilisateur S-money | |
| 500 | Not created | 1 | "Une erreur technique est survenue, veuillez réessayer. Si l’erreur persiste, contactez le support client S-money. Object reference not set to an instance of an object. | recipient.accountId unvalid |
| 201 | Rejected | -- | Insufficient fund | |
| 201 | Rejected | -- | Account limits reached | For the sender or the receiver |
| 201 | Rejected | -- | Incorrect account status | |
| 200 | Completed |
"Payload": {
"type": "InternalTransfer",
"internalTransferId": "thisIsYourInternalTransferId",
"creationDate": "2023-09-25T12:05:29.4246004+00:00",
"status": "Completed",
"reason": null,
"amount": {
"value": "10.00",
"currency": "EUR"
},
"sender": {
"accountId": "rmyrqwhxzj"
},
"recipient": {
"accountId": "locwfbm3dt"
},
"extraDatas": {
"description": "description",
"label1": "label1",
"label2": "label2",
"label3": "label3"
},
"processUnpaid": false,
"checkLimits": boolean
}FAQ
FAQ1: Are InternalTransfer and InternalDebtTransfer considered the same type of operation?
Yes and no.
Both are P2P operations, meaning they involve transferring money between two Xpollens accounts.However, they are considered distinct because an InternalTransfer is initiated by you, while an InternalDebtTransfer is generated by Xpollens in the specific scenario of debt creation.
Best practise
Automatic batch for commission processing and account closure
Accounts with the following statuses must be excluded from this batch:
- ClosureRequested
- PendingClosure
- Closed
Accounts in any of these statuses cannot be debited; therefore, a 40x error will be returned for such requests.
For more details, please refer to the Debts documentation.
Updated 9 months ago