blockchyp 2.16.5 → 2.17.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 898acc6744b68f3722a4df56bec008ba7c2f52a4f1e12d3c008b6beeafd1b999
4
- data.tar.gz: 1f662e1e7cb54df1f7d22378cea7ec850b6ab64a571f3097b71adaa6d8e56071
3
+ metadata.gz: 29b33f7fd1e00ed4cdb89c46257f6c39916b4fa081c0dbe3bcdb42163dd39a2b
4
+ data.tar.gz: 467417b125257bec67021c1d1d3f89db422499526d936b1b8dae0fefa45b8d7d
5
5
  SHA512:
6
- metadata.gz: 003d1422ad36e95736d6d43f326754e14a6101840dab3b8354cd5c2e4844c8ded1b1cfe6b082cd97890bc3641b7700534b56262bf8c8a2cccab72422d4e2d6ee
7
- data.tar.gz: a068009ac83fc6101d2e8aadf8e3650258946b5e8045a1c3d4118ebc2f1ab1f55af68ed35180670027d806d338a33af3156b52b6596eda53a67187cead9b6473
6
+ metadata.gz: 0f195cc07b54b5f1a208d05ff267afa6bf5bdd48a0780726e9b879e7589343b86a382b4a3cc1d86d336f13113490ef527a6043e5c7530b1d3888c55cfe8f199e
7
+ data.tar.gz: 2814d47d23946603ca589a4b52d611398d591d00605b9466da09a5ca787f62159e3936e40001bd37331cafeac1fec40fc57cae4ced9f505953658d6682073aa4
data/README.md CHANGED
@@ -3942,6 +3942,268 @@ puts "Response: #{response.inspect}"
3942
3942
 
