Difference between revisions of "Bittylicious Client"

From Bittylicious
Jump to navigation Jump to search
Line 59: Line 59:
Status: '''Production quality''', Current version: 20170123
Status: '''Production quality''', Current version: 20170525
  $bank = new UK_Halifax("''Username''", "''Password''", "''Memorable word''", "''Account name''");
  $bank = new UK_Halifax("''Username''", "''Password''", "''Memorable word''", "''Account name''");

Revision as of 08:26, 26 May 2017


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.


How can I get this?

When you send a signed NDA to the administrator and have successfully completed at least one manual trade, 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:


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.

Bank account setup



Status: Production quality, Current version: 20170525

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


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


  • The Account name is as it appears on your Internet banking screen.


Status: Production quality, Current version: 20170425

$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"));


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


  • 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.

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.