synapse_pay_rest 3.2.3 → 3.2.4

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
  SHA1:
3
- metadata.gz: a7b9318467c17d58d84b25ee16da62c521d831a3
4
- data.tar.gz: e12ddb18f8d2cbeeea1793aa0c0994b1c7181241
3
+ metadata.gz: a215c9e2569ad566f5e927cc38cdacfda84c91bd
4
+ data.tar.gz: f1b5f7aeb61a1b4694af9a4f61368b836e6e4e05
5
5
  SHA512:
6
- metadata.gz: 29b7c4622218262bfe57afb889746f44a59f3f0a1827918de70832dcad42d7c4e1c5985e992b17241b8127854f5b0d1873854ab4508f75b8fe0e731eb8c891d4
7
- data.tar.gz: f16edcbc0d7681811068e9a9ed2f8efcdba30e7d749f718fd53246e7a614042bf66c64288806405dc52a74b203d4ac222564cfb543518f3add979c3e4b6b1839
6
+ metadata.gz: 91f2bf21c6f47f257f7890a7767e8d03b7ab912a35648627d373ab65641135bdbd60cb8c5e56ad3c45dcbf9dae95f57710194756cc7963bf3f119985bab79942
7
+ data.tar.gz: 1a306b966646b87875557ca03476bfd94ff10bcbb05ab3dc5dac021b1b5369ce9570061ce3181716dfe8291badd70391b339a30e97bbd5c902e0fa5c33b5148f
@@ -75,25 +75,27 @@ module SynapsePayRest
75
75
  # @note Not meant to be accessed directly on BaseNode but through children.
76
76
  def from_response(user, response)
77
77
  args = {
78
- user: user,
79
- type: response['type'],
80
- id: response['_id'],
81
- is_active: response['is_active'],
82
- permission: response['allowed'],
83
- nickname: response['info']['nickname'],
84
- name_on_account: response['info']['name_on_account'],
85
- bank_long_name: response['info']['bank_long_name'],
86
- bank_name: response['info']['bank_name'],
87
- account_type: response['info']['type'],
88
- account_class: response['info']['class'],
89
- account_number: response['info']['account_num'],
90
- routing_number: response['info']['routing_num'],
91
- address: response['info']['address'],
92
- swift: response['info']['swift'],
93
- ifsc: response['info']['ifsc'],
94
- user_info: nil,
95
- transactions: nil,
96
- timeline: nil
78
+ user: user,
79
+ type: response['type'],
80
+ id: response['_id'],
81
+ is_active: response['is_active'],
82
+ permission: response['allowed'],
83
+ nickname: response['info']['nickname'],
84
+ name_on_account: response['info']['name_on_account'],
85
+ bank_long_name: response['info']['bank_long_name'],
86
+ bank_name: response['info']['bank_name'],
87
+ account_type: response['info']['type'],
88
+ account_class: response['info']['class'],
89
+ account_number: response['info']['account_num'],
90
+ routing_number: response['info']['routing_num'],
91
+ address: response['info']['address'],
92
+ swift: response['info']['swift'],
93
+ ifsc: response['info']['ifsc'],
94
+ user_info: nil,
95
+ transactions: nil,
96
+ timeline: nil,
97
+ billpay_info: nil,
98
+ transaction_analysis: nil
97
99
  }
98
100
 
99
101
  if response['info']['correspondent_info']
@@ -123,14 +125,18 @@ module SynapsePayRest
123
125
  args[:gateway_restricted] = extra['gateway_restricted']
124
126
  end
125
127
 
126
- if response['extra']['other']['info']
128
+ if response['extra']['other']
127
129
  user_info = response['extra']['other']['info']
128
130
  args[:user_info] = user_info
129
- end
130
131
 
131
- if response['extra']['other']['transactions']
132
- transactions = response['extra']['transactions']
132
+ transactions = response['extra']['other']['transactions']
133
133
  args[:transactions] = transactions
134
+
135
+ billpay_info = response['extra']['other']['billpay_info']
136
+ args[:billpay_info] = billpay_info
137
+
138
+ transaction_analysis = response['extra']['other']['transaction_analysis']
139
+ args[:transaction_analysis] = transaction_analysis
134
140
  end
135
141
 
136
142
  if response['timeline']
@@ -1,4 +1,4 @@
1
1
  module SynapsePayRest
2
2
  # Gem version
3
- VERSION = '3.2.3'.freeze
3
+ VERSION = '3.2.4'.freeze
4
4
  end
