improved complete purchase, using response data for isSuccessful() and getTransactionReference()