Bittylicious Client

From Bittylicious
Revision as of 11:34, 31 January 2019 by Cocodude (talk | contribs) (→‎Halifax)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.