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.



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

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

#add_gateway_merchant(request) ⇒ Object

Adds a live gateway merchant account.



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

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

#add_test_merchant(request) ⇒ Object

Adds a test merchant account.



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

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.



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

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

#batch_history(request) ⇒ Object

Returns the batch history for a merchant.



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

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.



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

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

#capture(request) ⇒ Object

Captures a preauthorization.



195
196
197
# File 'lib/blockchyp.rb', line 195

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.



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

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.



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

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

#customer(request) ⇒ Object

Retrieves a customer by id.



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

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

#customer_search(request) ⇒ Object

Searches the customer database.



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

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

#deactivate_terminal(request) ⇒ Object

Deactivates a terminal.



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

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

#delete_branding_asset(request) ⇒ Object

Deletes a branding asset.



540
541
542
# File 'lib/blockchyp.rb', line 540

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

#delete_customer(request) ⇒ Object

Deletes a customer record.



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

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

#delete_media_asset(request) ⇒ Object

Deletes a media asset.



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

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

#delete_merchant_platforms(request) ⇒ Object

Deletes a boarding platform configuration.



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

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.



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

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

#delete_survey_question(request) ⇒ Object

Deletes a survey question.



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

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.



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

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

#delete_token(request) ⇒ Object

Deletes a payment token.



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

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.



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

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.



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

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

Links a token to a customer record.



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

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.



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

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

#media_asset(request) ⇒ Object

Returns the media details for a single media asset.



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

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.



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

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.



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

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

#merchant_invoices(request) ⇒ Object

Returns a list of merchant invoices.



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

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.



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

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

#merchant_profile(request) ⇒ Object

Returns profile information for a merchant.



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

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.



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

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.



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

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.



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

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

#partner_statements(request) ⇒ Object

Returns a list of partner statements.



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

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

Retrieves the status of a payment link.



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

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.



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

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.



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

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.



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

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

Creates and send a payment link to a customer.



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

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.



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

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

#slide_shows(request) ⇒ Object

Returns a collection of slide shows.



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

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.



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

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

#surcharge_review(request) ⇒ Object

Calculates surcharge information for a payment request.



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

def surcharge_review(request)
  gateway_request('POST', '/api/surcharge-review', request)
end

#survey_question(request) ⇒ Object

Returns a single survey question with response data.



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

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.



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

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

#survey_results(request) ⇒ Object

Returns results for a single survey question.



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

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

#tc_delete_template(request) ⇒ Object

Deletes a single terms and conditions template.



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

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.



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

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.



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

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

#tc_template(request) ⇒ Object

Returns a single terms and conditions template.



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

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.



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

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.



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

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.



530
531
532
# File 'lib/blockchyp.rb', line 530

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.



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

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.



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

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

#transaction_history(request) ⇒ Object

Returns the transaction history for a merchant.



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

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

#transaction_status(request) ⇒ Object

Retrieves the current status of a transaction.



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

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

#transient_key(request) ⇒ Object

Generates a short-lived API key scoped to terminal and payment operations.



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

def transient_key(request)
  gateway_request('POST', '/api/transient-credentials', request)
end

Removes a link between a customer and a token.



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

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

#update_branding_asset(request) ⇒ Object

Updates a branding asset.



535
536
537
# File 'lib/blockchyp.rb', line 535

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

#update_customer(request) ⇒ Object

Updates or creates a customer record.



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

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.



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

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.



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

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

#update_slide_show(request) ⇒ Object

Updates or creates a slide show.



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

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

#update_survey_question(request) ⇒ Object

Updates or creates a survey question.



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

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

#update_token(request) ⇒ Object

Updates a payment token.



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

def update_token(request)
  gateway_request('POST', '/api/token/' + request[:token], 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.



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

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.



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

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

#void(request) ⇒ Object

Discards a previous transaction.



200
201
202
# File 'lib/blockchyp.rb', line 200

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