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.



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

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

#add_test_merchant(request) ⇒ Object

Adds a test merchant account.



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

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.



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

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

#delete_branding_asset(request) ⇒ Object

Deletes a branding asset.



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

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

#delete_customer(request) ⇒ Object

Deletes a customer record.



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

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

#delete_media_asset(request) ⇒ Object

Deletes a media asset.



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

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

#delete_merchant_platforms(request) ⇒ Object

Deletes a boarding platform configuration.



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

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.



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

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

#delete_survey_question(request) ⇒ Object

Deletes a survey question.



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

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.



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

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

#delete_token(request) ⇒ Object

Deletes a payment token.



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

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.



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

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.



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

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

Links a token to a customer record.



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

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.



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

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

#media_asset(request) ⇒ Object

Returns the media details for a single media asset.



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

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.



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

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.



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

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

#merchant_invoices(request) ⇒ Object

Returns a list of merchant invoices.



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

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.



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

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

#merchant_profile(request) ⇒ Object

Returns profile information for a merchant.



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

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.



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

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

#partner_commission_breakdown(request) ⇒ Object

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



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

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.



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

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

#partner_statements(request) ⇒ Object

Returns a list of partner statements.



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

def partner_statements(request)
  gateway_request('POST', '/api/partner-statement-list', 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

#pricing_policy(request) ⇒ Object

Returns pricing policy for a merchant.



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

def pricing_policy(request)
  gateway_request('POST', '/api/read-pricing-policy', 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.



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

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

#slide_shows(request) ⇒ Object

Returns a collection of slide shows.



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

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

#survey_question(request) ⇒ Object

Returns a single survey question with response data.



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

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.



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

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

#survey_results(request) ⇒ Object

Returns results for a single survey question.



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

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

#tc_delete_template(request) ⇒ Object

Deletes a single terms and conditions template.



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

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.



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

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.



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

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

#tc_template(request) ⇒ Object

Returns a single terms and conditions template.



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

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.



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

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.



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

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.



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

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.



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

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.



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

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.



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

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

#update_branding_asset(request) ⇒ Object

Updates a branding asset.



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

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.



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

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.



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

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

#update_slide_show(request) ⇒ Object

Updates or creates a slide show.



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

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

#update_survey_question(request) ⇒ Object

Updates or creates a survey question.



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

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.



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

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.



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

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