Class: BlockChyp::BlockChyp

Inherits:
BlockChypClient show all
Defined in:
lib/blockchyp.rb

Overview

the main autogenerated blockchyp client

Instance Attribute Summary

Attributes inherited from BlockChypClient

#api_key, #bearer_token, #dashboard_host, #gateway_host, #gateway_timeout, #https, #offline_cache_enabled, #offline_fixed_key, #route_cache, #route_cache_location, #route_cache_ttl, #signing_key, #terminal_connect_timeout, #terminal_timeout, #test_gateway_host

Instance Method Summary collapse

Methods inherited from BlockChypClient

#compute_hmac, #dashboard_request, #decrypt, #derive_offline_key, #encrypt, #evict, #gateway_request, #generate_error_response, #generate_gateway_headers, #get_http_request, #get_timeout, #initialize, #read_offline_cache, #request_route_from_gateway, #resolve_dashboard_uri, #resolve_gateway_uri, #resolve_terminal_route, #resolve_terminal_uri, #route_cache_get, #route_terminal_request, #terminal_request, #update_offline_cache, #upload_request, #user_agent

Constructor Details

This class inherits a constructor from BlockChyp::BlockChypClient

Instance Method Details

#activate_terminal(request) ⇒ Object

Activates a terminal.



340
341
342
# File 'lib/blockchyp.rb', line 340

def activate_terminal(request)
  dashboard_request('POST', '/api/terminal-activate', request)
end

#add_test_merchant(request) ⇒ Object

Adds a test merchant account.



304
305
306
# File 'lib/blockchyp.rb', line 304

def add_test_merchant(request)
  dashboard_request('POST', '/api/add-test-merchant', request)
end

#balance(request) ⇒ Object

Checks the remaining balance on a payment method.



101
102
103
# File 'lib/blockchyp.rb', line 101

def balance(request)
  route_terminal_request('POST', '/api/balance', '/api/balance', request)
end

#batch_details(request) ⇒ Object

Returns the batch details for a single batch.



242
243
244
# File 'lib/blockchyp.rb', line 242

def batch_details(request)
  gateway_request('POST', '/api/batch-details', request)
end

#batch_history(request) ⇒ Object

Returns the batch history for a merchant.



237
238
239
# File 'lib/blockchyp.rb', line 237

def batch_history(request)
  gateway_request('POST', '/api/batch-history', request)
end

#boolean_prompt(request) ⇒ Object

Asks the consumer a yes/no question.



143
144
145
# File 'lib/blockchyp.rb', line 143

def boolean_prompt(request)
  route_terminal_request('POST', '/api/boolean-prompt', '/api/boolean-prompt', request)
end

Cancels a payment link.



207
208
209
# File 'lib/blockchyp.rb', line 207

def cancel_payment_link(request)
  gateway_request('POST', '/api/cancel-payment-link', request)
end

#capture(request) ⇒ Object

Captures a preauthorization.



173
174
175
# File 'lib/blockchyp.rb', line 173

def capture(request)
  gateway_request('POST', '/api/capture', request)
end

#capture_signature(request) ⇒ Object

Captures and returns a signature.



121
122
123
# File 'lib/blockchyp.rb', line 121

def capture_signature(request)
  route_terminal_request('POST', '/api/capture-signature', '/api/capture-signature', request)
end

#cash_discount(request) ⇒ Object

Calculates the discount for actual cash transactions.



232
233
234
# File 'lib/blockchyp.rb', line 232

def cash_discount(request)
  gateway_request('POST', '/api/cash-discount', request)
end

#charge(request) ⇒ Object

Executes a standard direct preauth and capture.



76
77
78
# File 'lib/blockchyp.rb', line 76

def charge(request)
  route_terminal_request('POST', '/api/charge', '/api/charge', request)
end

#clear(request) ⇒ Object

Clears the line item display and any in progress transaction.



106
107
108
# File 'lib/blockchyp.rb', line 106

def clear(request)
  route_terminal_request('POST', '/api/clear', '/api/terminal-clear', request)
end