data/samples.md CHANGED
@@ -59,6 +59,199 @@ user = SynapsePayRest::User.find(client: client, id: '57e97ab786c2737f4ccd4dc1')
59
59
 
60
60
  # full_dehydrate: 'yes' optional, see docs for response example (https://docs.synapsepay.com/docs/get-user)
61
61
  user = SynapsePayRest::User.find(client: client, id: '57e97ab786c2737f4ccd4dc1', full_dehydrate: 'yes')
62
+
63
+ sample full_dehydrate response (**note some fields will be 'nil' if full_dehydrate='no'):
64
+
65
+ #<SynapsePayRest: : User: 0x007fc2a2a62d88@client=
66
+ @base_url="https://uat-api.synapsefi.com/v3.1">>>,
67
+ @id="592f1dfa8384540026e39a95",
68
+ @refresh_token="refresh_WHGKxqmtJLlTrEgoS316dVAz24YD0jIfQCc7iBRF",
69
+ @logins=[
70
+ {
71
+ "email"=>"sankaet@synapsepay.com",
72
+ "scope"=>"READ_AND_WRITE"
73
+ }
74
+ ],
75
+ @phone_numbers=[
76
+ "sankaet@synapsepay.com",
77
+ "901.942.8167"
78
+ ],
79
+ @legal_names=[
80
+ "Test User"
81
+ ],
82
+ @permission="LOCKED",
83
+ @note="Interesting user",
84
+ @supp_id="122eddfgbeafrfvbbb",
85
+ @is_business=false,
86
+ @cip_tag=1,
87
+ @flag="NOT-FLAGGED",
88
+ @ips=[
89
+ "127.0.0.1"
90
+ ],
91
+ @oauth_key="oauth_V5jGaJMcwK4lrk0WFIZEqQXhRNPpoCSOxdUL30D9",
92
+ @expires_in="7200",
93
+ @base_documents=[
94
+ #<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0@id="189d2fc37c1ee5694aa62f302bcd7c0efaae2c0229f45bfc8bb3470f6f7ab92a",
95
+ @permission_scope="SEND|RECEIVE|1000|DAILY",
96
+ @user=#<SynapsePayRest: : User: 0x007fc2a2a62d88...>,
97
+ @email="test@test.com",
98
+ @phone_number="111-111-1111",
99
+ @ip="::1",
100
+ @name="Charlie Brown",
101
+ @aka=nil,
102
+ @entity_type="M",
103
+ @entity_scope="Arts & Entertainment",
104
+ @birth_day=nil,
105
+ @birth_month=nil,
106
+ @birth_year=nil,
107
+ @address_street="170 St Germain Ave",
108
+ @address_city="SF",
109
+ @address_subdivision="CA",
110
+ @address_postal_code="94114",
111
+ @address_country_code="US",
112
+ @screening_results={
113
+ "561"=>"NO_MATCH",
114
+ "aucl"=>"NO_MATCH",
115
+ "concern_location"=>"NO_MATCH",
116
+ "dpl"=>"NO_MATCH",
117
+ "dtc"=>"NO_MATCH",
118
+ "el"=>"NO_MATCH",
119
+ "eucl"=>"NO_MATCH",
120
+ "fatf_non_cooperative_jurisdiction"=>"NO_MATCH",
121
+ "fbi_bank_robbers"=>"NO_MATCH",
122
+ "fbi_counter_intelligence"=>"NO_MATCH",
123
+ "fbi_crimes_against_children"=>"NO_MATCH",
124
+ "fbi_criminal_enterprise_investigations"=>"NO_MATCH",
125
+ "fbi_cyber"=>"NO_MATCH",
126
+ "fbi_domestic_terrorism"=>"NO_MATCH",
127
+ "fbi_human_trafficking"=>"NO_MATCH",
128
+ "fbi_murders"=>"NO_MATCH",
129
+ "fbi_violent_crimes"=>"NO_MATCH",
130
+ "fbi_wanted_terrorists"=>"NO_MATCH",
131
+ "fbi_white_collar"=>"NO_MATCH",
132
+ "fincen_red_list"=>"NO_MATCH",
133
+ "fse"=>"NO_MATCH",
134
+ "fto_sanctions"=>"NO_MATCH",
135
+ "futures_sanctions"=>"NO_MATCH",
136
+ "hkma_sanctions"=>"NO_MATCH",
137
+ "hm_treasury_sanctions"=>"NO_MATCH",
138
+ "isn"=>"NO_MATCH",
139
+ "mas_sanctions"=>"NO_MATCH",
140
+ "monitored_location"=>"NO_MATCH",
141
+ "ns-isa"=>"NO_MATCH",
142
+ "ofac_561_list"=>"NO_MATCH",
143
+ "ofac_eo13645"=>"NO_MATCH",
144
+ "ofac_fse"=>"NO_MATCH",
145
+ "ofac_fse_ir"=>"NO_MATCH",
146
+ "ofac_fse_sy"=>"NO_MATCH",
147
+ "ofac_isa"=>"NO_MATCH",
148
+ "ofac_ns_isa"=>"NO_MATCH",
149
+ "ofac_plc"=>"NO_MATCH",
150
+ "ofac_sdn"=>"NO_MATCH",
151
+ "ofac_ssi"=>"NO_MATCH",
152
+ "ofac_syria"=>"NO_MATCH",
153
+ "ofac_ukraine_eo13662"=>"NO_MATCH",
154
+ "osfi"=>"NO_MATCH",
155
+ "pep"=>"NO_MATCH",
156
+ "plc"=>"NO_MATCH",
157
+ "primary_concern"=>"NO_MATCH",
158
+ "sdn"=>"NO_MATCH",
159
+ "ssi"=>"NO_MATCH",
160
+ "tel_sanctions"=>"NO_MATCH",
161
+ "ukcl"=>"NO_MATCH",
162
+ "uvl"=>"NO_MATCH"
163
+ },
164
+ @physical_documents=[
165
+ #<SynapsePayRest: : PhysicalDocument: 0x007fc2a2a61cf8@type="GOVT_ID",
166
+ @id="b86950c0d9fd878ef38d5193a9c2d88c2957b5817556cce2fbab2201de40baa4",
167
+ @value=nil,
168
+ @status="SUBMITTED|VALID",
169
+ @last_updated=1496260090771,
170
+ @document_value="https://cdn.synapsepay.com/uploads/2017/05/31/10591ef0-463a-11e7-bf7d-0230add36792.gif",
171
+ @meta={
172
+ "matches"=>{
173
+ "address"=>"not_found",
174
+ "dob"=>"not_found",
175
+ "identification"=>"not_found"
176
+ }
177
+ },
178
+ @base_document=#<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0...>>
179
+ ],
180
+ @social_documents=[
181
+ #<SynapsePayRest: : SocialDocument: 0x007fc2a2a61820@type="FACEBOOK",
182
+ @id="0c32234c59b71311b0f3057635c206e6a0d39ecef0bc336fe2bb375c92968117",
183
+ @value=nil,
184
+ @status="SUBMITTED|VALID",
185
+ @last_updated=1496260090773,
186
+ @document_value="https://www.facebook.com/sankaet",
187
+ @meta={
188
+ "matches"=>{
189
+ "address"=>"not_found",
190
+ "dob"=>"not_found",
191
+ "identification"=>"not_found"
192
+ }
193
+ },
194
+ @base_document=#<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0...>>,
195
+ #<SynapsePayRest: : SocialDocument: 0x007fc2a2a613c0@type="EMAIL",
196
+ @id="2c45158f6431ca874bbe82f63d5905567854dde4d8b81539944e5779e5eee741",
197
+ @value=nil,
198
+ @status="SUBMITTED|VALID",
199
+ @last_updated=1496260090773,
200
+ @document_value="test@test.com",
201
+ @meta={
202
+ "matches"=>{
203
+ "address"=>"not_found",
204
+ "dob"=>"not_found",
205
+ "identification"=>"not_found"
206
+ }
207
+ },
208
+ @base_document=#<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0...>>,
209
+ #<SynapsePayRest: : SocialDocument: 0x007fc2a2a61190@type="IP",
210
+ @id="28d9177b22c127d9a51d8903893864accf6e553ac326704a4c0d585eaad2516a",
211
+ @value=nil,
212
+ @status="SUBMITTED|VALID",
213
+ @last_updated=1496260090773,
214
+ @document_value="::1",
215
+ @meta={
216
+ "matches"=>{
217
+ "address"=>"not_found",
218
+ "dob"=>"not_found",
219
+ "identification"=>"not_found"
220
+ }
221
+ },
222
+ @base_document=#<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0...>>,
223
+ #<SynapsePayRest: : SocialDocument: 0x007fc2a2a60d58@type="PHONE_NUMBER",
224
+ @id="54522fd5748d2dedeab0034a09f91f6e1337ea2181f6aaea0515b61cd52cb576",
225
+ @value=nil,
226
+ @status="SUBMITTED|VALID",
227
+ @last_updated=1496260090773,
228
+ @document_value="111-111-1111",
229
+ @meta={
230
+ "matches"=>{
231
+ "address"=>"not_found",
232
+ "dob"=>"not_found",
233
+ "identification"=>"not_found"
234
+ }
235
+ },
236
+ @base_document=#<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0...>>
237
+ ],
238
+ @virtual_documents=[
239
+ #<SynapsePayRest: : VirtualDocument: 0x007fc2a2a608a8@type="SSN",
240
+ @id="ee596c2896dddc19b76c07a184fe7d3cf5a04b8e94b9108190cac7890739017f",
241
+ @value=nil,
242
+ @status="SUBMITTED|VALID",
243
+ @last_updated=1496260090768,
244
+ @document_value="2222",
245
+ @meta={
246
+ "matches"=>{
247
+ "address"=>"not_found",
248
+ "dob"=>"not_found",
249
+ "identification"=>"not_found"
250
+ }
251
+ },
252
+ @base_document=#<SynapsePayRest: : BaseDocument: 0x007fc2a2a601f0...>>
253
+ ]>
254
+ ]>
62
255
  ```
63
256
 
64
257
  #### Search for a User by Name/Email
@@ -250,38 +443,6 @@ base_doc = base_doc.add_virtual_documents(virtual_doc)
250
443
  # => #<SynapsePayRest::BaseDocument>
251
444
  ```
