I have had a few emails regarding whether it would be possible to add Interbank communication support into MyBanco such as SWIFT, and I would just like to say here, YES! It is possible, and it is very easy to do.
If you are looking to write a new plugin to do SWIFT transactions (or any other type of external transactions) would be to do the following:
- Add a new $method to backend/Plugins/transfer.php
'swift' => Array ( 'title' => 'International bank transfer via SWIFT', 'description' => 'Transfer to another {bank} account', 'icon' => 'swift' )
- If necessary, change __transfer_listValidTransferMethods to make only particular users/bank account types to be able to transfer money via swift (it’s near the bottom of the function)
- Implement the following functions:
- function _t_swift_required – This function returns a list of extra information that is required for the transaction to take place. (ie, extra fields that the user must enter, the account # and $amount is not necessary, as these are sent by default)
- function _t_swift_check_data – Ensure that the data that has been imputed from the user is correct, for example, this would mean checking the LEK of a credit card transaction…
- function _t_swift_preview – Send the data for preview. Nothing exciting here really
- function _t_swift_transfer – This is where the fun stuff actually happens. This is where money would be removed from the account, the message put into the cron queue (if desired) or a real time message sent to SWIFTNet for the transaction to occur.
I would recommend that the way it be done would be to move the money wanting to be transferred into a temp. settlement account, and then add the item to a queue which would run on (another?) machine every 2-5 minutes. I really want to add an open source implementation of the SWIFT messaging system to MyBanco, however, like I said earlier, I no longer have access to any of the information or to any of the SWIFT servers to make this possible. If you have access to this sort of information, I would be happy to continue my development.
Hope this helps people out. By the way, if anyone has access to development documentation for SWIFTNet, I would really love to be able to access it, so just drop me a comment on this blog post.
Thanks,
– Tim