#close_batch(request) ⇒ Object

Closes the current credit card batch.



197
198
199
# File 'lib/blockchyp.rb', line 197

def close_batch(request)
  gateway_request('POST', '/api/close-batch', request)
end

#customer(request) ⇒ Object

Retrieves a customer by id.



222
223
224
# File 'lib/blockchyp.rb', line 222

def customer(request)
  gateway_request('POST', '/api/customer', request)
end

#customer_search(request) ⇒ Object

Searches the customer database.



227
228
229
# File 'lib/blockchyp.rb', line 227

def customer_search(request)
  gateway_request('POST', '/api/customer-search', request)
end

#deactivate_terminal(request) ⇒ Object

Deactivates a terminal.



335
336
337
# File 'lib/blockchyp.rb', line 335

def deactivate_terminal(request)
  dashboard_request('DELETE', '/api/terminal/' + request[:terminalId], request)
end

#delete_branding_asset(request) ⇒ Object

Deletes a branding asset.



457
458
459
# File 'lib/blockchyp.rb', line 457

def delete_branding_asset(request)
  dashboard_request('DELETE', '/api/terminal-branding/' + request[:assetId], request)
end

#delete_customer(request) ⇒ Object

Deletes a customer record.



257
258
259
# File 'lib/blockchyp.rb', line 257

def delete_customer(request)
  gateway_request('DELETE', '/api/customer/' + request[:customerId], request)
end

#delete_media_asset(request) ⇒ Object

Deletes a media asset.



422
423
424
# File 'lib/blockchyp.rb', line 422

def delete_media_asset(request)
  dashboard_request('DELETE', '/api/media/' + request[:mediaId], request)
end

#delete_merchant_platforms(request) ⇒ Object

Deletes a boarding platform configuration.



325
326
327
# File 'lib/blockchyp.rb', line 325

def delete_merchant_platforms(request)
  dashboard_request('DELETE', '/api/plugin-config/' + request[:platformId], request)
end

#delete_queued_transaction(request) ⇒ Object

Deletes a queued transaction from the terminal.



158
159
160
# File 'lib/blockchyp.rb', line 158

def delete_queued_transaction(request)
  route_terminal_request('POST', '/api/queue/delete', '/api/queue/delete', request)
end

#delete_slide_show(request) ⇒ Object

Deletes a single slide show.



442
443
444
# File 'lib/blockchyp.rb', line 442

def delete_slide_show(request)
  dashboard_request('DELETE', '/api/slide-shows/' + request[:slideShowId], request)
end

#delete_survey_question(request) ⇒ Object

Deletes a survey question.



391
392
393
# File 'lib/blockchyp.rb', line 391

def delete_survey_question(request)
  dashboard_request('DELETE', '/api/survey-questions/' + request[:questionId], request)
end

#delete_test_merchant(request) ⇒ Object

Deletes a test merchant account. Supports partner scoped API credentials only. Live merchant accounts cannot be deleted.



310
311
312
# File 'lib/blockchyp.rb', line 310

def delete_test_merchant(request)
  dashboard_request('DELETE', '/api/test-merchant/' + request[:merchantId], request)
end

#delete_token(request) ⇒ Object

Deletes a payment token.



277
278
279
# File 'lib/blockchyp.rb', line 277

def delete_token(request)
  gateway_request('DELETE', '/api/token/' + request[:token], request)
end

#enroll(request) ⇒ Object

Adds a new payment method to the token vault.



91
92
93
# File 'lib/blockchyp.rb', line 91

def enroll(request)
  route_terminal_request('POST', '/api/enroll', '/api/enroll', request)
end

#get_merchants(request) ⇒ Object

Adds a test merchant account.



283
284
285
# File 'lib/blockchyp.rb', line 283

def get_merchants(request)
  dashboard_request('POST', '/api/get-merchants', request)
end

#gift_activate(request) ⇒ Object

Activates or recharges a gift card.



96
97
98
# File 'lib/blockchyp.rb', line 96

def gift_activate(request)
  route_terminal_request('POST', '/api/gift-activate', '/api/gift-activate', request)
