Class: VSafe::Client
- Inherits:
-
Object
- Object
- VSafe::Client
- Defined in:
- lib/vsafe/client.rb
Constant Summary collapse
- SANDBOX_FINGERPRINT_PATH =
"ThreatMetrixUIRedirector".freeze
- FINGERPRINT_PATH =
"PaySafeUIRedirector".freeze
- JSONP_SERVICE_PATH =
We should only use JSONP_SERVICE_PATH for charge_acct_to_tempory_token call in web js.
"GatewayProxyJSON/Service".freeze
- SERVICE_PATH =
"GatewayProxy/Service".freeze
- REQUEST_CONTENT_TYPE =
"application/json; charset=utf-8".freeze
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
- #charge_authorize(params) ⇒ Object
- #charge_confirm(params) ⇒ Object
- #charge_sale(params) ⇒ Object
- #fingerprint_url ⇒ Object
- #get_session_tags ⇒ Object
- #heartbeat ⇒ Object
-
#initialize {|config| ... } ⇒ Client
constructor
A new instance of Client.
- #reverse_payment(params) ⇒ Object
- #service_url(endpoint = nil, jsonp = false) ⇒ Object
- #validate_charge_account(params) ⇒ Object
Constructor Details
#initialize {|config| ... } ⇒ Client
Returns a new instance of Client.
25 26 27 28 29 30 |
# File 'lib/vsafe/client.rb', line 25 def initialize # dup config in case we need to override default settings @config = VSafe.config.dup yield config if block_given? end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
23 24 25 |
# File 'lib/vsafe/client.rb', line 23 def config @config end |
Instance Method Details
#charge_authorize(params) ⇒ Object
40 41 42 |
# File 'lib/vsafe/client.rb', line 40 def (params) VSafe::Responses::ChargeAuthorize.new(request(service_url("ChargeAuthorize"), params)) end |
#charge_confirm(params) ⇒ Object
44 45 46 |
# File 'lib/vsafe/client.rb', line 44 def charge_confirm(params) VSafe::Responses::ChargeConfirm.new(request(service_url("ChargeConfirm"), params)) end |
#charge_sale(params) ⇒ Object
56 57 58 |
# File 'lib/vsafe/client.rb', line 56 def charge_sale(params) VSafe::Responses::ChargeSale.new(request(service_url("ChargeSale"), params)) end |
#fingerprint_url ⇒ Object
74 75 76 |
# File 'lib/vsafe/client.rb', line 74 def fingerprint_url @_fingerprint_url ||= URI.join(config.url, config.sandbox ? SANDBOX_FINGERPRINT_PATH : FINGERPRINT_PATH).to_s end |
#get_session_tags ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/vsafe/client.rb', line 32 def params = { TransactionID: SecureRandom.uuid } VSafe::Responses::GetSessionTags.new(request(service_url("GetSessionTags"), params)) end |
#heartbeat ⇒ Object
52 53 54 |
# File 'lib/vsafe/client.rb', line 52 def heartbeat VSafe::Response.new(request(service_url("HeartBeat"))) end |
#reverse_payment(params) ⇒ Object
48 49 50 |
# File 'lib/vsafe/client.rb', line 48 def reverse_payment(params) VSafe::Responses::ReversePayment.new(request(service_url("ReversePayment"), params)) end |
#service_url(endpoint = nil, jsonp = false) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'lib/vsafe/client.rb', line 64 def service_url(endpoint = nil, jsonp = false) parts = [ config.url, jsonp ? JSONP_SERVICE_PATH : SERVICE_PATH ] parts << endpoint if endpoint File.join(parts) end |
#validate_charge_account(params) ⇒ Object
60 61 62 |
# File 'lib/vsafe/client.rb', line 60 def validate_charge_account(params) VSafe::Responses::ValidateChargeAccount.new(request(service_url("ValidateChargeAccount"), params)) end |