252
445
 
253
- ##### Answer KBA Questions for Virtual Document
254
-
255
- If a Virtual Document is returned with status **SUBMITTED|MFA_PENDING**, you will need to have the user answer some questions:
256
-
257
- ```ruby
258
- # check for any virtual docs with SUBMITTED|MFA_PENDING status
259
- virtual_doc = base_doc.virtual_documents.find do |doc|
260
- doc.status == 'SUBMITTED|MFA_PENDING'
261
- end
262
-
263
- question_set = virtual_doc.question_set
264
- # => [#<SynapsePayRest::Question>, #<SynapsePayRest::Question>, ...]
265
-
266
- # follow this flow for each question in question_set
267
- question = question_set.first
268
-
269
- question_text = question.question
270
- # => "Which one of the following zip codes is associated with you?"
271
-
272
- question.answers
273
- # => {1=>"49230", 2=>"49209", 3=>"49268", 4=>"49532", 5=>"None Of The Above"}
274
-
275
- question.choice = 1
276
-
277
- # when finished answering all questions in question_set
278
- virtual_doc = virtual_doc.submit_kba
279
-
280
- # reassign this if you need the updated base doc
281
- base_doc = virtual_doc.base_document
282
- ```
283
-
284
-
285
446
  ## Node Methods
286
447
 