end

#heartbeat(test) ⇒ Object



66
67
68
# File 'lib/blockchyp.rb', line 66

def heartbeat(test)
  gateway_request('GET', '/api/heartbeat', { test: test })
end

#invite_merchant_user(request) ⇒ Object

Invites a user to join a merchant account.



299
300
301
# File 'lib/blockchyp.rb', line 299

def invite_merchant_user(request)
  dashboard_request('POST', '/api/invite-merchant-user', request)
end

Links a token to a customer record.



267
268
269
# File 'lib/blockchyp.rb', line 267

def link_token(request)
  gateway_request('POST', '/api/link-token', request)
end

#list_queued_transactions(request) ⇒ Object

Returns a list of queued transactions on a terminal.



153
154
155
# File 'lib/blockchyp.rb', line 153

def list_queued_transactions(request)
  route_terminal_request('POST', '/api/queue/list', '/api/queue/list', request)
end

#locate(request) ⇒ Object

Returns routing and location data for a payment terminal.



168
169
170
# File 'lib/blockchyp.rb', line 168

def locate(request)
  gateway_request('POST', '/api/terminal-locate', request)
end

#media(request) ⇒ Object

Returns the media library for a given partner, merchant, or organization.



402
403
404
# File 'lib/blockchyp.rb', line 402

def media(request)
  dashboard_request('GET', '/api/media', request)
end

#media_asset(request) ⇒ Object

Returns the media details for a single media asset.



417
418
419
# File 'lib/blockchyp.rb', line 417

def media_asset(request)
  dashboard_request('GET', '/api/media/' + request[:mediaId], request)
end

#merchant_platforms(request) ⇒ Object

List all merchant platforms configured for a gateway merchant.



315
316
317
# File 'lib/blockchyp.rb', line 315

def merchant_platforms(request)
  dashboard_request('GET', '/api/plugin-configs/' + request[:merchantId], request)
end

#merchant_profile(request) ⇒ Object

Returns profile information for a merchant.



252
253
254
# File 'lib/blockchyp.rb', line 252

def merchant_profile(request)
  gateway_request('POST', '/api/public-merchant-profile', request)
end

#merchant_users(request) ⇒ Object

List all active users and pending invites for a merchant account.



294
295
296
# File 'lib/blockchyp.rb', line 294

def merchant_users(request)
  dashboard_request('POST', '/api/merchant-users', request)
end

#message(request) ⇒ Object

Displays a short message on the terminal.



138
139
140
# File 'lib/blockchyp.rb', line 138

def message(request)
  route_terminal_request('POST', '/api/message', '/api/message', request)
end

#new_transaction_display(request) ⇒ Object

Displays a new transaction on the terminal.



126
127
128
# File 'lib/blockchyp.rb', line 126

def new_transaction_display(request)
  route_terminal_request('POST', '/api/txdisplay', '/api/terminal-txdisplay', request)
end

#ping(request) ⇒ Object

Tests connectivity with a payment terminal.



71
72
73
# File 'lib/blockchyp.rb', line 71

def ping(request)
  route_terminal_request('POST', '/api/test', '/api/terminal-test', request)
end

#preauth(request) ⇒ Object

Executes a preauthorization intended to be captured later.



81
82
83
# File 'lib/blockchyp.rb', line 81

def preauth(request)
  route_terminal_request('POST', '/api/preauth', '/api/preauth', request)
end

#reboot(request) ⇒ Object

Reboot a payment terminal.



163
164
165
# File 'lib/blockchyp.rb', line 163

def reboot(request)
  route_terminal_request('POST', '/api/reboot', '/api/terminal-reboot', request)
end

#refund(request) ⇒ Object

Executes a refund.



86
87
88
# File 'lib/blockchyp.rb', line 86

def refund(request)
  route_terminal_request('POST', '/api/refund', '/api/refund', request)
end

#reverse(request) ⇒ Object

Executes a manual time out reversal.

