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.



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

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

#add_gateway_merchant(request) ⇒ Object

Adds a live gateway merchant account.



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

def add_gateway_merchant(request)
  dashboard_request('POST', '/api/add-gateway-merchant', request)
end

#add_test_merchant(request) ⇒ Object

Adds a test merchant account.



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

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.



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

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.



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

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

#batch_history(request) ⇒ Object

Returns the batch history for a merchant.



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

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

#boolean_prompt(request) ⇒ Object

Asks the consumer a yes/no question.



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

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

Cancels a payment link.



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

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

#capture(request) ⇒ Object

Captures a preauthorization.



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

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

#capture_signature(request) ⇒ Object

Captures and returns a signature.



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

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

#card_metadata(request) ⇒ Object

Retrieves card metadata.



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

def (request)
  route_terminal_request('POST', '/api/card-metadata', '/api/card-metadata', request)
end

#cash_discount(request) ⇒ Object

Calculates the discount for actual cash transactions.



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

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.



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

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

#close_batch(request) ⇒ Object

Closes the current credit card batch.



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

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

#customer(request) ⇒ Object

Retrieves a customer by id.



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

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

#customer_search(request) ⇒ Object

Searches the customer database.



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

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

#deactivate_terminal(request) ⇒ Object

Deactivates a terminal.



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

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

#delete_branding_asset(request) ⇒ Object

Deletes a branding asset.



524
525
526
# File 'lib/blockchyp.rb', line 524

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

#delete_customer(request) ⇒ Object

Deletes a customer record.



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

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

#delete_media_asset(request) ⇒ Object

Deletes a media asset.



489
490
491
# File 'lib/blockchyp.rb', line 489

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

#delete_merchant_platforms(request) ⇒ Object

Deletes a boarding platform configuration.



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

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.



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

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.



509
510
511
# File 'lib/blockchyp.rb', line 509

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

#delete_survey_question(request) ⇒ Object

Deletes a survey question.



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

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.



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

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

#delete_token(request) ⇒ Object

Deletes a payment token.



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

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.



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

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

#gift_activate(request) ⇒ Object

Activates or recharges a gift card.



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

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.



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

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

Links a token to a customer record.



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

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.



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

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.



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

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.



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

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

#media_asset(request) ⇒ Object

Returns the media details for a single media asset.



484
485
486
# File 'lib/blockchyp.rb', line 484

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

#merchant_credential_generation(request) ⇒ Object

Generates and returns api credentials for a given merchant.



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

def merchant_credential_generation(request)
  dashboard_request('POST', '/api/generate-merchant-creds', request)
end

#merchant_invoice_detail(request) ⇒ Object

Returns detail for a single merchant-invoice statement.



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

def merchant_invoice_detail(request)
  gateway_request('POST', '/api/merchant-invoice-detail', request)
end

#merchant_invoices(request) ⇒ Object

Returns a list of merchant invoices.



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

def merchant_invoices(request)
  gateway_request('POST', '/api/merchant-invoice-list', request)
end

#merchant_platforms(request) ⇒ Object

List all merchant platforms configured for a gateway merchant.



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

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

#merchant_profile(request) ⇒ Object

Returns profile information for a merchant.



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

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.



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

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

#message(request) ⇒ Object

Displays a short message on the terminal.



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

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.



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

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

#partner_commission_breakdown(request) ⇒ Object

Returns low level details for how partner commissions were calculated for a specific merchant statement.



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

def partner_commission_breakdown(request)
  gateway_request('POST', '/api/partner-commission-breakdown', request)
end

#partner_statement_detail(request) ⇒ Object

Returns detail for a single partner statement.



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

def partner_statement_detail(request)
  gateway_request('POST', '/api/partner-statement-detail', request)
end

#partner_statements(request) ⇒ Object

Returns a list of partner statements.



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

def partner_statements(request)
  gateway_request('POST', '/api/partner-statement-list', request)
end

Retrieves the status of a payment link.



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

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

#pricing_policy(request) ⇒ Object

Returns pricing policy for a merchant.



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

def pricing_policy(request)
  gateway_request('POST', '/api/read-pricing-policy', request)
end

#reboot(request) ⇒ Object

Reboot a payment terminal.



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

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.



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

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.



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

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

Creates and send a payment link to a customer.



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

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.



499
500
501
# File 'lib/blockchyp.rb', line 499

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

#slide_shows(request) ⇒ Object

Returns a collection of slide shows.



494
495
496
# File 'lib/blockchyp.rb', line 494

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

#submit_application(request) ⇒ Object

Submits and application to add a new merchant account.



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

def submit_application(request)
  dashboard_request('POST', '/api/submit-application', request)
end

#survey_question(request) ⇒ Object

Returns a single survey question with response data.



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

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.



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

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

#survey_results(request) ⇒ Object

Returns results for a single survey question.



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

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

#tc_delete_template(request) ⇒ Object

Deletes a single terms and conditions template.



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

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.



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

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.



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

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

#tc_template(request) ⇒ Object

Returns a single terms and conditions template.



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

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.



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

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.



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

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.



514
515
516
# File 'lib/blockchyp.rb', line 514

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

#terminal_status(request) ⇒ Object

Returns the current status of a terminal.



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

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.



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

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

#terms_and_conditions(request) ⇒ Object

Prompts the user to accept terms and conditions.



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

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.



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

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

#token_metadata(request) ⇒ Object

Retrieves payment token metadata.



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

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

#transaction_history(request) ⇒ Object

Returns the transaction history for a merchant.



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

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

#transaction_status(request) ⇒ Object

Retrieves the current status of a transaction.



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

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

Removes a link between a customer and a token.



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

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

#update_branding_asset(request) ⇒ Object

Updates a branding asset.



519
520
521
# File 'lib/blockchyp.rb', line 519

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

#update_customer(request) ⇒ Object

Updates or creates a customer record.



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

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.



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

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.



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

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

#update_slide_show(request) ⇒ Object

Updates or creates a slide show.



504
505
506
# File 'lib/blockchyp.rb', line 504

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

#update_survey_question(request) ⇒ Object

Updates or creates a survey question.



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

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.



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

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.



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

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.



479
480
481
# File 'lib/blockchyp.rb', line 479

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

#void(request) ⇒ Object

Discards a previous transaction.



189
190
191
# File 'lib/blockchyp.rb', line 189

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