blockchyp 2.16.5 → 2.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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