We love time out reversals. Don't be afraid to use them whenever a request to a BlockChyp terminal times out. You have up to two minutes to reverse any transaction. The only caveat is that you must assign transactionRef values when you build the original request. Otherwise, we have no real way of knowing which transaction you're trying to reverse because we may not have assigned it an id yet. And if we did assign it an id, you wouldn't know what it is because your request to the terminal timed out before you got a response.



192
193
194
# File 'lib/blockchyp.rb', line 192

def reverse(request)
  gateway_request('POST', '/api/reverse', request)
end

Creates and send a payment link to a customer.



202
203
204
# File 'lib/blockchyp.rb', line 202

def send_payment_link(request)
  gateway_request('POST', '/api/send-payment-link', request)
end

#slide_show(request) ⇒ Object

Returns a single slide show with slides.



432
433
434
# File 'lib/blockchyp.rb', line 432

def slide_show(request)
  dashboard_request('GET', '/api/slide-shows/' + request[:slideShowId], request)
end

#slide_shows(request) ⇒ Object

Returns a collection of slide shows.



427
428
429
# File 'lib/blockchyp.rb', line 427

def slide_shows(request)
  dashboard_request('GET', '/api/slide-shows', request)
end

#survey_question(request) ⇒ Object

Returns a single survey question with response data.



381
382
383
# File 'lib/blockchyp.rb', line 381

def survey_question(request)
  dashboard_request('GET', '/api/survey-questions/' + request[:questionId], request)
end

#survey_questions(request) ⇒ Object

Returns all survey questions for a given merchant.



376
377
378
# File 'lib/blockchyp.rb', line 376

def survey_questions(request)
  dashboard_request('GET', '/api/survey-questions', request)
end

#survey_results(request) ⇒ Object

Returns results for a single survey question.



396
397
398
# File 'lib/blockchyp.rb', line 396

def survey_results(request)
  dashboard_request('POST', '/api/survey-results', request)
end

#tc_delete_template(request) ⇒ Object

Deletes a single terms and conditions template.



361
362
363
# File 'lib/blockchyp.rb', line 361

def tc_delete_template(request)
  dashboard_request('DELETE', '/api/tc-templates/' + request[:templateId], request)
end

#tc_entry(request) ⇒ Object

Returns a single detailed Terms and Conditions entry.



371
372
373
# File 'lib/blockchyp.rb', line 371

def tc_entry(request)
  dashboard_request('GET', '/api/tc-entry/' + request[:logEntryId], request)
end

#tc_log(request) ⇒ Object

Returns up to 250 entries from the Terms and Conditions log.



366
367
368
# File 'lib/blockchyp.rb', line 366

def tc_log(request)
  dashboard_request('POST', '/api/tc-log', request)
end

#tc_template(request) ⇒ Object

Returns a single terms and conditions template.



351
352
353
# File 'lib/blockchyp.rb', line 351

def tc_template(request)
  dashboard_request('GET', '/api/tc-templates/' + request[:templateId], request)
end

#tc_templates(request) ⇒ Object

Returns a list of terms and conditions templates associated with a merchant account.



346
347
348
# File 'lib/blockchyp.rb', line 346

def tc_templates(request)
  dashboard_request('GET', '/api/tc-templates', request)
end

#tc_update_template(request) ⇒ Object

Updates or creates a terms and conditions template.



356
357
358
# File 'lib/blockchyp.rb', line 356

def tc_update_template(request)
  dashboard_request('POST', '/api/tc-templates', request)
end

#terminal_branding(request) ⇒ Object

Returns the terminal branding stack for a given set of API credentials.



447
448
449
# File 'lib/blockchyp.rb', line 447

def terminal_branding(request)
  dashboard_request('GET', '/api/terminal-branding', request)
end

#terminal_status(request) ⇒ Object

Returns the current status of a terminal.



111
112
113
# File 'lib/blockchyp.rb', line 111

def terminal_status(request)
  route_terminal_request('POST', '/api/terminal-status', '/api/terminal-status', request)
end

#terminals(request) ⇒ Object

Returns all terminals associated with the merchant account.



330
331
332
# File 'lib/blockchyp.rb', line 330

