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.



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

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

#add_test_merchant(request) ⇒ Object

Adds a test merchant account.



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

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.



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

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.



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

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

#batch_history(request) ⇒ Object

Returns the batch history for a merchant.



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

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

#boolean_prompt(request) ⇒ Object

Asks the consumer a yes/no question.



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

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

Cancels a payment link.



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

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

#capture(request) ⇒ Object

Captures a preauthorization.



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

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

#capture_signature(request) ⇒ Object

Captures and returns a signature.



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

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.



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

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

#charge(request) ⇒ Object

Executes a standard direct preauth and capture.



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

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.



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

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

#close_batch(request) ⇒ Object

Closes the current credit card batch.



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

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

#customer(request) ⇒ Object

Retrieves a customer by id.



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

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

#customer_search(request) ⇒ Object

Searches the customer database.



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

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

#deactivate_terminal(request) ⇒ Object

Deactivates a terminal.



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

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

#delete_branding_asset(request) ⇒ Object

Deletes a branding asset.



473
474
475
# File 'lib/blockchyp.rb', line 473

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

#delete_customer(request) ⇒ Object

Deletes a customer record.



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

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

#delete_media_asset(request) ⇒ Object

Deletes a media asset.



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

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

#delete_merchant_platforms(request) ⇒ Object

Deletes a boarding platform configuration.



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

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.



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

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.



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

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

#delete_survey_question(request) ⇒ Object

Deletes a survey question.



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

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.



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

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

#delete_token(request) ⇒ Object

Deletes a payment token.



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

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.



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

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

#get_merchants(request) ⇒ Object

Adds a test merchant account.



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

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

#gift_activate(request) ⇒ Object

Activates or recharges a gift card.



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

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

#heartbeat(test) ⇒ Object



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

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

#invite_merchant_user(request) ⇒ Object

Invites a user to join a merchant account.



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

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

Links a token to a customer record.



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

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.



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

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.



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

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.



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

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

#media_asset(request) ⇒ Object

Returns the media details for a single media asset.



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

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.



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

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

#merchant_profile(request) ⇒ Object

Returns profile information for a merchant.



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

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.



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

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

#message(request) ⇒ Object

Displays a short message on the terminal.



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

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.



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

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

Retrieves the status of a payment link.



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

def payment_link_status(request)
  gateway_request('POST', '/api/payment-link-status', request)
end

#ping(request) ⇒ Object

Tests connectivity with a payment terminal.



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

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.



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

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

#reboot(request) ⇒ Object

Reboot a payment terminal.



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

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

#refund(request) ⇒ Object

Executes a refund.



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

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

Resends payment link.



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

def resend_payment_link(request)
  gateway_request('POST', '/api/resend-payment-link', 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.



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

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

Creates and send a payment link to a customer.



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

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.



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

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

#slide_shows(request) ⇒ Object

Returns a collection of slide shows.



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

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

#survey_question(request) ⇒ Object

Returns a single survey question with response data.



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

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.



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

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

#survey_results(request) ⇒ Object

Returns results for a single survey question.



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

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

#tc_delete_template(request) ⇒ Object

Deletes a single terms and conditions template.



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

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.



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

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.



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

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

#tc_template(request) ⇒ Object

Returns a single terms and conditions template.



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

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.



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

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.



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

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.



463
464
465
# File 'lib/blockchyp.rb', line 463

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

#terminal_status(request) ⇒ Object

Returns the current status of a terminal.



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

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.



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

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

#terms_and_conditions(request) ⇒ Object

Prompts the user to accept terms and conditions.



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

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.



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

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

#token_metadata(request) ⇒ Object

Retrieves payment token metadata.



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

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

#transaction_history(request) ⇒ Object

Returns the transaction history for a merchant.



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

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

#transaction_status(request) ⇒ Object

Retrieves the current status of a transaction.



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

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

Removes a link between a customer and a token.



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

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

#update_branding_asset(request) ⇒ Object

Updates a branding asset.



468
469
470
# File 'lib/blockchyp.rb', line 468

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

#update_customer(request) ⇒ Object

Updates or creates a customer record.



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

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.



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

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.



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

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

#update_slide_show(request) ⇒ Object

Updates or creates a slide show.



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

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

#update_survey_question(request) ⇒ Object

Updates or creates a survey question.



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

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.



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

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.



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

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.



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

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

#void(request) ⇒ Object

Discards a previous transaction.



184
185
186
# File 'lib/blockchyp.rb', line 184

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