287
448
  #### All Nodes for a User
@@ -318,6 +479,516 @@ node = SynapsePayRest::Node.find(user: user, id: '1a3efa1231as2f')
318
479
  # full_dehydrate: 'yes' (optional) returns all trans data on node
319
480
  node = SynapsePayRest::Node.find(user: user, id: '1a3efa1231as2f', full_dehydrate: 'yes')
320
481
 
482
+ sample full_dehydrate response (**note some fields will be 'nil' if full_dehydrate='no'):
483
+
484
+ #<SynapsePayRest: : AchUsNode: 0x007f867e14b070@user=#<SynapsePayRest:
485
+ @type="ACH-US",
486
+ @id="592f1e2d603964002f1b07f7",
487
+ @is_active=true,
488
+ @permission="LOCKED",
489
+ @nickname="SynapsePay Test Checking Account - 8901",
490
+ @name_on_account=" ",
491
+ @bank_long_name="CAPITAL ONE N.A.",
492
+ @bank_name="CAPITAL ONE N.A.",
493
+ @account_type="BUSINESS",
494
+ @account_class="CHECKING",
495
+ @account_number="12345678901",
496
+ @routing_number="031176110",
497
+ @address="PO BOX 85139, RICHMOND, VA, US",
498
+ @swift=nil,
499
+ @ifsc=nil,
500
+ @user_info={
501
+ "account_id"=>"fd52bf51f0354335e634940139a006ef91d7e789c665857e9821656d18e7d012",
502
+ "addresses"=>[
503
+ {
504
+ "city"=>"San Francisco",
505
+ "state"=>"CA",
506
+ "street"=>"3880 Castro St.",
507
+ "zipcode"=>"94110"
508
+ }
509
+ ],
510
+ "dob"=>"",
511
+ "emails"=>[
512
+ "test@synapsepay.com"
513
+ ],
514
+ "names"=>[
515
+ "Test User"
516
+ ],
517
+ "phone_numbers"=>[
518
+ "3937100934",
519
+ "8958226574"
520
+ ]
521
+ },
522
+ @transactions=[
523
+ {
524
+ "amount"=>233.0,
525
+ "category"=>{
526
+ "primary"=>"",
527
+ "subcategory"=>""
528
+ },
529
+ "current_balance"=>212.0,
530
+ "date"=>1397534400.0,
531
+ "debit"=>false,
532
+ "description"=>"CITI CARDS PPD:45367278097783",
533
+ "pending"=>false
534
+ },
535
+ {
536
+ "amount"=>317.0,
537
+ "category"=>{
538
+ "primary"=>"",
539
+ "subcategory"=>""
540
+ },
541
+ "current_balance"=>8970.0,
542
+ "date"=>1431835200.0,
543
+ "debit"=>true,
544
+ "description"=>"BK OF AM CRD PPD:42489094108452",
545
+ "pending"=>true
546
+ },
547
+ {
548
+ "amount"=>24.0,
549
+ "category"=>{
550
+ "primary"=>"",
551
+ "subcategory"=>""
552
+ },
553
+ "current_balance"=>4779.0,
554
+ "date"=>1404187200.0,
555
+ "debit"=>false,
556
+ "description"=>"CAPITAL ONE MOBILE PMT PPD:66159733534606",
557
+ "pending"=>true
558
+ },
559
+ {
560
+ "amount"=>53.0,
561
+ "category"=>{
562
+ "primary"=>"",
563
+ "subcategory"=>""
564
+ },
565
+ "current_balance"=>7000.0,
566
+ "date"=>1458100800.0,
567
+ "debit"=>false,
568
+ "description"=>"WF Credit Card PPD:15303774887880",
569
+ "pending"=>true
570
+ },
571
+ {
572
+ "amount"=>65.0,
573
+ "category"=>{
574
+ "primary"=>"",
575
+ "subcategory"=>""
576
+ },
577
+ "current_balance"=>6400.0,
578
+ "date"=>1466222400.0,
579
+ "debit"=>false,
580
+ "description"=>"CITI CARDS PPD:33669559685208",
581
+ "pending"=>true
582
+ },
583
+ {
584
+ "amount"=>185.0,
585
+ "category"=>{
586
+ "primary"=>"",
587
+ "subcategory"=>""
588
+ },
589
+ "current_balance"=>5726.0,
590
+ "date"=>1400040000.0,
591
+ "debit"=>true,
592
+ "description"=>"WF Credit Card PPD:12781852781478",
593
+ "pending"=>true
594
+ },
595
+ {
596
+ "amount"=>445.0,
597
+ "category"=>{
598
+ "primary"=>"",
599
+ "subcategory"=>""
600
+ },
601
+ "current_balance"=>9337.0,
602
+ "date"=>1457928000.0,
603
+ "debit"=>true,
604
+ "description"=>"BK OF AM CRD PPD:66137868896167",
605
+ "pending"=>false
606
+ },
607
+ {
608
+ "amount"=>39.0,
609
+ "category"=>{
610
+ "primary"=>"",
611
+ "subcategory"=>""
612
+ },
613
+ "current_balance"=>6460.0,
614
+ "date"=>1450242000.0,
615
+ "debit"=>false,
616
+ "description"=>"BK OF AM CRD PPD:63039795698738",
617
+ "pending"=>false
618
+ },
619
+ {
620
+ "amount"=>400.0,
621
+ "category"=>{
622
+ "primary"=>"",
623
+ "subcategory"=>""
624
+ },
625
+ "current_balance"=>1732.0,
626
+ "date"=>1481950800.0,
627
+ "debit"=>false,
628
+ "description"=>"AMEX EPAYMENT PPD:18493222207835",
629
+ "pending"=>true
630
+ },
631
+ {
632
+ "amount"=>112.0,
633
+ "category"=>{
634
+ "primary"=>"",
635
+ "subcategory"=>""
636
+ },
637
+ "current_balance"=>7645.0,
638
+ "date"=>1417928400.0,
639
+ "debit"=>true,
640
+ "description"=>"AMEX EPAYMENT PPD:28509869400705",
641
+ "pending"=>false
642
+ }
643
+ ],
644
+ @timeline=[
645
+ {
646
+ "date"=>1496260140541,
647
+ "note"=>"Node created."
648
+ },
649
+ {
650
+ "date"=>1496260142204,
651
+ "note"=>"Unable to send micro deposits as node allowed is not CREDIT."
652
+ },
653
+ {
654
+ "date"=>1496260420927,
655
+ "note"=>"User locked. Thus node 'allowed' changed to LOCKED."
656
+ }
657
+ ],
658
+ @billpay_info=[
659
+ {
660
+ "amount"=>160.05,
661
+ "duration"=>{
662
+ "meta"=>{
663
+ "remaining_payments"=>71,
664
+ "total_payments"=>72
665
+ },
666
+ "type"=>"SPECIFIC_NUM_PAYMENTS"
667
+ },
668
+ "frequency"=>{
669
+ "meta"=>{
670
+ "day_of_week"=>"TUESDAY"
671
+ },
672
+ "type"=>"WEEKLY"
673
+ },
674
+ "frequency_meta"=>{
675
+ "day_of_week"=>{
676
+ "type"=>"Weekday",
677
+ "value"=>2
678
+ }
679
+ },
680
+ "frequency_type"=>"WEEKLY",
681
+ "memo"=>"Payment to card ending 9990",
682
+ "pay_from_account"=>"254648bb700253e150a428597b8f7c0ca33e2e94257f79ecfa2a00feb422c5e2",
683
+ "payee"=>{
684
+ "account_number"=>"2507657178062104",
685
+ "address"=>{
686
+ "city"=>"San Francisco",
687
+ "state"=>"CA",
688
+ "street"=>"1716 Castro St.",
689
+ "zipcode"=>"94110"
690
+ },
691
+ "email"=>"example@email.com",
692
+ "entity_type"=>"BUSINESS",
693
+ "name"=>"JP Morgan Chase",
694
+ "nickname"=>"Payment to Joe's United card",
695
+ "phone_number"=>"6424032051"
696
+ },
697
+ "start_date"=>"2017-11-07"
698
+ },
699
+ {
700
+ "amount"=>185.59,
701
+ "duration"=>{
702
+ "type"=>"UNTIL_STOPPED"
703
+ },
704
+ "frequency"=>{
705
+ "meta"=>{
706
+ "day_of_month"=>24
707
+ },
708
+ "type"=>"EVERY_THREE_MONTHS"
709
+ },
710
+ "frequency_meta"=>{
711
+ "day_of_month"=>24
712
+ },
713
+ "frequency_type"=>"EVERY_THREE_MONTHS",
714
+ "memo"=>"Payment to card ending 7770",
715
+ "pay_from_account"=>"fd52bf51f0354335e634940139a006ef91d7e789c665857e9821656d18e7d012",
716
+ "payee"=>{
717
+ "account_number"=>"8609794239422625",
718
+ "address"=>{
719
+ "city"=>"San Francisco",
720
+ "state"=>"CA",
721
+ "street"=>"7097 Castro St.",
722
+ "zipcode"=>"94110"
723
+ },
724
+ "email"=>"example@email.com",
725
+ "entity_type"=>"BUSINESS",
726
+ "name"=>"American Express",
727
+ "nickname"=>"Old AMEX card",
728
+ "phone_number"=>"3716731060"
729
+ },
730
+ "start_date"=>"2017-06-07"
731
+ },
732
+ {
733
+ "amount"=>165.0,
734
+ "duration"=>{
735
+ "type"=>"UNTIL_STOPPED"
736
+ },
737
+ "frequency"=>{
738
+ "meta"=>{
739
+ "day_of_week"=>"THURSDAY"
740
+ },
741
+ "type"=>"EVERY_TWO_WEEKS"
742
+ },
743
+ "frequency_meta"=>{
744
+ "day_of_week"=>{
745
+ "type"=>"Weekday",
746
+ "value"=>4
747
+ }
748
+ },
749
+ "frequency_type"=>"EVERY_TWO_WEEKS",
750
+ "memo"=>"Monthly Cable Payment",
751
+ "pay_from_account"=>"254648bb700253e150a428597b8f7c0ca33e2e94257f79ecfa2a00feb422c5e2",
752
+ "payee"=>{
753
+ "account_number"=>"5673862380187205",
754
+ "address"=>{
755
+ "city"=>"San Francisco",
756
+ "state"=>"CA",
757
+ "street"=>"5205 Castro St.",
758
+ "zipcode"=>"94110"
759
+ },
760
+ "email"=>"example@email.com",
761
+ "entity_type"=>"BUSINESS",
762
+ "name"=>"Comcast Cable",
763
+ "nickname"=>"cable at rental home",
764
+ "phone_number"=>"9219013643"
765
+ },
766
+ "start_date"=>"2017-08-07"
767
+ },
768
+ {
769
+ "amount"=>42.46,
770
+ "duration"=>{
771
+ "meta"=>{
772
+ "remaining_payments"=>27,
773
+ "total_payments"=>87
774
+ },
775
+ "type"=>"SPECIFIC_NUM_PAYMENTS"
776
+ },
777
+ "frequency"=>{
778
+ "meta"=>{
779
+ "day_of_month"=>21
780
+ },
781
+ "type"=>"EVERY_MONTH"
782
+ },
783
+ "frequency_meta"=>{
784
+ "day_of_month"=>21
785
+ },
786
+ "frequency_type"=>"EVERY_MONTH",
787
+ "memo"=>"Payment to card ending 7770",
788
+ "pay_from_account"=>"fd52bf51f0354335e634940139a006ef91d7e789c665857e9821656d18e7d012",
789
+ "payee"=>{
790
+ "account_number"=>"2867054184778944",
791
+ "address"=>{
792
+ "city"=>"San Francisco",
793
+ "state"=>"CA",
794
+ "street"=>"1022 Fulton St.",
795
+ "zipcode"=>"94110"
796
+ },
797
+ "email"=>"example@email.com",
798
+ "entity_type"=>"BUSINESS",
799
+ "name"=>"American Express",
800
+ "nickname"=>"Old AMEX card",
801
+ "phone_number"=>"4737047304"
802
+ },
803
+ "start_date"=>"2017-05-05"
804
+ },
805
+ {
806
+ "amount"=>233.8,
807
+ "duration"=>{
808
+ "meta"=>{
809
+ "remaining_payments"=>0,
810
+ "total_payments"=>19
811
+ },
812
+ "type"=>"SPECIFIC_NUM_PAYMENTS"
813
+ },
814
+ "frequency"=>{
815
+ "meta"=>{
816
+ "day_of_week"=>"THURSDAY"
817
+ },
818
+ "type"=>"EVERY_TWO_WEEKS"
819
+ },
820
+ "frequency_meta"=>{
821
+ "day_of_week"=>{
822
+ "type"=>"Weekday",
823
+ "value"=>4
824
+ }
825
+ },
826
+ "frequency_type"=>"EVERY_TWO_WEEKS",
827
+ "memo"=>"Payment to card ending 7770",
828
+ "pay_from_account"=>"254648bb700253e150a428597b8f7c0ca33e2e94257f79ecfa2a00feb422c5e2",
829
+ "payee"=>{
830
+ "account_number"=>"4712680119518462",
831
+ "address"=>{
832
+ "city"=>"San Francisco",
833
+ "state"=>"CA",
834
+ "street"=>"2681 Market St.",
835
+ "zipcode"=>"94110"
836
+ },
837
+ "email"=>"example@email.com",
838
+ "entity_type"=>"BUSINESS",
839
+ "name"=>"American Express",
840
+ "nickname"=>"Old AMEX card",
841
+ "phone_number"=>"4424477394"
842
+ },
843
+ "start_date"=>"2017-12-14"
844
+ },
845
+ {
846
+ "amount"=>32.64,
847
+ "duration"=>{
848
+ "meta"=>{
849
+ "end_date"=>"2020-08-08"
850
+ },
851
+ "type"=>"SPECIFIC_DATE"
852
+ },
853
+ "frequency"=>{
854
+ "meta"=>{
855
+ "day_of_month"=>25
856
+ },
857
+ "type"=>"EVERY_SIX_MONTHS"
858
+ },
859
+ "frequency_meta"=>{
860
+ "day_of_month"=>25
861
+ },
862
+ "frequency_type"=>"EVERY_SIX_MONTHS",
863
+ "memo"=>"Payment to card ending 9990",
864
+ "pay_from_account"=>"254648bb700253e150a428597b8f7c0ca33e2e94257f79ecfa2a00feb422c5e2",
865
+ "payee"=>{
866
+ "account_number"=>"3709218202306843",
867
+ "address"=>{
868
+ "city"=>"San Francisco",
869
+ "state"=>"CA",
870
+ "street"=>"6950 Market St.",
871
+ "zipcode"=>"94110"
872
+ },
873
+ "email"=>"example@email.com",
874
+ "entity_type"=>"BUSINESS",
875
+ "name"=>"JP Morgan Chase",
876
+ "nickname"=>"Payment to Joe's United card",
877
+ "phone_number"=>"4914993163"
878
+ },
879
+ "start_date"=>"2017-09-13"
880
+ },
881
+ {
882
+ "amount"=>64.89,
883
+ "duration"=>{
884
+ "meta"=>{
885
+ "remaining_payments"=>23,
886
+ "total_payments"=>78
887
+ },
888
+ "type"=>"SPECIFIC_NUM_PAYMENTS"
889
+ },
890
+ "frequency"=>{
891
+ "meta"=>{
892
+ "day_of_month"=>20
893
+ },
894
+ "type"=>"EVERY_MONTH"
895
+ },
896
+ "frequency_meta"=>{
897
+ "day_of_month"=>20
898
+ },
899
+ "frequency_type"=>"EVERY_MONTH",
900
+ "memo"=>"Payment to card ending 9990",
901
+ "pay_from_account"=>"fd52bf51f0354335e634940139a006ef91d7e789c665857e9821656d18e7d012",
902
+ "payee"=>{
903
+ "account_number"=>"1271243682221748",
904
+ "address"=>{
905
+ "city"=>"San Francisco",
906
+ "state"=>"CA",
907
+ "street"=>"4047 Market St.",
908
+ "zipcode"=>"94110"
909
+ },
910
+ "email"=>"example@email.com",
911
+ "entity_type"=>"BUSINESS",
912
+ "name"=>"JP Morgan Chase",
913
+ "nickname"=>"Payment to Joe's United card",
914
+ "phone_number"=>"3260578586"
915
+ },
916
+ "start_date"=>"2017-10-05"
917
+ }
918
+ ],
919
+ @transaction_analysis={
920
+ "bank_fees"=>[
921
+ {
922
+ "avg_amount"=>3.75,
923
+ "avg_days_between_fees"=>35.0,
924
+ "avg_monthly_amount"=>3.75,
925
+ "days"=>35.0,
926
+ "fee"=>"ATM",
927
+ "fee_frequency_per_month"=>1.0
928
+ },
929
+ {
930
+ "avg_amount"=>362.5,
931
+ "avg_days_between_fees"=>3.0,
932
+ "avg_monthly_amount"=>3443.74,
933
+ "days"=>393.0,
934
+ "fee"=>"Wire",
935
+ "fee_frequency_per_month"=>12.2
936
+ }
937
+ ],
938
+ "cash"=>{
939
+ "cash_in"=>{
940
+ "avg_days_between_deposits"=>60.0,
941
+ "avg_deposit"=>500.31,
942
+ "avg_deposits_per_month"=>2.1,
943
+ "avg_monthly_deposit"=>875.54,
944
+ "days"=>361.0
945
+ },
946
+ "cash_out"=>{
947
+ "avg_days_between_withdrawals"=>14.2,
948
+ "avg_monthly_withdrawal"=>1677.96,
949
+ "avg_withdrawal"=>645.37,
950
+ "avg_withdrawals_per_month"=>3.2,
951
+ "days"=>356.0
952
+ }
953
+ },
954
+ "credit_cards"=>[
955
+ {
956
+ "avg_days_between_payments"=>10.0,
957
+ "avg_monthly_payment"=>810.56,
958
+ "avg_payment"=>311.76,
959
+ "avg_payments_per_month"=>2.8,
960
+ "days"=>120.0,
961
+ "issuer"=>"Citi"
962
+ },
963
+ {
964
+ "avg_days_between_payments"=>13.9,
965
+ "avg_monthly_payment"=>399.66,
966
+ "avg_payment"=>165.38,
967
+ "avg_payments_per_month"=>2.8,
968
+ "days"=>390.0,
969
+ "issuer"=>"Discover"
970
+ }
971
+ ],
972
+ "days"=>393.0,
973
+ "income_streams"=>[
974
+ {
975
+ "active"=>false,
976
+ "days"=>56.0,
977
+ "monthly_frequency"=>2.0,
978
+ "monthly_income"=>105.39,
979
+ "name"=>"THE COLLEGE OF NJ",
980
+ "period"=>14.0,
981
+ "period_income"=>63.24
982
+ }
983
+ ]
984
+ },
985
+ @email_match="match",
986
+ @name_match="no_match",
987
+ @phonenumber_match="no_match",
988
+ @balance="800.00",
989
+ @currency="USD",
990
+ @supp_id="",
991
+ @gateway_restricted=nil>
321
992
  ```
322
993
 
323
994
  #### Create ACH-US Node(s) via Bank Login
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synapse_pay_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 3.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Broderick
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-05-30 00:00:00.000000000 Z
12
+ date: 2017-06-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client