forked from activemerchant/active_merchant
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
3998 lines (3714 loc) · 228 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
= ActiveMerchant CHANGELOG
== HEAD
* Adyen: Update selectedBrand mapping for Google Pay [jcreiff] #4763
* Shift4: Add vendorReference field [jcreiff] #4762
== Version 1.128.0 (April 24th, 2023)
* CheckoutV2: Add support for Shipping Address [nicolas-maalouf-cko] #4755
* Element: Include Apple Pay - Google pay methods [jherrera] #4647
* dLocal: Add transaction query API(s) request [almalee24] #4584
* MercadoPago: Add transaction inquire request [molbrown] #4588
* Worldpay: Add transaction inquire request [molbrown] #4592
* Alelo: Adding homologation changes [heavyblade] #4590
* Adyen: Map standard error codes for `processing_error`, `config_error`, `invalid_amount`, and `incorrect_address` [ajawadmirza] #4593
* MerchantE: Add support for recurring transactions [naashton] #4594
* CyberSource: Add support for `discount_management_indicator`, `purchase_tax_amount`, `installment_total_amount`, and `installment_annual_interest_rate` fields. [rachelkirk] #4595
* Shift4: Remove `customer` from refund and `clerk` from store requests [ajawadmirza] #4596
* TransFirst Transaction Express: Update xml prefixing to be compatible with Nokogiri 1.13.4 [dsmcclain] #4582
* Iveri: Adding support for external MPI 3DS2 [heavyblade] #4598
* Credorax: Pass Network Transaction ID on MIT [jherreraa] #4600
* iVeri: Remove schema validation on Live requests [curiousepic] #4606
* Beanstream: Adding Third Party 3DS fields [heavyblade] #4602
* Borgun: Add support for 3DS preauth [ajawadmirza] #4603
* Cardstream: Add third party 3ds2 support [sainterman] #4570
* Accept both formats of Canadian routing numbers [molbrown] #4568
* DLocal: Add support for `original_order_id` [rachelkirk] #4605
* CheckoutV2: Add support for `merchant_initiated_transaction_id` [rachelkirk] #4611
* CardConnect: Add stored credential & pass any valid `ecomind` field [ajawadmirza] #4609
* Alelo: Trigger access token refresh on 404 [curiousepic] #4614
* DLocal: Add Network Tokens [gasb150] #4608
* Redsys: enable NTID generation with zero-value verify [jcreiff] #4615
* IPG: Add support for passing in `store_id` on transactions [aenand] #4619
* Adyen: Field support for Level 2 and level 3 information [sainterman] #4617
* Add alternate alpha2 country code for Kosovo [jcreiff] #4622
* CyberSource: Add support for several fields [rachelkirk] #4623
* Reach: adding gateway [cristian] #4618
* Orbital: integration improvements [molbrown] #4626
* iVeri: add new url [almalee24] #4630
* Payeezy: Enable Apple Pay support [naashton] #4631
* Payeezy: Scrub Cryptogram [naashton] #4633
* Checkout: Fix for `[:source][:stored]` in stored credentials [marioarranzr] #4629
* Mundipagg: send authorization_secret_key on all transaction types [edgarv09] #4635
* CommerceHub: Add new gateway [naashton] #4640
* CyberSource: Update installment data method [rachelkirk] #4642
* Element: fix bug with billing address email [jcreiff] #4644
* Openpay: set URL by merchant country [edgarv09] #4637
* Alelo: Improving credentials refresh process [heavyblade] #4616
* Decidir: Add transaction inquire request [almalee24] #4649
* EBANX: add soft_descriptor field [jcreiff] #4658
* CommerceHub: Add Apple Pay and Google Pay [gasb150] #4648
* Global Collect & Alelo: Fixing year dependent failing tests [heavyblade] #4665
* Moneris: Add Google Pay [sinourain] #4666
* Global Collect: Add transaction inquire request [almalee24] #4669
* Stripe PI: Add Level 3 support [almalee24] #4673
* Braintree: return additional processor response [jcreiff] #4653
* Payeezy: name from `billing_address` on `purchase` [naashton] #4674
* Stripe: add reverse_transfer to void transactions [jcreiff] #4668
* Global Collect: fix bug on transaction inquire request [almalee24] #4676
* Credorax: Support google pay and apple pay [edgarv09] #4661
* Plexo: Add support for 5 new credit card brands (passcard, edenred, anda, tarjeta-d, sodexo) [edgarv09] #4652
* Authorize.net: Google pay token support [sainterman] #4659
* Credorax: Add support for Network Tokens [jherreraa] #4679
* Stripe PI: use MultiResponse in create_setup_intent [jcreiff] #4683
* Credorax: Correct NTID logic for MIT transactions [aenand] #4686
* Adyen: Add support for `skip_mpi_data` flag [rachelkirk] #4654
* Add Canadian Institution Numbers [jcreiff] #4687
* Tns: update test URL [almalee24] #4698
* TrustCommerce: Update `authorization_from` to handle `store` response [jherreraa] #4691
* TrustCommerce: Verify feature added [jherreraa] #4692
* Rapyd: Add customer object to transactions [javierpedrozaing] #4664
* CybersourceRest: Add new gateway with authorize and purchase [heavyblade] #4690
* Litle: Add prelive_url option [aenand] #4710
* CommerceHub: Fixing verify status and prevent tokenization [heavyblade] #4716
* Payeezy: Update Stored Credentials [almalee24] #4711
* CheckoutV2: Add store/unstore [gasb150] #4712
* CybersourceREST - Refund | Credit [sinourain] #4700
* Braintree - Add Paypal custom fields [yunnydang] #4713
* BlueSnap - Add descriptor phone number field [yunnydang] #4717
* Braintree - Update transaction hash to include processor_authorization_code [yunnydang] #4718
* CyberSourceRest: Add apple pay, google pay [gasb150] #4708
* CybersourceREST - Void | Verify [sinourain] #4695
* Credorax: Set default ECI values for token transactions [sainterman] #4693
* CyberSourceRest: Add ACH Support [edgarv09] #4722
* CybersourceREST: Add capture request [heavyblade] #4726
* Paymentez: Add transaction inquire request [aenand] #4729
* Ebanx: Add transaction inquire request [almalee24] #4725
* Ebanx: Add support for Elo & Hipercard [almalee24] #4702
* CheckoutV2: Add Idempotency key support [yunnydang] #4728
* Adyen: Add support for shopper_statement field for capture [yunnydang] #4736
* CheckoutV2: Update idempotency_key name [yunnydang] #4737
* Payeezy: Enable external 3DS [jherreraa] #4715
* Ebanx: Remove default email [aenand] #4747
* CyberSourceRest: Add stored credentials support [jherreraa] #4707
* Payeezy: Add `last_name` for `add_network_tokenization` [naashton] #4743
* Stripe PI: Tokenize payment method at Stripe for `verify` [aenand] #4748
* Kushki: Add support for the months and deferred fields [yunnydang] #4752
* Borgun: Update TrCurrencyExponent for 3DS transactions with `ISK` [aenand] #4751
* CyberSourceRest: Add gateway specific fields handling [jherreraa] #4746
* IPG: Improve error handling [heavyblade] #4753
* Shift4: Handle access token failed calls [heavyblade] #4745
* Bogus: Add verify functionality [willemk] #4749
== Version 1.127.0 (September 20th, 2022)
* BraintreeBlue: Add venmo profile_id [molbrown] #4512
* Maestro: Adding missing BIN ranges [bradbroge] #4423
* Simetrik: Fix integer and float types, update scrub method [rachelkirk] #4405
* Credorax: Convert country codes for `recipient_country_code` field [ajawadmirza] #4408
* BlueSnap: Correctly parse `refund-transaction-id` [dsmcclain] #4411
* Worldpay: Add level II and level III data [javierpedrozaing] #4393
* Worldpay: extract `issuer_response_code` and `issuer_response_description` from gateway response [dsmcclain] #4412
* Vantiv: Support `duplicate` field read from saleResponse.duplicate attr [mashton] #4413
* Ogone: Add support for 3dsv2 [gasb150] #4410
* BlueSnap: Add support for stored credentials [ajawadmirza] #4414
* Monei: Add support for `lang` field [drkjc] #4421
* Wompi: Redirect `refund` to `void` [drkjc] #4424
* Rapyd: 3DS Support [naashton] #4422
* Adyen: Update API version [jherreraa] #4418
* Ogone: Updated home gateway URL [gasb150] #4419
* Credorax: Update url gateway and credit cards [javierpedrozaing] #4417
* Kushki: Pass extra_taxes with USD [therufs] #4426
* DLocal: fix bug with `X-Idempotency-Key` header [dsmcclain] #4431
* DLocal: Mark support for additional countries [gasb150] #4427
* Rapyd: Additional Fields [naashton] #4434
* Braintree: Return generated client token [BritneyS] #4416
* Simetrik: Update `audience` field [simetrik-frank] #4433
* CyberSource: Add bank account payment method support [heavyblade] #4428
* Rapyd: Zero Dollar Auth [naashton] #4435
* Rapyd: Scrub ACH [naashton] #4436
* VisaNet Peru: Update `purchase_number` [rachelkirk] #4437
* CardConnect: Add support for 3ds V2 [javierpedrozaing] #4429
* Rapyd: Support `store` and `unstore` [naashton] #4439
* Orbital: Update API version to 9.0 [gasb150] #4440
* Plexo: Add `meta_data` fields and reorder amount object in response [ajawadmirza] #4441
* Plexo: Change field name from `meta_data` to `metadata` [ajawadmirza] #4443
* Simetrik: Update `vat` to be in cents [simetrik-frank] #4425
* Cybersource: Handle Amex cryptograms [heavyblade] #4445
* Rapyd: Pass fields to `refund` and `store` [naashton] #4449
* VPOS: Allow reuse of encryption key [therufs] #4450
* Orbital: Add `payment_action_ind` field and refund through credit card to support tandem implementation [ajawadmirza] #4420
* Airwallex: Send `referrer_data` on setup transactions [drkjc] #4453
* Adyen and StripPI: Updated error messaging [mbreenlyles] #4454
* Airwallex: Update `referrer_data` field [drkjc] #4455
* Simetrik: Update `order_id` and `description` to be top level fields [simetrik-frank] #4451
* Plexo: Update `ip`, `description`, and `email` fields request format and scrub method to not filter cardholder name and reference id [ajawadmirza] #4457
* Plexo: Update `verify` implementation and add `verify_amount` field [ajawadmirza] #4462
* Vanco: Update `purchase` to complete a purchase transaction with an existing session id [BritneyS] #4461
* Authorize.net: Allow custom verify_amount and validate it [jherreraa] #4464
* Shift4: Add gateway adapter [ali-hassan] #4415
* Rapyd: Correctly add `billing_address` [naashton] #4465
* Credorax: Update processor response messages [jcreiff] #4466
* Shift4: add `customer_reference`, `destination_postal_code`, `product_descriptors` fields and core refactoring [ajawadmirza] #4469
* Paypal Express: Add checkout status to response object [mbreenlyles] #4467
* Shift4: Scrub security code [naashton] #4470
* Shift4: Update `cardOnFile` transaction requests [ajawadmirza] #4471
* Plexo: Update `success_from` definition [ajawadmirza] #4468
* Rapyd: Un-nest the payment urls [naashton] #4472
* Paypal Express: Correct naming mistake for accessor [mbreenlyles] #4473
* GlobalCollect: Enable Google Pay and Apple Pay [gasb150] #4388
* Shift4: $0 auth [naashton] #4474
* CyberSource: Updatie API version to 1.198 and fix 3DS test [cristian] #4456
* Shift4: add `store` method, `present` field in card, and to pass amount in cents [ajawadmirza] #4475
* Shift4: add `3ds2` implementation [ajawadmirza] #4476
* Shift4: update `success_from` definition to consider response code [ajawadmirza] #4477
* Rapyd: Customer Object [naashton] #4478
* Shift4: Verify Endopint Fix [naashton] #4479
* CheckoutV2: Scrub cryptogram and credit card number [ajawadmirza] #4488
* CheckoutV2: Add `3ds.status` field to send status of 3DS flow of all 3DS transactions [BritneyS] #4492
* CheckoutV2: Add `challenge_indicator`, `exemption`, `authorization_type`, `processing_channel_id`, and `capture_type` fields [ajawadmirza] #4482
* Add `mada` card type and associated BINs; add support for `mada` in CheckoutV2 gateway [dsmcclain] #4486
* Authorize.net: Refactor custom verify amount handling [jherreraa] #4485
* EBANX: Change amount for Colombia [flaaviaa] #4481
* Worldpay: Update `required_status_message` and `message_from` methods for response. [rachelkirk] #4493
* CheckoutV2: Add support for transactions through OAuth [ajawadmirza] #4483
* Vanco: Update unit test to remove remote call to gateway [ajawadmirza] #4497
* Shift4: remove support for 3ds2 [ajawadmirza] #4503
* Rapyd: Add support for stored credential [ajawadmirza] #4487
* MerchantE: Update `store` and add `verify` method [ajawadmirza] #4507
* Shift4: Add default `numericId`, add `InterfaceVersion`, `InterfaceName`, and `CompanyName` header fields, change date time format and allow merchant time zone [ajawadmirza] #4509
* BraintreeBlue: Add support for partial capture [aenand] #4515
* Rapyd: Change key name to `network_transaction_id` [ajawadmirza] #4514
* CyberSource: Handle unsupported Network Token brands [heavyblade] #4500
* Ingenico(Global Collect): Add support for `payment_product_id` [rachelkirk] #4521
* Adyen: Add network transaction id to store call [jcreiff] #4522
* Worldpay: Add machine cookie to subsequent calls during 3DS challenge [mbreenlyles] #4513*
* Shift4: Scrub `securityCode` fix [naashton] #4524
* Credorax: Update `OpCode` for credit transactions [dsmcclain] #4279
* CheckoutV2: Add `credit` method [ajawadmirza] #4490
* Stripe Payment Intents: Add `options` for retrieve_setup_intent [aenand] #4529
* CheckoutV2: Send payment id via `incremental_authorization` field [ajawadmirza] #4518
* Shift4: Add card `present` field, use previous transaction authorization for capture, and hardcode header values [ajawadmirza] #4528
* Orbital: Remove `DPANInd` field for RC transactions [ajawadmirza] #4502
* EBANX: Add Spreedly tag to payment body [flaaviaa] #4527
* Shift4: Add `expiration_date` field for refund transactions [ajawadmirza] #4532
* Improve handling of AVS and CVV Results in Multiresponses [gasb150] #4516
* Airwallex: Add `skip_3ds` field for create payment transactions [ajawadmirza] #4534
* Shift4: Typo correction for `initial_transaction` [ajawadmirza] #4537
* Rapyd: Pass Customer ID and fix `add_token` method [naashton] #4538
* Shift4: If no timezone is sent on transactions, the code uses the hours and minutes as a timezone offset [ali-hassan] #4536
* Priority: Add support for general credit and updating cvv and zip [priorityspreedly] #4517
* Worldpay: Update actions for generated message in `required_status_message` method [rachelkirk] #4530
* Adyen: Modify handling of countryCode for ACH [jcreiff] #4543
* CardConnect: update api end-point urls [heavyblade] #4541
* Vantiv(Litle): Add support for `fraudFilterOverride` field [rachelkirk] #4544
* Stripe: Add shipping address [jcreiff] #4539
* PayuLatam: Add extra1, extra2, extra3 fields [jcreiff] #4550
* Paysafe: Add fundingTransaction object [jcreiff] #4552
* MerchantE: Add tests for `moto_ecommerce_ind` field [ajawadmirza] #4554
* Plexo: Update `purchase` method, add flags for header fields, add new fields `billing_address`, `identification_type`, `identification_value`, and `cardholder_birthdate` [ajawadmirza] #4540
* Rapyd: Remove `BR`, `MX`, and `US` from supported countries [ajawadmirza] #4558
* Stripe Payment Intents: fix bug with billing address email [jcreiff] #4556
* Shift4: Add customer to `purchase` & `store` and remove transaction from `store` [ajawadmirza] #4557
* MerchantE: only add `moto_commerce_ind` to request if it is present [ajawadmirza] #4560
* Add BpPlus card type along with custom validation logic [dsmcclain] #4559
* PayTrace: Support ACH implementation for new endpoints and request body [ajawadmirza] #4545
* Rapyd: No force capture for ACH [naashton] #4562
* Shift4: Applied checks on Shift4 Time/Timezone offset [ali-hassan] #4561
* Alelo: Add gateway [heavyblade] #4555
* Wompi: Allow partial refund amount on void_sync [jcreiff] #4535
* Shift4: Timezone Offset [naashton] #4566
* MerchantE: `recurring_pmt_num` and `recurring_pmt_count` fields [ali-hassan] #4553
* Orbital: Add South African Rand to supported currencies [molbrown] #4569
* Orbital: Fix CardSecValInd [molbrown] #4563
* Shift4: Add `usage_indicator`, `indicator`, `scheduled_indicator`, and `transaction_id` fields [ajawadmirza] #4564
* Shift4: Retrieve `access_token` once [naashton] #4572
* Redsys: Update Base64 encryption handling for secret key [jcreiff] #4565
* Shift4: refuse `postalCode` when its null [ajawadmirza] #4574
* Plexo: Update param key to `refund_type` [ajawadmirza] #4575
* Shift4: Update request params for `verify`, `capture`, and `refund` [ajawadmirza] #4577
* CyberSource: Add support for `sec_code` [rachelkirk] #4581
* BraintreeBlue: Correctly vault payment method token for PayPal Checkout with Vault [almalee24] #4579
* BpPlus: Allow spaces in card number [ajawadmirza] #4585
* Shift4: Decline referral transactions and parse message for internal server errors [ajawadmirza] #4583
* Litle: Update homepage_url [gasb150] #4491
* Priority: Update credential handling [therufs] #4571
* Shift4: Fix authorization and remove `entryMode` from verify and store transactions [ajawadmirza] #4589
== Version 1.126.0 (April 15th, 2022)
* Moneris: Add 3DS MPI field support [esmitperez] #4373
* StripePI: Add ability to change payment_method_type to confirm_intent [aenand] #4300
* GlobalCollect: Improve support for Naranja and Cabal card types [dsmcclain] #4286
* Payflow: Add support for stored credentials [ajawadmirza] #4277
* Orbital: Don't void $0 auths for Verify [javierpedrozaing] #2487
* StripePI: Enable Apple Pay and Google Pay payment methods [gasb150] #4252
* PaySafe: Update `unstore` method and authorization for redact [ajawadmirza] #4294
* CyberSource: Add `national_tax_indicator` fields in authorize and purchase [ajawadmirza] #4299
* NMI: Update gateway credentials to accept security_key [javierpedrozaing] #4302
* PaySafe: Fix commit for `unstore` method [ajawadmirza] #4303
* Ebanx: Add support for `order_number` field [ali-hassan] #4304
* BlueSnap: Add support for `idempotency_key` field [drkjc] #4305
* Paymentez: Update `capture` method to verify by otp for pending transactions [ajawadmirza] #4267
* BlueSnap: Update refund request and endpoint along with merchant transaction support [ajawadmirza] #4307
* DecidirPlus: Added `authorize`, `capture`, `void`, and `verify` methods [ajawadmirza] #4284
* Paymentez: Fix `authorize` to call `purchase` for otp flow [ajawadmirza] #4310
* Orbital: Indicate support for network tokenization [dsmcclain] #4309
* IPG: remove `uruguay` from supported countries [ajawadmirza] #4311
* Decidir: Add sub_payments sub-fields to gateway [meagabeth] #4315
* Priority: Add additional fields to purchase and capture requests [dsmcclain] #4301
* DecidirPlus: Added `unstore` method [ajawadmirza] #4317
* Decidir & Decidir Plus: Revise handling of `sub_payment` sub-fields [meagabeth] #4318
* DecidirPlus: Update `unstore` implementation to get token from params [ajawadmirza] #4320
* CyberSource: Add option for zero amount verify [gasb150] #4313
* PayU Latam: Refactor `message_from` method, fix failing remote tests [rachelkirk] #4326
* Adyen: Add currencies with three decimals places [gasb150] #4322
* GlobalCollect: Stregthen success criteria for void action [peteroas] #4324
* Priority Payment Systems - Clean up/refactor gateway file and tests [ali-hassan] #4327
* SafeCharge: change `verify` to send 0 amount [dsmcclain] #4332
* DLocal: add support for `force_type` field [dsmcclain] #4336
* Barclaycard SmartPay: Support more nonstandard currencies [jherreraa] #4335
* DecidirPlus: `name_override` option on `store` [naashton] #4338
* Priority: Update `add_purchases_data` to return if `options[:purchases]` is empty [drkjc] #4349
* Stripe PI: update `shipping` field to `shipping_address` [ajawadmirza] #4347
* DecidirPlus: Handle `payment_method_id` by `card_brand` [naashton] #4350
* DecidirPlus: `debit` and `payment_method_id` fields [naashton] #4351
* Adyen: Include Application ID in adyen authorize and purchase transactions [peteroas] #4343
* Priority: Add support for `replay_id` field [drkjc] #4352
* Stripe PI: standardize `shipping_address` fields [dsmcclain] #4355
* Airwallex: support gateway [therufs] #4342
* Litle: Translate google_pay as android_pay [javierpedrozaing] #4331
* Braintree: Add ACH support for store [cristian] #4285
* Simetrik: Add support for Simetrik gateway [simetrik-frank] #4339
* EBANX: Change amount for Mexico and Chile [flaaviaa] #4337
* DecidirPlus: Add `establishment_name`, `aggregate_data`, `sub_payments`, `card_holder_identification_type`, `card_holder_identification_number`, `card_door_number`, and `card_holder_birthday` fields [ajawadmirza] #4361
* DecidirPlus: Update `error_code_from` to get error reason id [ajawadmirza] #4364
* Dlocal: Add three_ds mpi support [cristian] #4345
* Stripe PI: Add `request_three_d_secure` field for `create_setup_intent` [aenand] #4365
* Adyen: Add `verify_amount` field for verify [ajawadmirza] #4369
* Stripe PI: Pass options for tokenizing Apple/Google Pay [gasb150] #4368
* Dlocal: Format 3DS mpi enrollment data correctly [cristian] #4371
* Airwallex: QA fixes for option handling [therufs] #4367
* CardConnect: Fixed duplicate(concat) Address sent - card_connect is concat. address1 and 2 causing a AVS error [ahmirza] #4362
* CyberSource: Remove Pinless Debit Transaction Functionality [peteroas] #4370
* Litle: Add support for Level 2 and 3 enhanced data [curiousepic] #4360
* Rapyd: Add gateway support [meagabeth] #4372
* CyberSource: Update and fix test coverage [peteroas] #4374
* Airwallex: QA fixes for address and create_setup_intent handling [therufs] #4377
* Airwallex: add `descriptor` field and update logic for sending `request_id` and `merchant_order_id` [dsmcclain] #4379
* Visanet Peru: use timestamp instead of random for purchaseNumber [therufs] #4093
* Orbital: add `verify_amount` field [ajawadmirza] #4376
* Credorax: add `recipient_street_address`, `recipient_city`, `recipient_province_code`, and `recipient_country_code` fields [ajawadmirza] #4384
* Airwallex: add support for stored credentials [drkjc] #4382
* Rapyd: Add metadata and ewallet_id options [naashton] #4387
* Priority: Add additional fields to request and refactor gateway integration [dsmcclain] #4383
* Rapyd: Update `type` option to `pm_type` [naashton] #4391
* Conekta: Fix remote test [javierpedrozaing] #4386
* NMI: Update post URL [jherreraa] #4380
* Multiple Gateways: Resolve when/case bug [naashton] #4399
* Airwallex: Add 3DS MPI support [drkjc] #4395
* Add Cartes Bancaires card bin ranges [leahriffell] #4398
* Airwallex: Add support for `original_transaction_id` field [drkjc] #4401
* Securion Pay: Pass external 3DS data [jherreraa] #4404
* Airwallex: Update Stored Credentials testing, remove support for `original_transaction_id` field [drkjc] 4407
== Version 1.125.0 (January 20, 2022)
* Wompi: support gateway [therufs] #4173
* Stripe Payment Intents: Add setup_purchase [aenand] #4178
* Ipg: Add new gateway [ajawadmirza] #4171
* Worldpay: Adding support for google pay and apple pay [cristian] #4180
* Worldpay: Adding scrubbing for network token transactions [cristian] #4181
* SafeCharge: Add sg_NotUseCVV field [ajawadmirza] #4177
* PayULatam: Correctly map maestro and condensa card types [dsmcclain] #4182
* StripePaymentIntents: Refactor response for setup_purchase [aenand] #4183
* Wompi: cast error messages to JSON [therufs] #4186
* NMI: Omit initial_transaction_id for CIT [aenand] #4189
* Priority: Support Priority Payment Systems gateway [jessiagee] #4166
* GlobalCollect: Support for Lodging Data [naashton] #4190
* IPG: Add support for sub-merchant and recurring type fields [ajawadmirza] # 4188
* Wompi: Support `installments` option [therufs] #4192
* Stripe PI: add support for `fulfillment_date` and `event_type` [dsmcclain] #4193
* Paysafe: Adjust logic for sending 3DS field [meagabeth] #4194
* Priority: Fix unit test cases [ajawadmirza] #4195
* EBANX: New Gateway Specific Receiver [spreedly-kledoux] #4198
* Wompi: Don't send CVV field if no CVV provided [therufs] #4199
* Worldpay: cleaning order_id according to worldpay rules [cristian] #4197
* Paysafe: Concatenate credentials for headers [meagabeth] #4201
* Stripe Payment Intents: Add metadata to setup_purchase [aenand] #4202
* Priority: Add gateway standard changes [ajawadmirza] #4200
* IPG: Add support for payment by token [ajawadmirza] #4191
* Element (Vantiv Express): Add support for general credit [dsmcclain] #4203
* Worldpay: Update supported countries list, currencies [jherreraa] #4207
* StripePI: Adding countries available. [gasb150] #4208
* Orbital: Adding google pay payment tests for Orbital. [ajawadmirza] #4205
* Bug: Fixing supported countries method when there is inheritance involved [cristian] #4211
* Mundipagg: Update success method [ajawadmirza] #4210
* Worldpay: Add support for Visa Direct Fast Funds Credit [dsmcclain] #4212
* Paysafe: Add support for stored credentials [meagabeth] #4214
* Worldpay: Adding missing countries to supported countries [cristian] #4213
* Update institution numbers for Canadian banks [therufs] #4216
* Worldpay: Set default eCommerce indicator for EMVCO network tokens [shasum] #4215
* Update handling routing numbers for Canadian banks [therufs] #4217
* Stripe: API version updated [jherreraa] #4209
* Mercado Pago: Update verify method [ajawadmirza] #4219
* DLocal: Set API Version [gasb150] #4222
* Wompi: Add support for Authorize and Capture [rachelkirk] #4218
* Priority: Update source and billing address checks [jessiagee] #4220
* Pin Payments: Add support for `diners_club`, `discover`, and `jcb` cardtypes [montdidier] #4142
* USA ePay: Add store method [ajawadmirza] #4224
* IPG: Quick fix to remove warning [ajawadmirza] #4225
* Remove YAML warning on load_fixtures_method [jherreraa] #4226
* Worldpay: Add support for tokenizing payment methods with transaction identifiers [dsmcclain] #4227
* USA ePay: Update implementation to send valid authorization [ajawadmirza] #4231
* USA ePay: Add store test, update authorize param [jessiagee] #4232
* Stripe: Update destination test account [jherreraa] #4234
* Add skip_response option on request check for commit stubs [cristian] #4223
* Pin Payments: Add support for `void` and New Zealand to supported countries. [montdidier] #4144
* Wompi: Update authorization in `capture` method. [rachelkirk] #4238
* IPG: Update authorization to support `store` method token. [ajawadmirza] #4233
* Paymentez: Update card mappings [ajawadmirza] #4237
* Priority: Update parsing for error messages [jessiagee] #4245
* GlobalCollect: Support for Airline Data [naashton] #4187
* IPG: Add `tpv_error_code` and `tpv_error_msg` fields [ajawadmirza] #4241
* StripePI: Set restriction for Apple/Google Pay [jherreraa] #4247
* Cashnet: support multiple itemcodes and amounts [peteroas] #4243
* IPG: Send default currency in `verify` and two digit `ExpMonth` [ajawadmirza] #4244
* Stripe: Add remote tests set up to avoid exceed the max external accounts limit [jherreraa] #4239
* Stripe: Add support for `radar_options: skip_rules` [dsmcclain] #4250
* CyberSource: Add `user_po`, `taxable`, `national_tax_indicator`, `tax_amount`, and `national_tax` fields [ajawadmirza] #4251
* Kushki: Add support for `metadata` [rachelkirk] #4253
* IPG: Add `redact` operation [ajawadmirza] #4254
* Wompi: Update sandbox and production endpoints [rachelkirk] #4255
* Orbital: Add `sca_merchant_initiated` operation [ajawadmirza] #4256
* Cashnet: convert amounts to integers for proper gateway handling [peteroas] #2207
* PayTrace: Add `unstore` operation [ajawadmirza] #4262
* Decidir Plus: Add gateway adapter [naashton] #4264
* CheckoutV2: Add support for Apple Pay and Google Pay tokens [AMHOL] #4235
* Decidir Plus: Update payment reference [naashton] #4271
* Paysafe: Update redact method [meagabeth] #4269
* CyberSource: Add `line_items` field in authorize method [ajawadmirza] #4268
* CheckoutV2: Support processing channel and marketplace sub entity ID [AMHOL] #4236
* Elavon: `third_party_token` bug fix [rachelkirk] #4273
* Decidir Plus: Add `sub_payments` field [naashton] #4274
* Pin Payments: Add `unstore` support [montdidier] #4276
* Orbital: Add support for $0 verify [javierpedrozaing] #4275
* Update inline documentation with all supported cardtypes [ali-hassan] #4283
* PayWay: Update endpoints, response code [jessiagee] #4281
* CyberSource: Add `line_items` for purchase [ajawadmirza] #4282
* Payflow Pro: Add `stored_credential` fields [ajawadmirza] #4277
* Decidir Plus: Add `fraud_detection` fields [naashton] #4289
== Version 1.124.0 (October 28th, 2021)
* Worldpay: Add Support for Submerchant Data on Worldpay [almalee24] #4147
* dlocal: Add device_id and ip to payer object and add additional_data [aenand] #4116
* Adyen: Add network tokenization support to Adyen gateway [mymir] #4101
* Adyen: Add ACH Support [almalee24] #4105
* Moka: Support 3DS endpoint and update test url [dsmcclain] #4110
* Paysafe: Adjust profile data [meagabeth] #4112
* Stripe Payment Intents: Add support for claim_without_transaction_id field [BritneyS] #4111
* Mit: Add New Gateway [EsporaInfra] #3820
* Routex: add card type [rachelkirk] #4115
* Orbital: Scrub Payment Cryptogram [naashton] #4121
* Paysafe: Add support for airline fields [meagabeth] #4120
* Stripe and Stripe PI: Add Radar Session Option [tatsianaclifton] #4119
* PayArc: Fix billing address nil and phone_number issues [dsmcclain] #4114
* Routex: Update BIN numbers [rachelkirk] #4123
* UnionPay: Add Stripe's UnionPay test card to UnionPay BIN range #4122
* GlobalCollect: Support URL override [naashton] #4127
* PayConex: scrub bank account info from transcripts [mbreenlyles] #4128
* Moka: Remove additional transaction data from subsequent calls [naashton] #4129
* Moka: Ensure CvcNumber can be an empty string [jessiagee] #4130
* Maestro: Allow more card lengths for Luhnless bins [therufs] #4131
* Paysafe: Update supported countries [meagabeth] #4135
* Paysafe: Update field mapping for split_pay [meagabeth] #4136
* SafeCharge: Add handling for non-fractional currencies [dsmcclain] #4137
* CardStream: Support passing country_code in request [dsmcclain] #4139
* Adyen: Adjust phone number mapping [aenand] #4138
* Mit: Change how parameters are converted to JSON [tatsianaclifton] #4140
* Stripe: Add account_number to scrubbing [aenand] #4145
* Stripe PI: add name on card to billing_details [dsmcclain] #4146
* TrustCommerce: Scrub bank account info [mbreenlyles] #4149
* TransFirst: Scrub account number [aenand] #4152
* Paysafe: Update supported countries list [meagabeth] #4154
* dLocal: Update supported countries list [mbreenlyles] #4155
* SafeCharge: Add support for email field in capture [rachelkirk] #4153
* Paysafe: Remove invalid code [meagabeth] #4156
* NMI: Add descriptor fields [ajawadmirza] #4157
* Authorize.net: Add tests for scrubbing banking account info (in addition to BluePay, BridgePay, Forte, HPS, and Vanco Gateways)[aenand] #4159
* Moka: Send refund amount with decimal [dsmcclain] #4160
* GlobalCollect: Append URI to the URL [naashton] #4162
* Adyen: Add application info fields [aenand] #4163
* Adyen: Send NTID from stored cred hash [curiousepic] #4164
* Payflow: use proper case for 3DS 2.x element names [bbraschi] #4113
* Realex: Add support for stored credentials [dsmcclain] #4170
* Moka: Add support for InstallmentNumber field [dsmcclain] #4172
* Payflow: include AuthenticationStatus for 3DS 2.x [bbraschi] #4168
== Version 1.123.0 (September 10th, 2021)
* Paysafe: Add gateway integration [meagabeth] #4085
* Elavon: Support recurring transactions with stored credentials [cdmackeyfree] #4086
* Orbital: Truncate three_d_secure[:version] [carrigan] #4087
* Credorax: Determine ISK decimal by datetime [curiousepic] #4088
* Moka: support new gateway type [dsmcclain] #4089
* Paymentez: Add more_info field [reblevins] #4091
* Worldpay: Support $0 auth [therufs] #4092
* Elavon: Support recurring transactions with token, revert stored credentials recurring [cdmackeyfree] #4089
* SafeCharge(Nuvei): Add support for product_id [rachelkirk] #4095
* NMI: Change cardholder_auth 3DS field population [carrigan] #4094
* Synchrony: add card type [therufs] #4096
* Maestro: support BINs without Luhn check [therufs] #4097
* Maestro: support BINs [therufs] #4098
* Redsys: Route MIT Exemptions to webservice endpoint [curiousepic] #4081
* Adyen: Update Classic Integration API to v64 and Recurring API to v49 [almalee24] #4090
* Payeezy: support soft_descriptor and merchant_ref [cdmackeyfree] #4099
* Elavon: add ssl_token field [cdmackeyfree] #4100
* Credorax: Remove special logic for ISK [curiousepic] #4102
* UnionPay: Pull UnionPay's 62* BIN ranges out of Discover's #4103
* Monei: Update Creation of Billing Details [tatsianaclifton] #4107
* Monei: Typo Correction on Billing Details [tatsianaclifton] #4108
* Paysafe: Add support for 3DS [meagabeth] #4109
== Version 1.122.0 (August 3rd, 2021)
* Orbital: Correct success logic for refund [tatsianaclifton] #4014
* usaepay: Added pin gateway setting [DustinHaefele] #4026
* MercadoPago: Added external_reference, more payer object options, and metadata field [DustinHaefele] #4020
* Element: Add duplicate_override_flag [almalee24] #4012
* PayTrace: Support gateway [meagabeth] #3985
* vPOS: Support credit + refund [therufs] #3998
* PayArc: Support gateway [senthil-code] #3974
* NMI: Support cardholder_auth field for 3DS2 [cdmackeyfree] #4002
* Confiable: Support cardtype [therufs] #4004
* Maestro: Add BIN [therufs] #4003
* PayULatam: Ensure phone number is pulled from shipping_address correctly [dsmcclain] #4005
* SafeCharge: Add challenge_preference for 3DS [klaiv] #3999
* Adyen: Pass networkTxReference in all transactions [naashton] #4006
* Adyen: Ensure correct transaction reference is selected [dsmcclain] #4007
* PayTrace: Support level_3_data fields [meagabeth] #4008
* BluePay: Add support for Stored Credentials [dsmcclain] #4009
* Orbital: Add support for SCARecurringPayment [jessiagee] #4010
* Braintree: Support recurring_first and moto reasons [curiousepic] #4013
* PayTrace: Adjust capture method [meagabeth] #4015
* BarclaysEpdqExtraPlus: updated custom_eci test + remote tests [yyapuncich] #4022
* CyberSource: Add customerID field [deemeyers] #4025
* CyberSource: Adjust Auth [naashton] #3956
* Valid Canadian Institution Numbers [naashton] #4024
* PayTrace: Adjust purchase and capture methods to handle MultiResponse scenarios [meagabeth] #4027
* Payflow: Add support for MERCHDESCR field [rachelkirk] #4028
* PayTrace: Support $0 authorize in verify method [meagabeth] #4030
* PayArc: Add error_code in response [cdm-83] #4021
* Update bank routing account validation check [jessiagee] #4029
* Kushki: Add 'contactDetails' fields [mbreenlyles] #4033
* Adyen: Truncating order_id and remote test [yyapuncich] #4036
* CyberSource: Allow string content for Ignore AVS/CVV flags [curiousepic] #4043
* Decidir: Update validation error message handling [arbianchi] #4042
* Authorize.net: Remove cardholderAuthentication for non-3DS transactions [BritneyS] #4045
* BlueSnap: Handle 429 errors [britth] #4044
* Orbital: Update unit test files [meagabeth] #4046
* Orbital: Strip null characters from responses [britth] #4041
* Merchant Warrior: Handle invalid XML responses [arbianchi] #4047
* Braintree: Fix NoMethodError for failed card verification [molbrown] #4048
* Worldpay: Accepting 3DS1 and 3DS2 authentication data from external MPI [chandan-PS] #4017
* PayArc: Currency and parameters updates [jessiagee] #4051
* Elavon: Add support for special characters [mbreenlyles] #4049
* PayArc: Formatting CC month, adding tax_rate, removing default void reason [jessiagee] #4053
* Kushki: Add support for fullResponse field [rachelkirk] #4057
* Element: Add support for `MerchantDescriptor` field [BritneyS] #4058
* PayArc: Added email and phone to credit and charge [jessiagee] #4056
* Mundipagg: Added support for 'authentication_secret_key' for 'api_key' overwrite [DustinHaefele] #4059
* Payflow: Raise an error if store method is called [dsmcclain] #4066
* Monei: JSON API implementation [jimmyn] #3613
* Maestro: Update BINs [therufs] #4067
* Monei: Change domain to monei.com [jimmyn] #4068
* Spreedly: Support gateway_specific_response_fields in response params [abarrak] #4064
* Payeezy: Add support for `add_soft_descriptors` [rachelkirk] #4069
* Stripe Payment Intents: Add support for network_transaction_id field [cdmackeyfree] #4060
* Worldpay: Support 'CAPTURED' response for authorize transactions [naashton] #4070
* Ingenico (Global Collect): New idempotence key header [BritneyS] #4073
* PayTrace: Adjust handling of line_items subfields [meagabeth] #4074
* Worldpay: Correct Expiration Year Format [tatsianaclifton] #4076
* Monei: Improve Scrub Regex [tatsianaclifton] #4072
* Payflow: add THREEDSVERSION and DSTRANSACTIONID when present [bbraschi] #4075
* CT Payments: update remote tests [cdmackeyfree] #3947
* Orbital: Ensure full e-check scrubbing [mbreenlyles] #4079
== Version 1.121 (June 8th, 2021)
* Braintree: Lift restriction on gem version to allow for backwards compatibility [naashton] #3993
* Payment Express/Windcave: Send amount on verify calls [cdmackeyfree] #3995
* Orbital: Use billing_address name as fallback [curiousepic] #3966
* vPOS: handle shop_process_id correctly [therufs] #3996
* Checkout v2: Support metadata field [saschakala] #3992
* Adyen: Support networkTxReference field [naashton] #3997
* Paypal Express: Enable PayPal express reference transaction request to send merchant session id [janees-e] #3994
== Version 1.120.0 (May 28th, 2021)
* Braintree: Bump required braintree gem version to 3.0.1
* Stripe PI: ensure `setup_future_sage` and `off_session` work when using SetupIntents.
* Orbital: Update commit to accept retry_logic in params [jessiagee] #3890
* Orbital: Update remote 3DS tests [jessiagee] #3892
* Mercado Pago: support Creditel card type [therufs] #3893
* Payeezy: Update error mapping [meagabeth] #3896
* HPS: Add support for stored_credential [cdmackeyfree] #3894
* Orbital: Ensure payment_detail sends for ECP [jessiagee] #3899
* Payeezy: Update `error_code_from` method [meagabeth] #3900
* Worldpay: Add support for `statementNarrative` field [meagabeth] #3901
* Mercado Pago: Give ability to pass capture option in authorize txn field [naashton] #3897
* Orbital: Ensure correct fields sent in refund [jessiagee] #3903
* WorldPay: remove some defaults in billing address [carrigan] #3902
* Adyen: Support for General Credit [naashton] #3904
* Worldpay: reintroduce address1 and city defaults [carrigan] #3905
* Stripe: ensure potentially nested data is scrubbed #3907
* Stripe PI: Send Validate on Payment Method Attach [tatsianaclifton] #3909
* Adyen: Update handling of authorization returned from gateway [meagabeth] #3910
* Update gateway templates for Rubocop compliance [therufs] #3912 #3895
* Orbital: Send AVSname for all eCheck transactions [jessiagee] #3911
* Litle: update support of customerId field [cdmackeyfree] #3913
* Payment Express: fix signature for `verify` [therufs] #3914
* Forte: Send xdata fields [dsmcclain] #3915
* PaywayDotCom: Add New Gateway [DanAtPayway] #3898
* Orbital: Remove unnecessary requirements [jessiagee] #3917
* SafeCharge (Nuvei): Add network tokenization support [DStoyanoff] #3847
* Stripe PI: Enhance testing of SetupIntents API #3908
* SafeCharge (Nuvei): Fix NT related bug [jimilpatel24] #3921
* Worldpay: Only override cardholdername for 3ds tests [curiousepic] #3918
* Orbital: Add support for general credit [meagabeth] #3922
* Banco Sabadell: Ensure sca_exemption field is used #3923
* Redsys: Refactor XML character escape logic #3925
* HPS: Strip zip codes of non-alphanumeric characters [dsmcclain] #3926
* Orbital: $0 PreNote using authorize for eCheck force_capture [jessiagee] #3927
* Worldpay: synchronous response changes [naashton] #3928
* PaywayDotCom: Add more thorough scrubbing [tatsianaclifton] #3929
* Remove CONTRIBUTING.md and update README.md to reflect new repository wiki [dsmcclain] #3930
* Qvalent: Add customer_reference_number [fredo-] #3931
* Orbital: Add 'ND' ECPActionCode to $0 Prenote Check [jessiagee] #3935
* Checkout: Add support for stored_credential [meagabeth] #3934
* Credorax: Add support for 3ds_reqchallengeind [dsmcclain] #3936
* Adyen: cancelOrRefund endpoint when passed as option [naashton] #3937
* Qvalent: Add customer reference number FIX [fredo-] #3939
* Orbital: Pass line_items in capture [jessiagee] #3941
* BraintreeBlue: Add support for $0 auth verification [meagabeth] #3944
* JCB: Add additional BIN ranges [dsmcclain] #3946
* vPOS: Support new gateway type [therufs] #3906
* Braintree: Add support for AVS and CVV results in $0 credit card verification transactions [meagabeth] #3951
* Braintree: Return cvv_code and avs_code in response [meagabeth] #3952
* vPOS: Stringify values [therufs] #3954
* Payeezy: Send level2 fields [dsmcclain] #3953
* Credorax: adjust logic for sending 3ds shipping address fields [dsmcclain] #3959
* Orbital: Ensure ECP always sends AVSName [jessiagee] #3963
* Orbital: Add middle name to EWSMiddleName for ECP [jessiagee] #3962
* Support Canadian Bank Accounts [naashton] #3964
* Windcave/Payment Express: Add support for AvsAction and EnableAVSData fields [meagabeth] #3967
* CyberSource: Update XML tag for merchantDefinedData [meagabeth] #3969
* Elavon: Send ssl_vendor_id field [dsmcclain] #3972
* Credorax: Add support for `echo` field [meagabeth] #3973
* Worldpay: support cancelOrRefund via options [therufs] #3975
* Payeezy: support general credit [cdmackeyfree] #3977
* Ripley and Hipercard: Add BIN ranges [naashton] #3978
* Adyen: Default card holder name for credit cards [shasum] #3980
* PaywayDotCom: make `source_id` a required field [dsmcclain] # 3981
* Qvalent: remove `pem_password` from required credentials [dsmcclain] #3982
* Authorize.net: Fix stored credentials [tatsianaclifton] #3971
* CyberSource: Add support for multiple new fields [dsmcclain] #3984
* CASHNet: Update gateway adapter [dsmcclain] #3986
* Elavon: Send `ssl_vendor_id` field via options on gateway initialization [dsmcclain] #3989
== Version 1.119.0 (February 9th, 2021)
* Payment Express: support verify/validate [therufs] #3874
* GlobalCollect: Truncate address fields [meagabeth] #3878
* Litle: Truncate address fields [meagabeth] #3877
* Netbanx: Add-customer-information(name,email,IP)-to-a-transaction [rockyhakjoong] #3754
* Netbanx: Adjust the avs and cvv return code in shopify [rockyhakjoong] #3833
* Decidir: Improve error mapping [meagabeth] #3875
* Worldpay: support `skip_capture` [therufs] #3879
* Redsys: Add new response code text [britth] #3880
* Orbital: Update ECP details to use payment source [jessiagee] #3881
* Alelo: Add additional BIN ranges [meagabeth] #3882
* HPS: Update Add support for general credit [naashton] #3885
* Elavon: Fix issue with encoding data sent in the request [naashton] #3865
* Orbital: Update ECP to use EWS verification [jessiagee] #3886
* Eway: Add 3ds field when do direct payment [GavinSun9527] #3860
* Support Creditel cardtype [therufs] #3883
* Elavon: Remove ampersand char from fields [naashton] #3891
== Version 1.118.0 (January 22nd, 2021)
* Worldpay: Add support for challengeWindowSize [carrigan] #3823
* Adyen: Update capitalization on subMerchantId field [cdmackeyfree] #3824
* Maestro and Elo: Update BIN ranges [meagabeth] #3822
* HPS: Truncate invoice numbers that are too long [curiousepic] #3825
* Pass network_transaction_id attribute in Response [therufs] #3815
* Elavon: support standardized stored credentials [therufs] #3816
* Decidir: update fraud_detection field [cdmackeyfree] #3829
* Paymentez: Add Olimpica cardtype [meagabeth] #3831
* SafeCharge: 3DS external MPI data refinements [curiousepic] #3821
* Credorax: Add support for 3DS Adviser [meagabeth] #3834
* Adyen: Support subMerchant data [mymir][therufs] #3835
* Decidir: add device_unique_identifier to card data [cdmackeyfree] #3839
* BraintreeBlue: add support for account_type field [jimilpatel24] #3840
* Redsys: Add support for stored_credential [meagabeth] #3844
* Redsys: add_payment method solution [meagabeth] #3845
* Stripe Payment Intents: Add support for error_on_requires_action option [tatsianaclifton] #3846
* Add 3DS 2.0 values to paypal [nebdil] #3285
* Redsys: Update Mpi Fields [tatsianaclifton] #3855
* Paypal: Update AuthStatus3ds MPI field [curiousepic] #3857
* Orbital: Update 3DS support for Mastercard [meagabeth] #3850
* Payeezy: Support standardized stored credentials [therufs] #3861
* CyberSource: Update `billing_address` override [meagabeth] #3862
* Paymentez: Add 3DS MPI field support [carrigan] #3856
* BlueSnap: Add support `fraud-session-id` field [meagabeth] #3863
* BlueSnap: Update handling of `transaction-fraud-info` fields [meagabeth] #3866
* Payeezy: Allow no stored credential transaction id [therufs] #3868
* Orbital: eCheck processing added [ajawadmirza] #3870
* FirsdataE4V27: Fixes some apple pay transaction issues [pi3r] #3872
== Version 1.117.0 (November 13th)
* Checkout V2: Pass attempt_n3d along with 3ds enabled [naashton] #3805
* GlobalCollect: Add support for Third-party 3DS2 data [molbrown] #3801
* Authorize.net: Pass stored credentials [therufs] #3804
* Authorize.net: Don't pass isFirstRecurringPayment [therufs] #3805
* Litle: Add support for general credit transactions [naashton] #3807
* Redsys: Add 3DS2 Integration Support [esmitperez] #3794
* Cybersource: Use firstname/lastname from address instead of the payment method [pi3r] #3798
* Add MPI functionality for SafeCharge gateway [daniel] #3809
* SafeCharge: Standardize MPI fields [curiousepic] #3809
* Credorax: Adds AMEX to supported cards and adds 1A error code [LinTrieu] #3792
* Stripe PI: Pass external 3DS auth data [curiousepic] #3811
* Credorax: Allow 3DS1 normalized pass-through, ease version matching [britth] #3812
* Redsys: Redsys: Harden 3DS v1/v2 check for External MPI [esmitperez] #3814
* Add card types for Stripe, Worldpay, Checkout.com [LinTrieu] #3810
* ActiveMerchant::Billing::Response: Include `network_transaction_id` attribute [therufs] #3815
== Version 1.116.0 (October 28th)
* Remove Braintree specific version dependency [pi3r] #3800
== Version 1.115.0 (October 27th)
* Checkout v2: $0 Auth on gateway [jessiagee] #3762
* Adyen: Safely add execute_threeds: false [curiousepic] #3756
* RuboCop: Fix Layout/SpaceAroundEqualsInParameterDefault [leila-alderman] #3720
* iATS: Allow email to be passed outside of the billing_address context [naashton] #3750
* Orbital: Don't pass xid for transactions using network tokens [britth] #3757
* Forte: Add service_fee_amount field [meagabeth] #3751
* WorldPay: Add support for idempotency_key[cdmackeyfree] #3759
* Orbital: Handle line_tot key as a string [naashton] #3760
* RuboCop: Fix Lint/UnusedMethodArgument [leila-alderman] #3721
* RuboCop: Fix Naming/MemoizedInstanceVariableName [leila-alderman] #3722
* RuboCop: Fix Style/BlockComments [leila-alderman] #3729
* Checkout V2: Move to single-transaction Purchases [curiousepic] #3761
* RuboCop: Fix Naming/ConstantName [leila-alderman] #3723
* Orbital: Fix schema errors [britth] #3766
* Checkout V2: Start testing via amount code [curiousepic] #3767
* CyberSource: Don't include empty `mdd_` fields [arbianchi] #3758
* RuboCop: Fix Naming/VariableNumber [leila-alderman] #3725
* Update BIN ranges for Elo cardtype [cdmackeyfree] #3769
* Orbital: Resolve CardIndicators issue [meagabeth] #3771
* Adyen: Add subMerchant fields [naashton] #3772
* PayPal Express: reduce param requirements [shasum] #3773
* PayU Latam: Support partial refunds [leila-alderman] #3774
* RuboCop: Fix Style/Alias [leila-alderman] #3727
* Stripe PI: Allow `on_behalf_of` to be passed alone #3776
* RuboCop: Fix Performance/RedundantMatch [leila-alderman] #3765
* RuboCop: Fix Layout/MultilineMethodCallBraceLayout [leila-alderman] #3763
* NMI: Add standardized 3DS fields [meagabeth] #3775
* Mundipagg: Add support for SubMerchant fields [meagabeth] #3779
* Stripe Payment Intents: Add request_three_d_secure option [molbrown] #3787
* Decidir: Add support for csmdds fields [naashton] #3786
* RuboCop: Fix Performance/StringReplacement [leila-alderman] #3782
* RuboCop: Fix Naming/HeredocDelimiterCase & Naming [leila-alderman] #3781
* BlueSnap: Add address fields to contact info [naashton] #3777
* RuboCop: Fix Layout/SpaceInsideHashLiteralBraces [leila-alderman] #3780
* RuboCop: Fix Style/AndOr [leila-alderman] #3783
* Checkout V2: Support ability to pass attempt_n3d 3ds field [naashton] #3788
* Elavon: Upgrade to `processxml.do` [therufs] #3784
* Checkout V2: Support for attempt_n3d 3DS field [naashton] #3790
* Elavon: Strip ampersands [therufs] #3795
* Paybox: Add support for 3DS 1.0 values [jcpaybox] #3335
* Decidir: Add additional fraud_detection options [cdmackeyfree] #3812
== Version 1.114.0
* BlueSnap: Add address1,address2,phone,shipping_* support #3749
* BlueSnap: Protect against `nil` metadata [carrigan] #3752
* Cybersource: [CyberSource] Ensure the default address doesn't override `ActionController::Parameters` [pi3r] #3755
== Version 1.113.0
* Orbital: Add cardIndicators field [meagabeth] #3734
* Openpay: Add Colombia to supported countries [molbrown] #3740
* Mercado Pago: Update Device Id Header field [cdmackeyfree] #3741
* RuboCop: Fix Style/TrailingCommaInHashLiteral [leila-alderman] #3718
* RuboCop: Fix Naming/PredicateName [leila-alderman] #3724
* RuboCop: Fix Style/Attr [leila-alderman] #3728
* Payflow: Use application_id to set buttonsource [britth] #3737
* HPS: Enable refunds using capture transaction [britth] #3738
* Quickbooks: Omit empty strings in address [leila-alderman] #3743
* BlueSnap: Add transactionMetaData support #3745
* Orbital: Fix typo in PC3DtlLineTot field [naashton] #3736
* Credorax: Send first and last name parameters for CFT transactions [britth] #3748
* Orbital: Update CardIndicators field to fix bug [meagabeth] #3746
* CyberSource: Always send default address [leila-alderman] #3747
* Netbanx: Reject partial refund on pending status [rockyhakjoong] #3735
== Version 1.112.0
* Cybersource: add `maestro` and `diners_club` eci brand mapping [bbraschi] #3708
* Cybersource: Ensure Partner Solution Id placement conforms to schema [britth] #3715
* Adyen: Adyen: Pass `subMerchantId` as `additionalData` [naashton] #3714
* Litle: Omit checkNum when nil [leila-alderman] #3719
* PayU Latam: Improve error response [esmitperez] #3717
* Vantiv: Vantiv Express - CardPresentCode, PaymentType, SubmissionType, DuplicateCheckDisableFlag [esmitperez] #3730,#3731
* Cybersource: Ensure issueradditionaldata comes before partnerSolutionId [britth] #3733
== Version 1.111.0
* Fat Zebra: standardized 3DS fields and card on file extra data for Visa scheme rules [montdidier] #3409
* Realex: Change 3DSecure v1 message_version to a valid format [shuhala] #3702
* Ingenico/ GlobalCollect: Add field for installments [cdmackeyfree] #3707
* Cybersource: do not send 3DS fields if 'cavv` is missing and `commerceIndicator` is inferred [bbraschi] #3712
== Version 1.110.0
* FirstData e4 v27+: Strip linebreaks from address [curiousepic] #3693
* Adyen: Change shopper_email to email and shopper_ip to ip [rikterbeek] #3675
* FirstData e4 v27+ Fix strip_line_breaks method [carrigan] #3695
* Cybersource: Set authorization on the response even when in fraud review [pi3r] #3701
* Cybersource: Add fields to override stored creds [leila-alderman] #3689
* Cybersource: Conditionally find stored credentials [therufs] #3696 #3697
* Cybersource: Update logic to send cavv as xid for 3DS2 [douglas] #3699
* Credorax: Default 3ds_browsercolordepth to 32 when passed as 30 [britth] #3700
== Version 1.109.0
* Remove reference to `Billing::Integrations` [pi3r] #3692
* DLocal: Handle nil address1 [molbrown] #3661
* Braintree: Add travel and lodging fields [leila-alderman] #3668
* Stripe: strict_encode64 api key [britth] #3672
* Stripe PI: Implement verify action [leila-alderman] #3662
* Stripe, Stripe Payment Intents: Update supported countries [britth] #3684
* Forte: Use underscore for unused arguments in test [wsmoak] #3605
* Add Alia card type [therufs] #3673
* Element: Fix unit tests [leila-alderman] #3676
* PayU Latam: Fix store method [ccarruitero] #2590
* Adyen: Allow for executeThreeD to be passed as false [naashton] #3681
* WorldPay: Fix handling of `state` field for 3DS transactions [chinhle23] #3687
* Alia: Skip Luhn validation [therufs] #3673
* Diners Club: support 16 digit card numbers [therufs] #3682
* Cybersource: Update supported countries [britth] #3683
* Cybersource: pass reconciliation_id [therufs] #3688
* RuboCop: Fix Style/SpecialGlobalVars [leila-alderman] #3669
* RuboCop: Fix Style/StringLiteralsInInterpolation [leila-alderman] #3670
* RuboCop: Fix Layout/HeredocIndentation [leila-alderman] #3685
* RuboCop: Fix Gemspec/OrderedDependencies [leila-alderman] #3679
* RuboCop: Fix Style/TrailingUnderscoreVariable [leila-alderman] #3663
* RuboCop: Fix Style/WordArray [leila-alderman] #3664
* RuboCop: Fix Style/SymbolArray [leila-alderman] #3665
* Mercado-Pago: Notification url GSF [cdmackeyfree] #3678
* Credorax: Update logic for setting 3ds_homephonecountry [britth] #3691
== Version 1.108.0 (Jun 9, 2020)
* Cybersource: Send cavv as xid is xid is missing [pi3r] #3658
* Forte: Change default sec_code value to PPD [molbrown] #3653
* Elavon: Add merchant initiated unscheduled field [leila-alderman] #3647
* Decidir: Add aggregate data fields [leila-alderman] #3648
* Vantiv: Vantiv(Element): add option to send terminal id in transactions [cdmackeyfree] #3654
* Update supported Ruby and Rails versions [leila-alderman] #3656
* CI: Drop unused sudo: false Travis directive [olleolleolle] #3616
* PayU Latam: Prevent blank country in billing_address [britth] #3657
* DLocal: Fix address field names [molbrown] #3651
== Version 1.107.4 (Jun 2, 2020)
* Elavon: Implement true verify action [leila-alderman] #3610
* Vantiv Express: Implement true verify [leila-alderman] #3617
* Litle: Pass expiration data for basis payment method [therufs] #3606
* Stripe Payment Intents: Error handling and backwards compatibility within refund [britth] #3627
* HPS: Prevent errors when account_type or account_holder_type are nil [britth] #3628
* D Local: Handle invalid country code errors [curiousepic] #3626
* Stripe Payment Intents: Utilize execute_threed flag to determine success [britth] #3625
* Elavon: Add Level 3 fields [leila-alderman] #3632
* CyberSource: Stored Credential fixes [curiousepic] #3624
* CyberSource: Fix invalid and missing field tests [curiousepic] #3634
* CyberSource: Pass stored credentials with purchase [curiousepic] #3636
* Mercado Pago: Add payment_method_option_id field [schwarzgeist] #3635
* Stripe: Provide error when attempting an authorize with ACH [britth] #3633
* EBANX: Send original order id as merchant_payment_code metadata [miguelxpn] #3637
* Element: Add card_present_code field [schwarzgeist] #3623
* Orbital: Add support for Level 3 fields [leila-alderman] #3639
* Firstdata: Strip newline characters from address [bittercoder] #3643
* Forte: add sec_code attribute for echeck [wsmoak] #3640
== Version 1.107.3 (May 8, 2020)
* Realex: Ignore IPv6 unsupported addresses [elfassy] #3622
* Cybersource: Set partnerSolutionID after the business rules, fixes 500 error [pi3r] #3621
== Version 1.107.2 (May 7, 2020)
* Cybersource: Send a specific card brand commerceIndicator for 3DS [pi3r] #3620
* Cybersource: Send application_id as partnerSolutionID [pi3r] #3620
* Iridium: Localize zero-decimal currencies [chinhle23] #3587
* iVeri: Fix `verify` action [chinhle23] #3588
* Ixopay: Properly support three-decimal currencies [chinhle23] #3589
* Kushki: support `auth` and `capture` [therufs] #3591
* PaymentExpress: Update references to Windcave to reflect rebranding [britth] #3595
* Decidir: Improve handling of error responses from the gateway [naashton] #3594
* CyberSource: Added support for MerchantInformation CyberSource-specific fields [apfranzen] #3592
* ePay: Send unique order ids for remote tests [curiousepic] #3593
* Checkout V2: Send more informative error messages for 4xx errors [britth] #3601
* Elavon: Add ssl_dynamic_dba field [apfranzen] #3600
* iATS Payments: Update gateway to v3 and add support for additional GSFs [naashton] #3599
* Remove deprecated `rubyforge_project` attribute and tidy up unit test output [fatcatt316] #3598
* Elavon: Cleanup inadvertant field removal (avs_address) in #3600 [apfranzen] #3602
* EBANX: Fix transaction amount for verify transaction [miguelxpn] #3603
* iATS Payments: Update gateway to accept `email`, `phone`, and `country` fields [naashton] #3607
* Braintree: Fix response for failed refunds when falling back to voids [jasonwebster] #3608
* Worldpay: Fix response for failed refunds when falling back to voids [jasonwebster] #3609
* iATS Payments: Add support for Customer Code payment method [molbrown] #3611
* HPS: Add Google Pay support [MSmedal] #3597
* Adyen: Parse appropriate message for 3DS2 authorization calls [britth] #3619
* CyberSource: Add error details response fields [schwarzgeist] #3629
== Version 1.107.1 (Apr 1, 2020)
* Add `allowed_push_host` to gemspec [mdeloupy]
== Version 1.107.0 (Apr 1, 2020)
* Stripe Payment Intents: Early return failed `payment_methods` response [chinhle23] #3570
* Borgun: Support `passengerItineraryData` [therufs] #3572
* Ingenico GlobalCollect: support optional `requires_approval` field [fatcatt316] #3571
* CenPOS: Update failing remote tests [britth] #3575
* Realex: Update remote tests [britth] #3576
* FirstData e4 v27: Properly tag stored credential initiation field in request [britth] #3578
* Orbital: Fix stored credentials [chinhle23] #3579
* Acapture(Opp): Update gateway credentials [molbrown] #3574
* Ingenico GlobalCollect: support `requires_approval` field [fatcatt316] #3577
* CyberSource: Fix `void` for `purchase` transactions [chinhle23] #3581
* Checkout V2: Begin to add support for using network tokens for transactions. [arbianchi] #3580
* Opp: Update remote test fixtures [ccarruitero] #3582
* Optimal Payment: Add support for store [britth] #3585
* SecurePay Australia : Update test URL (#3586)
== Version 1.106.0 (Mar 10, 2020)
* PayJunctionV2: Send billing address in `auth` and `purchase` transactions [naashton] #3538
* Adyen: Fix some remote tests [curiousepic] #3541
* Redsys: Properly escape cardholder name and description fields in 3DS requests [britth] #3537
* RuboCop: Fix Style/HashSyntax [leila-alderman] #3540
* Paypal: Fix OrderTotal elements in `add_payment_details` [chinhle23] #3544
* Stripe Payment Intents: Add tests for "Idempotency-Key" header [fatcatt316] #3542
* Paypal: Fix RuboCop Style/HashSyntax violations [chinhle23] #3547
* Rubocop corrections for space around operators [cdmackeyfree] #3543
* Fat Zebra: Add `is_billing` in post for `store` call [chinhle23] #3551
* SafeCharge: Adds four supported countries [carrigan] #3550
* Ixopay: Support stored credentials [leila-alderman] #3549
* BlueSnap: Adds localized currency support [carrigan] #3552
* CheckoutV2: Use status as message for 3DS txns in progress [britth] #3545
* Stripe Payment Intents: Prevent idempotency key errors for compound actions [britth] #3554
* Adyen: Add tests for voiding with idempotency keys [jknipp] #3553
* Fat Zebra: Fix `store` call [chinhle23] #3556
* Update README to include Adyen [haolime] #3452
* PayJunctionv2: Fix billing address fields [leila-alderman] #3557
* Adyen: Fail unexpected 3DS responses [curiousepic] #3546
* Merchant Warrior: Add support for setting soft descriptors [daBayrus] #3558
* Adyen: Fix stored credentials [chinhle23] #3560
* Update BIN ranges for Alelo and Maestro cards [leila-alderman] #3559
* EBANX: Fix declines if order id is bigger than 40 chars [miguelxpn] #3563
* Moneris US: Remove gateway [chinhle23] #3561
* Decidir: Decidir: Improving the response message when encountering errors [naashton] #3564
* PayBox: Added USERTrust RSA Certification Authority and Sectigo RSA Organization Validation Secure Server CA [baldowl] #3567
== Version 1.105.0 (Feb 20, 2020)
* Credorax: Fix `3ds_transtype` setting in post [chinhle23] #3531
* Bambora Apac: Send void amount in options [leila-alderman] #3532
* RuboCop: Fix Layout/IndentHash [leila-alderman] #3529
* Stripe: Add connected account support [Carrigan] #3535
* Redsys: Update scrub method to account for 3DS error responses [britth] #3534
* Authorize.Net: Pass `account_type` to `check` payment types [chinhle23] #3530
* Merchant Warrior: Send void amount in options [leila-alderman] #3525
* Stripe: Add support for `statement_descriptor_suffix` field [Carrigan] #3528
* Decidir: Add support for fraud_detection, site_id, and establishment_name [fatcatt316] #3527
* HPS: support eCheck [therufs] #3500
* EBANX: Add metadata information in post [miguelxpn] #3522
* Worldpay: Add `riskData` GSF [fatcatt316] #3514
* EBANX: Fix `scrub` [chinhle23] #3521
* Worldpay: Remove unnecessary .tag! methods [leila-alderman] #3519
* BPoint: Remove amount from void requests [leila-alderman] #3518
* Authorize.net: Trim supported countries to AU, CA, US [fatcatt316] #3516
* Credorax: Allow optional 3DS 2 fields [jeremywrowe] #3515
* Stripe: Remove outdated 'customer options' deprecation [alexdunae] #3401
* Added support for fraud review in CyberSource gateway [greg-burgoon] #3536
== Version 1.104.0 (Jan 29, 2020)
* Adyen: add `recurring_contract_type` GSF [therufs] #3460
* Credorax: Only pass `3ds_version` parameter when required [britth] #3458
* EBANX: Include Peru in supported countries [Ruanito] #3443
* Bluesnap: include fraud data in response message [therufs] #3459
* Ingenico GlobalCollect: support `airline_data` and related GSFs [therufs] #3461
* Add UnionPay card type [leila-alderman] #3464
* Braintree: Fix add_credit_card_to_customer in Store [molbrown] #3466
* EBANX: Default to not send amount on capture [chinhle23] #3463
* Latitude19: Convert money format to dollars [molbrown] #3468
* Adyen: Fix response success for unstore [kheang] #3470
* CyberSource: add several GSFs [therufs] #3465
* Adyen: add `recurring_contract_type` GSF to auth [therufs] #3471
* Stripe Payment Intents: Use localized_amount on capture [molbrown] #3475
* dLocal: Add support for installments [kdelemme] #3456
* Merchant Warrior: Add void operation [leila-alderman] #3474
* Decidir: Update payment method IDs [leila-alderman] #3476
* Adyen: Add delivery address [leila-alderman] #3477
* Authorize.net: Correctly parse direct_response field with quotation marks [britth] #3479
* Decidir: Add debit card payment method IDs [leila-alderman] #3480
* CyberSource: Add issuer data+MDD to credit & void [leila-alderman] #3481
* Credorax: add `authorization_type` and `multiple_capture_count` GSFs [therufs] #3478
* CardStream: use localized_amount to correctly support zero-decimal currencies [britth] #3473
* EBANX: Add additional data in post [Ruanito] #3482
* Credorax: Omit phone when nil [leila-alderman] #3490
* TransFirst TrExp: Remove hyphens from zip [leila-alderman] #3483
* Mundipagg: Return acquirer code as the error code [leila-alderman] #3492
* Braintree Blue: Remove customer hash when using a payment_method_nonce #3495
* Credorax: Update non-standard currencies list [chinhle23] #3499
* Redsys: Update production URL [britth] #3505
* Moneris: include AVS and CoF fields when storing vault records [alexdunae] #3446
* Moneris: Add support for temporary vault storage [alexdunae] #3446
* Clearhaus: Update currencies without fractions list [chinhle23] #3506
* Merchant Warrior: Add recurringFlag to purchase & authorize [carrigan] #3504
* CardConnect: Remove domain port validation [leila-alderman] #3494
* Paymentez: Correct refund and void message parsing [carrigan] #3509
* Mercado Pago: Add taxes and net_amount gateway specific fields [carrigan] #3512
* Moneris: use dedicated card_verification methods [alexdunae] #3428
* Authorize.net: Trim down supported countries [fatcatt316] #3511
* Stripe: Add support for `statement_descriptor_suffix` field [carrigan] #3528
* Stripe: Add connected account support [carrigan] #3535
== Version 1.103.0 (Dec 2, 2019)
* Quickbooks: Mark transactions that returned `AuthorizationFailed` as failures [britth] #3447
* Credorax: Add referral CFT transactions [leila-alderman] #3432
* DLocal: Updates for version 2.1 [molbrown] #3449
* CyberSource: Send MDD on capture [leila-alderman] #3453
* Ixopay: Include extra_data gateway specific field [therufs] #3450
* CyberSource: Fix XML error on capture [leila-alderman] #3454
* Adyen: Add gateway specific field for splits [leila-alderman] #3448
* Adyen: Add `unstore` and `storeToken` actions with '/Recurring' endpoint [deedeelavinder][davidsantoso] #3438
* Barclaycard Smartpay: Add functionality to set 3DS exemptions via API [britth] #3457
* Use [email protected] when option[:email] is an empty string [pi3r] #3462
== Version 1.102.0 (Nov 14, 2019)
* Quickbooks: Make token refresh optional with allow_refresh flag [britth] #3419
* Paymentez: Update supported countries [curiousepic] #3425
* Ixopay: Add new gateway [jasonxp] #3426
* Ixopay: Add support for currency option to refund method #3433
* Ixopay: Remove default callback URL #3436
* Ixopay: Refactor capture #3431
* Update supported countries list. Add currencies without fractions / with 3 decimal places #3424
* RuboCop: Fix Layout/EndAlignment [leila-alderman] #3427
* RuboCop: Fix Layout/ExtraSpacing [leila-alderman] #3429
* RuboCop: Fix Layout/MultilineOperationIndentation [leila-alderman] #3439
* Worldpay: Update logic to set cardholderName for 3DS transactions [britth] #3444
* Adopt new enrolled key for 3DS1 transactions. enrolled contains the 3… #3442
== Version 1.101.0 (Nov 4, 2019)
* Add UYI to list of currencies without fractions [curiousepic] #3416
* Quickbooks: Add OAuth 2.0 support and void action [britth] #3397
* Credorax: Stop always sending r1 parameter [molbrown] #3415
* Rubocop: Layout/RescueEnsureAlignment fix [leila-alderman] #3411
* CyberSource: Send issuer data on capture [leila-alderman] #3404
* Rubocop: Style/IfUnlessModifier [nfarve] #3390