Bittylicious Client: Difference between revisions

From Bittylicious
Jump to navigation Jump to search
mNo edit summary
 
(52 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=NDA=
You are only permitted to use the Bittylicious client if you have filled in the NDA. This is available in the following formats:
* [[File:NDA.pdf]] '''PDF''' (preferred, but do not use ''Adobe Reader''. On Windows, use something like [http://www.foxitsoftware.com/Secure_PDF_Reader/ Foxit Reader])
* [[File:NDA.odt]] '''ODT''' ([http://www.openoffice.org/ OpenOffice]/[http://www.libreoffice.org/ LibreOffice])
* [[File:NDA.doc]] '''DOC''' (Microsoft Word; use only as a last resort)
Please fill in the relevant files and email [mailto:admin@bittylicious.com admin@bittylicious.com]. Also state which type of bank account (see below) you use.
=Overall client setup=
In order to run the Bittylicious client, you must have:
* PHP working via the command line.
* The PHP cURL module.
* The PHP XML/DOM module. This may be called php7.0-xml or similar.
* Your OpenSSL private key saved as ''private.key'' in the Bittylicious client directory.
* The bank account details set up as per the ''Bank account setup'' section.
The Bittylicious client checks whether you have any active trades from Bittylicious every 60 seconds. If one is active, it will log into your bank account to fetch a transaction list. If a transaction matches, the client will sign the transaction on your behalf and notify Bittylicious that the trade has been found.
=FAQ=
===How can I get this?===
When you send a signed NDA to the administrator and have successfully completed at least ten good manual trades, he will provide you with it.
===How often does the client log into the bank account===
The client will only log into the bank account when there is at least one active and paid trade for your offers. These are trades in the ''PAID'' state.
The client will log into the bank account and every minute attempt a refresh (either the equivalent of pressing ''F5'' or going to another page and pack to the statement page). It will not restart the login process unless necessary.
Once there are no more active trades, the client will attempt to log out cleanly.
===Is there any feedback sent from the client?===
There is no feedback if trades are not found. Once a trade enters the ''DISPUTE'' state, an email will be sent by the main Bittylicious system.
===What happens if a reference number does not match, or the amount is wrong===
The client will not consider a bank transaction a match unless at least the reference number matches. In the code, there is a tolerance value and any transactions within that tolerance (but never for less than the trade fiat value) will be matched.
===I get SSL certificate errors on Windows===
Some of the bank login clients require an up to date certificates file. If you get any errors concerning SSL certificates, add the following to php.ini:
  curl.cainfo=c:\path\to\cacert.pem
That needs to be changed to reflect where the BittyClient folder is on your computer. So if it is in a folder called BittyClient on your desktop, the line would be
  curl.cainfo=c:\Users\yourname\Desktop\BittyClient\cacert.pem
===I get an unable to download/failed to download trade list error===
This is also caused by the cacert file not being specified in the php.ini file as with the SSL certificate above.
===How can I edit the files?===
We strongly recommend not using Windows notepad to change any of the files necessary, it tends to put all of the lines onto one long line making it very difficult to edit.  We'd recommend something like [https://notepad-plus-plus.org/ Notepad++] or [https://www.geany.org/ Geany]
=Bank account setup=
=Bank account setup=


Line 4: Line 65:


===Halifax===
===Halifax===
Status: '''Production quality''', Current version: 20180125


  $bank = new UK_Halifax("''Username''", "''Password''", "''Memorable word''", "''Account name''");
  $bank = new UK_Halifax("''Username''", "''Password''", "''Memorable word''", "''Account name''");
Line 10: Line 73:
  $bank = new UK_Halifax("mm34789", "P@ssw0rd", "M3M0RABLE", "Easycash");
  $bank = new UK_Halifax("mm34789", "P@ssw0rd", "M3M0RABLE", "Easycash");


===Santander Business===
Notes:
* The ''Account name'' is as it appears on your Internet banking screen.
* Halifax seems to log users out that are connecting from VPNs, VPSs and in particular non-UK IP addresses.
 
===Santander===


  $bank = new UK_Santander("''Banking ID''", "''Registration number''", "''Passcode''", "''Account name''", array("''memorable question 1''" => "''answer 1''", "''memorable question 2''" => "''answer 2''"));
Status: '''Production quality''',
Current version: 20181005
 
  $bank = new UK_Santander(''Account type'', "''Banking ID''", "''Registration or Security number''", "''Passcode''", "''Account name''", array("''memorable question 1''" => "''answer 1''", "''memorable question 2''" => "''answer 2''"));


Example:
Example:


  $bank = new UK_Santander("19031846985", "12345", "P@ssw0rd", "BUSINESS CURRENT ACCOUNT", array('maiden' => 'Shelly', 'car' => 'Polo'));
  $bank = new UK_Santander(SANTANDER_BUSINESS, "19031846985", "12345", "P@ssw0rd", "BUSINESS CURRENT ACCOUNT", array("maiden" => "Shelly", "car" => "Polo", "born" => "London"));
 
Notes:
* The memorable questions work on a substring basis, e.g. ''maiden'' will be a match for ''What is your mother's maiden name'' and ''car'' is a match for ''What make was your first car''.
* The ''Account name'' is as it appears on your Internet banking screen.
* The ''Account type'' is ''SANTANDER_BUSINESS'' or ''SANTANDER_PERSONAL''.
 
===Lloyds Bank (personal accounts)===
 
Status: '''Not working'''
Current version: 20140407
 
$bank = new UK_LloydsBank(''Customer ID'', "''Customer password''", "''Memorable word''", "''Account number''");
 
===Co-Operative, HSBC, Lloyds TSB (business accounts)===
 
These are lower priority as they will require human input because a physical token or card reader even to log in. This is bad and annoying so consider switching to another bank.
 
===Nationwide, Natwest===


Note that the memorable questions work on a substring basis, e.g. ''maiden'' will be a match for ''What is your mother's maiden name'' and ''car'' is a match for ''What make was your first car''.
There will never be a client for Nationwide as they do not provide any payment references online, nor Natwest as they don't show payee information for one day. This is bad and insecure so consider switching to another bank.

Latest revision as of 11:34, 31 January 2019

NDA

You are only permitted to use the Bittylicious client if you have filled in the NDA. This is available in the following formats:

Please fill in the relevant files and email admin@bittylicious.com. Also state which type of bank account (see below) you use.

Overall client setup

In order to run the Bittylicious client, you must have:

  • PHP working via the command line.
  • The PHP cURL module.
  • The PHP XML/DOM module. This may be called php7.0-xml or similar.
  • Your OpenSSL private key saved as private.key in the Bittylicious client directory.
  • The bank account details set up as per the Bank account setup section.

The Bittylicious client checks whether you have any active trades from Bittylicious every 60 seconds. If one is active, it will log into your bank account to fetch a transaction list. If a transaction matches, the client will sign the transaction on your behalf and notify Bittylicious that the trade has been found.

FAQ

How can I get this?

When you send a signed NDA to the administrator and have successfully completed at least ten good manual trades, he will provide you with it.

How often does the client log into the bank account

The client will only log into the bank account when there is at least one active and paid trade for your offers. These are trades in the PAID state.

The client will log into the bank account and every minute attempt a refresh (either the equivalent of pressing F5 or going to another page and pack to the statement page). It will not restart the login process unless necessary.

Once there are no more active trades, the client will attempt to log out cleanly.

Is there any feedback sent from the client?

There is no feedback if trades are not found. Once a trade enters the DISPUTE state, an email will be sent by the main Bittylicious system.

What happens if a reference number does not match, or the amount is wrong

The client will not consider a bank transaction a match unless at least the reference number matches. In the code, there is a tolerance value and any transactions within that tolerance (but never for less than the trade fiat value) will be matched.

I get SSL certificate errors on Windows

Some of the bank login clients require an up to date certificates file. If you get any errors concerning SSL certificates, add the following to php.ini:

 curl.cainfo=c:\path\to\cacert.pem

That needs to be changed to reflect where the BittyClient folder is on your computer. So if it is in a folder called BittyClient on your desktop, the line would be

 curl.cainfo=c:\Users\yourname\Desktop\BittyClient\cacert.pem

I get an unable to download/failed to download trade list error

This is also caused by the cacert file not being specified in the php.ini file as with the SSL certificate above.

How can I edit the files?

We strongly recommend not using Windows notepad to change any of the files necessary, it tends to put all of the lines onto one long line making it very difficult to edit. We'd recommend something like Notepad++ or Geany

Bank account setup

UK

Halifax

Status: Production quality, Current version: 20180125

$bank = new UK_Halifax("Username", "Password", "Memorable word", "Account name");

Example:

$bank = new UK_Halifax("mm34789", "P@ssw0rd", "M3M0RABLE", "Easycash");

Notes:

  • The Account name is as it appears on your Internet banking screen.
  • Halifax seems to log users out that are connecting from VPNs, VPSs and in particular non-UK IP addresses.

Santander

Status: Production quality, Current version: 20181005

$bank = new UK_Santander(Account type, "Banking ID", "Registration or Security number", "Passcode", "Account name", array("memorable question 1" => "answer 1", "memorable question 2" => "answer 2"));

Example:

$bank = new UK_Santander(SANTANDER_BUSINESS, "19031846985", "12345", "P@ssw0rd", "BUSINESS CURRENT ACCOUNT", array("maiden" => "Shelly", "car" => "Polo", "born" => "London"));

Notes:

  • The memorable questions work on a substring basis, e.g. maiden will be a match for What is your mother's maiden name and car is a match for What make was your first car.
  • The Account name is as it appears on your Internet banking screen.
  • The Account type is SANTANDER_BUSINESS or SANTANDER_PERSONAL.

Lloyds Bank (personal accounts)

Status: Not working Current version: 20140407

$bank = new UK_LloydsBank(Customer ID, "Customer password", "Memorable word", "Account number");

Co-Operative, HSBC, Lloyds TSB (business accounts)

These are lower priority as they will require human input because a physical token or card reader even to log in. This is bad and annoying so consider switching to another bank.

Nationwide, Natwest

There will never be a client for Nationwide as they do not provide any payment references online, nor Natwest as they don't show payee information for one day. This is bad and insecure so consider switching to another bank.