3943
3943
  ```
3944
3944
 
3945
+ ### Partner Utilities
3946
+
3947
+
3948
+ These partner only APIs give ISV partners advanced reporting and tools for managing their portfolio.
3949
+
3950
+ Most of the APIs below are for portfolio reporting and range from basic partner commission statements
3951
+ to individual statements with all underlying card brand data.
3952
+
3953
+ We also provide a pricing policy API that enables partners to pull down the current pricing rules
3954
+ in force for any merchant in their portfolio.
3955
+
3956
+ <aside class="info">
3957
+ <b>Currency Data</b>
3958
+ <p>
3959
+ All partner APIs return currency and percentage values in two formats: floating point and formatted strings.
3960
+ </p>
3961
+ <p>
3962
+ It's recommended that all developers use the formatted string as this will ensure the most precise values.
3963
+ Floating point numbers are usually not appropriate for currency or fixed point decimal numbers as
3964
+ the underlying binary encoding can lead to errors in precision. We provide floating point values
3965
+ only as a convenience for developers want to save development time and can live with approximated
3966
+ values in their use case.
3967
+ </p>
3968
+ </aside>
3969
+
3970
+
3971
+
3972
+ #### Retrieve Pricing Policy
3973
+
3974
+
3975
+
3976
+ * **API Credential Types:** Partner
3977
+ * **Required Role:** Partner API Access
3978
+
3979
+ The API returns the current pricing policy for a merchant. This API is valid for partner scoped API credentials
3980
+ and `merchantId` is a required parameter. By default this API returns the currently in-force pricing policy for a merchant,
3981
+ but other inactive policies can be returned by providing the `id` parameter.
3982
+
3983
+ Buy rates for interchange plus and fixed rate pricing are always returned, but only the pricing related to the
3984
+ pricing model type (flat rate or interchange plus) are actually used in fee calculation.
3985
+
3986
+ Each pricing level returns three values: `buyRate`, `current`, and `limit`. The actual price the merchant will pay is
3987
+ given in the `current` field. The other values reflect the contract minimum (`buyRate`) and maximum (`limit`) range
3988
+ the partner can use when changing prices.
3989
+
3990
+
3991
+
3992
+
3993
+ ```ruby
3994
+ # frozen_string_literal: true
3995
+
3996
+ require 'blockchyp'
3997
+
3998
+ blockchyp = BlockChyp::BlockChyp.new(
3999
+ ENV['BC_API_KEY'],
4000
+ ENV['BC_BEARER_TOKEN'],
4001
+ ENV['BC_SIGNING_KEY']
4002
+ )
4003
+
4004
+ # Set request parameters
4005
+ request = {
4006
+ }
4007
+
4008
+ response = blockchyp.pricingPolicy(request)
4009
+
4010
+ puts "Response: #{response.inspect}"
4011
+
4012
+
4013
+ ```
4014
+
4015
+ #### Partner Statements
4016
+
4017
+
4018
+
4019
+ * **API Credential Types:** Partner
4020
+ * **Required Role:** Partner API Access
4021
+
4022
+ The API returns a list of partner residual statements. By default, all statements are returned with the most recent
4023
+ statements listed first. Optional date parameters (`startDate` and `endDate`) can filter statements to a specific date range.
4024
+
4025
+ The list of statements returns basic information about statements like volume, transaction count, and commissions earned.
4026
+
4027
+ Use the `id` returned with each statement summary with the *Partner Statement Detail* API to pull down full details.
4028
+
4029
+
4030
+
4031
+
4032
+ ```ruby
4033
+ # frozen_string_literal: true
4034
+
4035
+ require 'blockchyp'
4036
+
4037
+ blockchyp = BlockChyp::BlockChyp.new(
4038
+ ENV['BC_API_KEY'],
4039
+ ENV['BC_BEARER_TOKEN'],
4040
+ ENV['BC_SIGNING_KEY']
4041
+ )
4042
+
4043
+ # Set request parameters
4044
+ request = {
4045
+ }
4046
+
4047
+ response = blockchyp.partnerStatements(request)
4048
+
4049
+ puts "Response: #{response.inspect}"
4050
+
4051
+
4052
+ ```
4053
+
4054
+ #### Partner Statement Detail
4055
+
4056
+
4057
+
4058
+ * **API Credential Types:** Partner
4059
+ * **Required Role:** Partner API Access
4060
+
4061
+ The API returns detailed information about a specific partner statement. Aggregate data is returned along with
4062
+ line item level data for each underlying merchant statement.
4063
+
4064
+ Use the merchant invoice id with the *Merchant Statement Detail* API and the *Partner Commission Breakdown* API
4065
+ to get the merchant statement and the card brand fee cost breakdown respectively.
4066
+
4067
+
4068
+
4069
+
4070
+ ```ruby
4071
+ # frozen_string_literal: true
4072
+
4073
+ require 'blockchyp'
4074
+
4075
+ blockchyp = BlockChyp::BlockChyp.new(
4076
+ ENV['BC_API_KEY'],
4077
+ ENV['BC_BEARER_TOKEN'],
4078
+ ENV['BC_SIGNING_KEY']
4079
+ )
4080
+
4081
+ # Set request parameters
4082
+ request = {
4083
+ }
4084
+
4085
+ response = blockchyp.partnerStatementDetail(request)
4086
+
4087
+ puts "Response: #{response.inspect}"
4088
+
4089
+
4090
+ ```
4091
+
4092
+ #### Merchant Invoices
4093
+
4094
+
4095
+
4096
+ * **API Credential Types:** Partner or Merchant
4097
+ * **Required Role:** Partner API Access or Merchant API
4098
+
4099
+ The API returns a list of merchant statements and invoices. By default, all invoices are returned with the most recent
4100
+ statements listed first. Optional date parameters (`startDate` and `endDate`) can be used to filter statements by date
4101
+ range.
4102
+
4103
+ The `invoiceType` parameter can also be used to filter invoices by type. Invoices could be conventional invoices, such
4104
+ as those generated when ordering terminals or gift cards, or invoices could be merchant statements.
4105
+
4106
+
4107
+
4108
+
4109
+ ```ruby
4110
+ # frozen_string_literal: true
4111
+
4112
+ require 'blockchyp'
4113
+
4114
+ blockchyp = BlockChyp::BlockChyp.new(
4115
+ ENV['BC_API_KEY'],
4116
+ ENV['BC_BEARER_TOKEN'],
4117
+ ENV['BC_SIGNING_KEY']
4118
+ )
4119
+
4120
+ # Set request parameters
4121
+ request = {
4122
+ }
4123
+
4124
+ response = blockchyp.merchantInvoices(request)
4125
+
4126
+ puts "Response: #{response.inspect}"
4127
+
4128
+
4129
+ ```
4130
+
4131
+ #### Merchant Invoice Detail
4132
+
4133
+
4134
+
4135
+ * **API Credential Types:** Partner
4136
+ * **Required Role:** Partner API Access
4137
+
4138
+ The API returns detailed information about a specific merchant statement or invoice.
4139
+
4140
+ All line items are returned a topographically sorted tree modeling the nested line item structure of the
4141
+ invoice. Details about any payments posted against the invoice are returned.
4142
+
4143
+ It the invoice is a merchant statement, details about every merchant deposit that occurred during the statement period
4144
+ are also returned.
4145
+
4146
+
4147
+
4148
+
4149
+ ```ruby
4150
+ # frozen_string_literal: true
4151
+
4152
+ require 'blockchyp'
4153
+
4154
+ blockchyp = BlockChyp::BlockChyp.new(
4155
+ ENV['BC_API_KEY'],
4156
+ ENV['BC_BEARER_TOKEN'],
4157
+ ENV['BC_SIGNING_KEY']
4158
+ )
4159
+
4160
+ # Set request parameters
4161
+ request = {
4162
+ }
4163
+
4164
+ response = blockchyp.merchantInvoiceDetail(request)
4165
+
4166
+ puts "Response: #{response.inspect}"
4167
+
4168
+
4169
+ ```
4170
+
4171
+ #### Partner Commission Breakdown
4172
+
4173
+
4174
+
4175
+ * **API Credential Types:** Partner
4176
+ * **Required Role:** Partner API Access
4177
+
4178
+ This API allows partners to pull down the low level data used to compute a partner commission for a specific merchant statement.
4179
+
4180
+ The `statementId` is required and must be the id of a valid merchant invoice of type `statement`.
4181
+
4182
+
4183
+
4184
+
4185
+ ```ruby
4186
+ # frozen_string_literal: true
4187
+
4188
+ require 'blockchyp'
4189
+
4190
+ blockchyp = BlockChyp::BlockChyp.new(
4191
+ ENV['BC_API_KEY'],
4192
+ ENV['BC_BEARER_TOKEN'],
4193
+ ENV['BC_SIGNING_KEY']
4194
+ )
4195
+
4196
+ # Set request parameters
4197
+ request = {
4198
+ }
4199
+
4200
+ response = blockchyp.partnerCommissionBreakdown(request)
4201
+
4202
+ puts "Response: #{response.inspect}"
4203
+
4204
+
4205
+ ```
4206
+
3945
4207
 
3946
4208
 
3947
4209
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BlockChyp
4
- VERSION = '2.16.5'
4
+ VERSION = '2.17.3'
5
5
  end
data/lib/blockchyp.rb CHANGED
@@ -264,6 +264,37 @@ module BlockChyp
264
264
  gateway_request('POST', '/api/tx-history', request)
265
265
  end
266
266
 
267
+ # Returns pricing policy for a merchant.
268
+ def pricing_policy(request)
269
+ gateway_request('POST', '/api/read-pricing-policy', request)
270
+ end
271
+
272
+ # Returns a list of partner statements.
273
+ def partner_statements(request)
274
+ gateway_request('POST', '/api/partner-statement-list', request)
275
+ end
276
+
277
+ # Returns detail for a single partner statement.
278
+ def partner_statement_detail(request)
279
+ gateway_request('POST', '/api/partner-statement-detail', request)
280
+ end
281
+
282
+ # Returns a list of merchant invoices.
283
+ def merchant_invoices(request)
284
+ gateway_request('POST', '/api/merchant-invoice-list', request)
285
+ end
286
+
287
+ # Returns detail for a single merchant-invoice statement.
288
+ def merchant_invoice_detail(request)
289
+ gateway_request('POST', '/api/merchant-invoice-detail', request)
290
+ end
291
+
292
+ # Returns low level details for how partner commissions were calculated
293
+ # for a specific merchant statement.
294
+ def partner_commission_breakdown(request)
295
+ gateway_request('POST', '/api/partner-commission-breakdown', request)
296
+ end
297
+
267
298
  # Returns profile information for a merchant.
268
299
  def merchant_profile(request)
269
300
  gateway_request('POST', '/api/public-merchant-profile', request)
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2019-2023 BlockChyp, Inc. All rights reserved. Use of this code is
4
+ # governed by a license that can be found in the LICENSE file.
5
+ #
6
+ # This file was generated automatically by the BlockChyp SDK Generator.
7
+ # Changes to this file will be lost every time the code is regenerated.
8
+
9
+ require ::File.expand_path('test_helper', __dir__)
10
+
11
+ module BlockChyp
12
+ class MerchantInvoiceDetailTest < TestCase
13
+ def test_merchant_invoice_detail
14
+
15
+ puts "Running test_merchant_invoice_detail..."
16
+
17
+ config = load_test_config
18
+
19
+ blockchyp = BlockChyp.new(
20
+ config[:apiKey],
21
+ config[:bearerToken],
22
+ config[:signingKey]
23
+ )
24
+ blockchyp.gateway_host = config[:gatewayHost]
25
+ blockchyp.test_gateway_host = config[:testGatewayHost]
26
+ blockchyp.dashboard_host = config[:dashboardHost]
27
+
28
+
29
+
30
+
31
+
32
+ # Set request parameters
33
+ request = {
34
+ test: true
35
+ }
36
+
37
+ response = blockchyp.merchant_invoice_detail(request)
38
+ assert_not_nil(response)
39
+ # response assertions
40
+ assert(response[:success])
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2019-2023 BlockChyp, Inc. All rights reserved. Use of this code is
4
+ # governed by a license that can be found in the LICENSE file.
5
+ #
6
+ # This file was generated automatically by the BlockChyp SDK Generator.
7
+ # Changes to this file will be lost every time the code is regenerated.
8
+
9
+ require ::File.expand_path('test_helper', __dir__)
10
+
11
+ module BlockChyp
12
+ class MerchantInvoicesTest < TestCase
13
+ def test_merchant_invoices
14
+
15
+ puts "Running test_merchant_invoices..."
16
+
17
+ config = load_test_config
18
+
19
+ blockchyp = BlockChyp.new(
20
+ config[:apiKey],
21
+ config[:bearerToken],
22
+ config[:signingKey]
23
+ )
24
+ blockchyp.gateway_host = config[:gatewayHost]
25
+ blockchyp.test_gateway_host = config[:testGatewayHost]
26
+ blockchyp.dashboard_host = config[:dashboardHost]
27
+
28
+
29
+
30
+
31
+
32
+ # Set request parameters
33
+ request = {
34
+ test: true
35
+ }
36
+
37
+ response = blockchyp.merchant_invoices(request)
38
+ assert_not_nil(response)
39
+ # response assertions
40
+ assert(response[:success])
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2019-2023 BlockChyp, Inc. All rights reserved. Use of this code is
4
+ # governed by a license that can be found in the LICENSE file.
5
+ #
6
+ # This file was generated automatically by the BlockChyp SDK Generator.
7
+ # Changes to this file will be lost every time the code is regenerated.
8
+
9
+ require ::File.expand_path('test_helper', __dir__)
10
+
11
+ module BlockChyp
12
+ class PartnerCommissionBreakdownTest < TestCase
13
+ def test_partner_commission_breakdown
14
+
15
+ puts "Running test_partner_commission_breakdown..."
16
+
17
+ config = load_test_config
18
+
19
+ blockchyp = BlockChyp.new(
20
+ config[:apiKey],
21
+ config[:bearerToken],
22
+ config[:signingKey]
23
+ )
24
+ blockchyp.gateway_host = config[:gatewayHost]
25
+ blockchyp.test_gateway_host = config[:testGatewayHost]
26
+ blockchyp.dashboard_host = config[:dashboardHost]
27
+
28
+
29
+
30
+
31
+
32
+ # Set request parameters
33
+ request = {
34
+ test: true
35
+ }
36
+
37
+ response = blockchyp.partner_commission_breakdown(request)
38
+ assert_not_nil(response)
39
+ # response assertions
40
+ assert(response[:success])
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2019-2023 BlockChyp, Inc. All rights reserved. Use of this code is
4
+ # governed by a license that can be found in the LICENSE file.
5
+ #
6
+ # This file was generated automatically by the BlockChyp SDK Generator.
7
+ # Changes to this file will be lost every time the code is regenerated.
8
+
9
+ require ::File.expand_path('test_helper', __dir__)
10
+
11
+ module BlockChyp
12
+ class PartnerStatementDetailTest < TestCase
13
+ def test_partner_statement_detail
14
+
15
+ puts "Running test_partner_statement_detail..."
16
+
17
+ config = load_test_config
18
+
19
+ blockchyp = BlockChyp.new(
20
+ config[:apiKey],
21
+ config[:bearerToken],
22
+ config[:signingKey]
23
+ )
24
+ blockchyp.gateway_host = config[:gatewayHost]
25
+ blockchyp.test_gateway_host = config[:testGatewayHost]
26
+ blockchyp.dashboard_host = config[:dashboardHost]
27
+
28
+
29
+
30
+
31
+
32
+ # Set request parameters
33
+ request = {
34
+ test: true
35
+ }
36
+
37
+ response = blockchyp.partner_statement_detail(request)
38
+ assert_not_nil(response)
39
+ # response assertions
40
+ assert(response[:success])
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2019-2023 BlockChyp, Inc. All rights reserved. Use of this code is
4
+ # governed by a license that can be found in the LICENSE file.
5
+ #
6
+ # This file was generated automatically by the BlockChyp SDK Generator.
7
+ # Changes to this file will be lost every time the code is regenerated.
8
+
9
+ require ::File.expand_path('test_helper', __dir__)
10
+
11
+ module BlockChyp
12
+ class PartnerStatementsTest < TestCase
13
+ def test_partner_statements
14
+
15
+ puts "Running test_partner_statements..."
16
+
17
+ config = load_test_config
18
+
19
+ blockchyp = BlockChyp.new(
20
+ config[:apiKey],
21
+ config[:bearerToken],
22
+ config[:signingKey]
23
+ )
24
+ blockchyp.gateway_host = config[:gatewayHost]
25
+ blockchyp.test_gateway_host = config[:testGatewayHost]
26
+ blockchyp.dashboard_host = config[:dashboardHost]
27
+
28
+
29
+
30
+
31
+
32
+ # Set request parameters
33
+ request = {
34
+ test: true
35
+ }
36
+
37
+ response = blockchyp.partner_statements(request)
38
+ assert_not_nil(response)
39
+ # response assertions
40
+ assert(response[:success])
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2019-2023 BlockChyp, Inc. All rights reserved. Use of this code is
4
+ # governed by a license that can be found in the LICENSE file.
5
+ #
6
+ # This file was generated automatically by the BlockChyp SDK Generator.
7
+ # Changes to this file will be lost every time the code is regenerated.
8
+
9
+ require ::File.expand_path('test_helper', __dir__)
10
+
11
+ module BlockChyp
12
+ class PricingPolicyTest < TestCase
13
+ def test_pricing_policy
14
+
15
+ puts "Running test_pricing_policy..."
16
+
17
+ config = load_test_config
18
+
19
+ blockchyp = BlockChyp.new(
20
+ config[:apiKey],
21
+ config[:bearerToken],
22
+ config[:signingKey]
23
+ )
24
+ blockchyp.gateway_host = config[:gatewayHost]
25
+ blockchyp.test_gateway_host = config[:testGatewayHost]
26
+ blockchyp.dashboard_host = config[:dashboardHost]
27
+
28
+
29
+
30
+
31
+
32
+ # Set request parameters
33
+ request = {
34
+ test: true,
35
+ merchantId: '<MERCHANT ID>'
36
+ }
37
+
38
+ response = blockchyp.pricing_policy(request)
39
+ assert_not_nil(response)
40
+ # response assertions
41
+ assert(response[:success])
42
+ end
43
+ end
44
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blockchyp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.16.5
4
+ version: 2.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - BlockChyp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-30 00:00:00.000000000 Z
11
+ date: 2023-10-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -51,6 +51,8 @@ files:
51
51
  - test/media_asset_test.rb
52
52
  - test/media_test.rb
53
53
  - test/media_upload_test.rb
54
+ - test/merchant_invoice_detail_test.rb
55
+ - test/merchant_invoices_test.rb
54
56
  - test/merchant_platforms_test.rb
55
57
  - test/merchant_profile_test.rb
56
58
  - test/merchant_users_test.rb
@@ -59,7 +61,11 @@ files:
59
61
  - test/pan_enroll_test.rb
60
62
  - test/pan_preauth_test.rb
61
63
  - test/partial_refund_test.rb
64
+ - test/partner_commission_breakdown_test.rb
65
+ - test/partner_statement_detail_test.rb
66
+ - test/partner_statements_test.rb
62
67
  - test/payment_link_status_test.rb
68
+ - test/pricing_policy_test.rb
63
69
  - test/resend_payment_link_test.rb
64
70
  - test/search_customer_test.rb
65
71
  - test/send_payment_link_test.rb