def terminals(request)
  dashboard_request('GET', '/api/terminals', request)
end

#terms_and_conditions(request) ⇒ Object

Prompts the user to accept terms and conditions.



116
117
118
# File 'lib/blockchyp.rb', line 116

def terms_and_conditions(request)
  route_terminal_request('POST', '/api/tc', '/api/terminal-tc', request)
end

#text_prompt(request) ⇒ Object

Asks the consumer a text based question.



148
149
150
# File 'lib/blockchyp.rb', line 148

def text_prompt(request)
  route_terminal_request('POST', '/api/text-prompt', '/api/text-prompt', request)
end

#token_metadata(request) ⇒ Object

Retrieves payment token metadata.



262
263
264
# File 'lib/blockchyp.rb', line 262

def (request)
  gateway_request('GET', '/api/token/' + request[:token], request)
end

#transaction_history(request) ⇒ Object

Returns the transaction history for a merchant.



247
248
249
# File 'lib/blockchyp.rb', line 247

def transaction_history(request)
  gateway_request('POST', '/api/tx-history', request)
end

#transaction_status(request) ⇒ Object

Retrieves the current status of a transaction.



212
213
214
# File 'lib/blockchyp.rb', line 212

def transaction_status(request)
  gateway_request('POST', '/api/tx-status', request)
end

Removes a link between a customer and a token.



272
273
274
# File 'lib/blockchyp.rb', line 272

def unlink_token(request)
  gateway_request('POST', '/api/unlink-token', request)
end

#update_branding_asset(request) ⇒ Object

Updates a branding asset.



452
453
454
# File 'lib/blockchyp.rb', line 452

def update_branding_asset(request)
  dashboard_request('POST', '/api/terminal-branding', request)
end

#update_customer(request) ⇒ Object

Updates or creates a customer record.



217
218
219
# File 'lib/blockchyp.rb', line 217

def update_customer(request)
  gateway_request('POST', '/api/update-customer', request)
end

#update_merchant(request) ⇒ Object

Adds or updates a merchant account. Can be used to create or update test merchants. Only gateway partners may create new live merchants.



289
290
291
# File 'lib/blockchyp.rb', line 289

def update_merchant(request)
  dashboard_request('POST', '/api/update-merchant', request)
end

#update_merchant_platforms(request) ⇒ Object

List all merchant platforms configured for a gateway merchant.



320
321
322
# File 'lib/blockchyp.rb', line 320

def update_merchant_platforms(request)
  dashboard_request('POST', '/api/plugin-configs', request)
end

#update_slide_show(request) ⇒ Object

Updates or creates a slide show.



437
438
439
# File 'lib/blockchyp.rb', line 437

def update_slide_show(request)
  dashboard_request('POST', '/api/slide-shows', request)
end

#update_survey_question(request) ⇒ Object

Updates or creates a survey question.



386
387
388
# File 'lib/blockchyp.rb', line 386

def update_survey_question(request)
  dashboard_request('POST', '/api/survey-questions', request)
end

#update_transaction_display(request) ⇒ Object

Appends items to an existing transaction display. Subtotal, Tax, and Total are overwritten by the request. Items with the same description are combined into groups.



133
134
135
# File 'lib/blockchyp.rb', line 133

def update_transaction_display(request)
  route_terminal_request('PUT', '/api/txdisplay', '/api/terminal-txdisplay', request)
end

#upload_media(request, file) ⇒ Object

Uploads a media asset to the media library.



407
408
409
# File 'lib/blockchyp.rb', line 407

def upload_media(request, file)
  upload_request('/api/upload-media', request, file)
end

#upload_status(request) ⇒ Object

Retrieves the current status of a file upload.



412
413
414
# File 'lib/blockchyp.rb', line 412

def upload_status(request)
  dashboard_request('GET', '/api/media-upload/' + request[:uploadId], request)
end

#void(request) ⇒ Object

Discards a previous transaction.



178
179
180
# File 'lib/blockchyp.rb', line 178

def void(request)
  gateway_request('POST', '/api/void', request)
end