Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bookingsync #14

Closed
wants to merge 539 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
539 commits
Select commit Hold shift + click to select a range
71466ee
Conekta: Add guard clause for details fallbacks
curiousepic Sep 5, 2017
7aed714
WePay: Don't default API version header
curiousepic Aug 31, 2017
5b16964
PayU Latam: Pass unique buyer fields and country requirements
curiousepic Aug 25, 2017
0d303ae
PayU Latam: Correctly condition buyer element fields
curiousepic Sep 7, 2017
242d77e
Auth.Net: Remove numeric restriction on customer ID
Sep 11, 2017
f19c6cb
Beanstream: Do not default state and zip with empty country
Sep 12, 2017
7fc0582
Add refund to Kushki
Sep 8, 2017
6eb0c40
Adyen: Fix failing remote tests
Sep 14, 2017
def19a5
Merchant Partners: Relax response message assertions for remote tests
davidsantoso Sep 15, 2017
ac0fb11
MercadoPago: Send diners_club cards as diners
davidsantoso Sep 15, 2017
f6060d5
WePay: Don't require email for Store
curiousepic Sep 19, 2017
897fa55
Release version 1.72.0
AnotherJoSmith Sep 20, 2017
2b89e52
[Wirecard] use localized_amount to fix non-fractional currencies
bdewater Sep 26, 2017
2ebf6c3
Explicitly require braintree-ruby gem version 2.78.0 (#2592)
AnotherJoSmith Sep 27, 2017
0710495
Add original pspReference to the refund calls, instead of the capture…
lyverovski Sep 28, 2017
ba311b5
FirstData E4: Scrub 3DS cryptogram (#2596)
jasonwebster Sep 28, 2017
22966a3
PayHub: Replace single quotes with double quotes in error message
matthewheath Sep 4, 2017
3b3c82d
Release version 1.73.0
lyverovski Sep 28, 2017
a32278f
Deleting extra erroneous ~ file.
lyverovski Sep 29, 2017
7a42546
WePay - Only send ip and device params for non-recurring transactions
Sep 29, 2017
424fa8d
Barclaycard Smartpay: Use authorization pspReference for refunds
davidsantoso Sep 29, 2017
e1209b7
Adyen: Update list of support countries
Oct 3, 2017
81e4648
Credorax: Update response codes
curiousepic Sep 26, 2017
53f5f25
Borgun: Add support for USD and localized currency
Oct 3, 2017
65d8867
Borgun: Include currency code from split authorization
Oct 4, 2017
99dce31
Ebanx: Support Store and person_type option
curiousepic Sep 19, 2017
a7eba21
Elavon: Update endpoint URLs
curiousepic Oct 6, 2017
f12f1c8
PayU Latam: Set payment_country gateway attribute
curiousepic Oct 6, 2017
b19d234
Authorize.net CIM - Handle multiple error messages
amandapuff Aug 4, 2017
6f1eb55
Beanstream: Pass email fields without address
curiousepic Oct 11, 2017
c2a2ea4
Fixes basic auth for netbanx by sending the account_number and api_ke…
AnotherJoSmith Oct 12, 2017
c531c1f
Beanstream: Add recurring flag in order to bypass CVV requirement
Oct 12, 2017
6987b7e
WePay: Adds tests to verify store options.
deedeelavinder Oct 6, 2017
d538584
Barclaycard Smartpay: Refactors address parsing.
deedeelavinder Sep 6, 2017
27a5fdf
Payeezy: Adds :store functionality.
deedeelavinder Sep 25, 2017
028b532
Checkout V2: Expose AVS and CVV results for purchases
Oct 12, 2017
5181014
EBANX: Pass person_type and name for stored cards
curiousepic Oct 16, 2017
c6c6967
Barclaycard Smartpay: Allows purchase with no address
deedeelavinder Oct 17, 2017
1bd9b1e
CyberSource: Support 3DSecure requests
curiousepic Oct 16, 2017
d0e1b4c
Include DKK as supported currency
chopenhauer Oct 13, 2017
36792b5
Use monotonic clock to measure elapsed time (#2566)
bdewater Oct 24, 2017
cb07d5c
Release version 1.74.0
AnotherJoSmith Oct 24, 2017
d0bf09a
FirstData E4 (Payeezy): Ensure numeric ECI values are zero padded (#2…
jasonwebster Oct 26, 2017
dcbde8c
Support extra data for Barclay Smartcard credits
bpollack Oct 25, 2017
2568a21
PayU Latam: Four small updates
deedeelavinder Oct 27, 2017
0492749
Shallow copy the options hash for Barclays tests
bpollack Oct 26, 2017
43be090
Ebanx: Pass fields for business person responsible
curiousepic Oct 30, 2017
4c07a88
Support Colombia with Ebanx
bpollack Oct 31, 2017
3aba38f
Sage Payment Solutions: Scrub check info
curiousepic Nov 2, 2017
42e69f4
Worldpay US: Allow requesting use of backup URL
bpollack Nov 2, 2017
16a736d
Payu Latam: Changes partnerID to partner_id in options
deedeelavinder Nov 6, 2017
c74edde
Cyber Source: Correctly identifies 'subscriptionID' for store
deedeelavinder Oct 27, 2017
23c38dd
Worldpay US: Allowing switching to backup gateway per-transaction
bpollack Nov 7, 2017
6076f8c
Stop making remote requests for payeezy store unit tests (#2646)
AnotherJoSmith Nov 7, 2017
373a5c8
Only send currency and billing_details for auths and sales for Netban…
AnotherJoSmith Nov 7, 2017
ffd7d23
Revert "Fixes basic auth for netbanx by sending the account_number an…
AnotherJoSmith Nov 8, 2017
ece79cf
Release version 1.75.0
AnotherJoSmith Nov 9, 2017
e30473a
Checkout V2: Allow AVS and CVV for Authorizations
deedeelavinder Nov 13, 2017
fb61182
Global Collect: Adds pre-authorization
deedeelavinder Nov 10, 2017
e5734ef
Credorax: Pass Transaction Type field
curiousepic Nov 6, 2017
f0a0990
Implement Cardprocess Gateway
bpollack Nov 22, 2017
2855e9a
Prevent frozen objects being assigned as wiredump device (#2660)
bdewater Nov 29, 2017
c8eee76
Safe Charge: Provisions adapter for 3DS purchases
deedeelavinder Nov 28, 2017
93ec51a
PayU Latam: Require payment_country on initialize
curiousepic Nov 30, 2017
eab54da
Adyen: Remove CVV as Required Field and Determines shopperInteraction
Dec 6, 2017
43ca00e
SafeCharge: add support for VendorID, WebsiteID, and IP logging
bpollack Dec 7, 2017
b93dff1
Safe Charge: Adds 3DS flag
deedeelavinder Dec 7, 2017
b4e4943
PayU Latam: Change default text for description
Dec 7, 2017
e4df97a
CardProcess: return a strict boolean for success
bpollack Dec 12, 2017
1d4c73d
Correct CVV, AVS codes for Sagepay
singhai0 Dec 7, 2017
69beb80
PayU Latam: Count pending Voids as successful
curiousepic Dec 13, 2017
bcf35b3
Mercado Pago: protect against invalid access tokens
bpollack Dec 12, 2017
2161e73
MiGS: improve test suite and fix SecureHash
bpollack Dec 12, 2017
9b1b6be
Add a verify call to the MiGS gateway
bpollack Oct 27, 2017
427a23b
iATS: Fix Messages with Failure on iATS Server
Dec 15, 2017
307529e
iATS: Fix Messages with Failure on iATS Server
Dec 18, 2017
5ae0473
Barclaycard Smartpay: Correct response for fraud rejects
Dec 20, 2017
de3439e
Adyen: Make parts of addresses optional
bpollack Dec 18, 2017
8f68515
Payment Express: Fix remote tests
bpollack Dec 26, 2017
084b950
Implement Paymentez Gateway
bpollack Dec 4, 2017
b33e394
PayU Latam: Provide a mechanism to override the amount in verify
Dec 29, 2017
2c8187e
Mercado Pago: Support X-Device-Session-ID
bpollack Dec 29, 2017
e560823
Mercado Pago: add arbitrary additional_info parameters
bpollack Dec 29, 2017
e602e8c
FirstData E4: Override ECI value for Apple Pay transactions with Disc…
jasonwebster Dec 8, 2017
fc5a94c
Fix tests failing due to new year (#2692)
jasonwebster Jan 2, 2018
63e6a25
Quickbooks: Add payment context to Quickbooks charges and refunds
bdewater Jan 3, 2018
c73f5b6
Release v1.76.0
jasonwebster Jan 3, 2018
6f1fd14
Update changelog for 1.76.0
jasonwebster Jan 3, 2018
905c2f6
Forte and Moneris US: ensure unit tests are local-only
bpollack Dec 29, 2017
974b3c8
Payflow: Change Verify Method for Amex Cards
Jan 2, 2018
8ca6ac9
Authorize.net: Allow Transaction Id to be passed for refunds
Jan 3, 2018
b6958c8
Safe Charge: fix variable shadowing issue
bpollack Jan 3, 2018
7470479
Borgun: add remote scrubbing test
bpollack Dec 29, 2017
fd044d7
Clearhaus: add remote scrubbing test
bpollack Dec 29, 2017
ac0d721
Fat Zebra: add remote scrubbing test
bpollack Dec 29, 2017
8bec04f
Barclays EPDQ: add remote scrubbing tests
bpollack Dec 29, 2017
1517c9b
Cashnet: add scrubbing support and support test server
bpollack Dec 29, 2017
e99f157
Stripe: quickchip support, consolidate emv states and read_method met…
Oct 16, 2017
51dc1ba
Data Cash: add Transcript scrubbing support
bpollack Jan 3, 2018
25dfcdf
Elavon: add transcript scrubbing
bpollack Jan 3, 2018
bac41dd
FirstData E4: improve scrubbing, add remote test
bpollack Jan 4, 2018
9fc79e2
Global Transport: add transcript scrubbing
bpollack Jan 8, 2018
97ddd11
HPS: Add scrubbing support
bpollack Jan 8, 2018
5a9a5e9
Ogone: add tests for scrubbing
bpollack Jan 8, 2018
5ef9766
Update CHANGELOG for new adapter scrubbing
bpollack Jan 9, 2018
99ceb66
Vantiv (Litle): Update sandbox url for testing
wsmoak Dec 11, 2017
fc9e4e4
Add missing Entrust Root CA certificates for Barclays EPDQ Extra Plus…
pacso Oct 10, 2017
e6e4b13
make bogus gaetway work with CC tokens when performing authorization
Azdaroth Jan 10, 2018
d055129
Merge pull request #1 from BookingSync/make-bogus-gateway-work-with-t…
ZenCocoon Jan 10, 2018
6622336
Moneris US: add transcript scrubbing
bpollack Jan 8, 2018
4e15f88
Mercury: add transcript scrubbing
bpollack Jan 8, 2018
44ca048
Add CHANGELOG for scrubbing support
bpollack Jan 10, 2018
c221833
Fat Zebra: tweak transcript scrubbing regex
bpollack Jan 10, 2018
a7535b1
Redsys: fix deprecation warnings scrub tests
bpollack Jan 11, 2018
dcb5f3b
Fix indentation on two unit tests
bpollack Jan 11, 2018
b8903af
CardConnect: Add new gateway
Dec 21, 2017
1bb982f
Payeezy: Ensure store transactions are properly scrubbed
Jan 11, 2018
e05607e
Payeezy: Add unit test for scrubbing store call
Jan 12, 2018
c6cc82c
Element: Correct URL used by store transactions
Jan 12, 2018
52f008a
Borgun: add TerminalID support
bpollack Jan 16, 2018
3a5bc98
Barclaycard Smartpay: 3DS Implementation
Jan 17, 2018
aef7c2f
Changelog Update
Jan 17, 2018
b9f248f
Payeezy: Surface gateway_message on failure
curiousepic Jan 19, 2018
6ccfb00
Ogone: Add field ORIG
Jan 25, 2018
b812a07
CenPos: Switch to new endpoint URL
bpollack Jan 25, 2018
7c2590c
Payment Express: Scrub merchant password
curiousepic Jan 25, 2018
cef196e
Revert "CenPos: Switch to new endpoint URL"
bpollack Jan 25, 2018
4771e0e
Global Collect: Add Creator Info Fields
Jan 26, 2018
5737c27
Stripe: Fix Partial Application Fee Refunds
curiousepic Dec 12, 2017
5ea7c4a
Adds support for Google Pay sourced cards (#2725)
joshnuss Jan 31, 2018
114ec71
Release v1.77.0
Jan 31, 2018
55b7b25
Orbital: Handles level 2 tax data correctly
deedeelavinder Jan 31, 2018
65fd674
Payeezy: changes assessment of store endpoint
deedeelavinder Feb 2, 2018
10be484
Adyen: Return refusal_reason_raw when present
curiousepic Jan 31, 2018
37000bf
Payeezy: Update Store
Feb 6, 2018
30e4cd1
CenPOS: Remove gzip encoding header
curiousepic Feb 6, 2018
dc38b09
Mercado Pago: Allow binary_mode to be changed
Feb 6, 2018
33b2ac2
Mercado Pago: Allow binary_mode to be changed
Feb 6, 2018
1a208e1
Stripe: Accept strings for refund_fee_amount
curiousepic Feb 7, 2018
e4accf2
Orbital: Complete scrub test coverage
curiousepic Feb 9, 2018
febcb8d
MIGS: Scrub sensitive data
curiousepic Feb 9, 2018
5ac46c4
Worldpay US: Scrub sensitive data
curiousepic Feb 12, 2018
e215d74
Remove Israel from WorldPay supported countries
Feb 13, 2018
542d08f
Optimal Payments: Scrub sensitive data
curiousepic Feb 12, 2018
3a39893
USA Epay Transaction: Scrub sensitive data
curiousepic Feb 12, 2018
63067a8
MIGS: Add unit test for scrub
curiousepic Feb 13, 2018
6f72015
Worldpay US: Fix bank account scrub
curiousepic Feb 13, 2018
747d12d
Vantiv: Add support for merchantData elements
Feb 14, 2018
c2a022f
Paymentez: add support for explicitly using tokens
bpollack Feb 19, 2018
c13776d
GlobalCollector: remove Trinidad as a supported country
bpollack Feb 20, 2018
bc5a823
Barclaycard Smartpay: Georgia is no longer supported
bpollack Feb 20, 2018
f1e6781
[Merchant Warrior] Adds default for empty state field (#2638)
joshnuss Feb 22, 2018
7ebdc25
Wirecard: Adding missing DigiCert Global Root G2 Cert (#2759)
filipebarcos Feb 23, 2018
dde12cc
Added support for CNY, IDR, INR, KRW and TWD
chopenhauer Feb 21, 2018
6e3a450
Optimal Payments: Fix scrub for double escaping
curiousepic Feb 26, 2018
550a952
Orbital: Scrub profile transactions
curiousepic Feb 26, 2018
e161333
BlueSnap: Fix currency passing
curiousepic Feb 27, 2018
d3bfa75
Stripe: Support pickup_card decline code
Feb 27, 2018
af85cd1
Improve scrub testing for five gateways
curiousepic Feb 28, 2018
18bec35
Payflow: Support scrub
curiousepic Mar 1, 2018
b9951dc
SecureNet: Support scrub
curiousepic Mar 1, 2018
f592de6
Payeezy: Update transaction method when using stored cards
Mar 1, 2018
76de040
Remove all TLS 1.0 version pins (#2774)
bdewater Mar 5, 2018
3773809
CardStream: Default IP and customer country
Mar 5, 2018
81e5718
Stripe: Support destination amount
Mar 7, 2018
941adb6
Litle: Add Support for Echeck
Jan 9, 2018
4087e3d
Litle: Add store for echecks
Mar 9, 2018
04d213a
GlobalCollect: Update supported country list
Mar 14, 2018
09ae868
Adyen: Support store action
curiousepic Mar 5, 2018
71074fa
Psigate: Update Test URL and Card
Mar 15, 2018
8939f39
USA ePay Transaction: Support ACH/eChecks
curiousepic Mar 7, 2018
b2c45ee
PayULatam: Support language parameter
Mar 19, 2018
cb3305e
Payflow: Pass OrderDesc field
curiousepic Mar 20, 2018
a6e597d
Global Collect: Add arbitrary fraudField params
curiousepic Mar 20, 2018
00b81f4
Paystation: Support verify action
curiousepic Mar 26, 2018
a97b082
Checkout V2: Return error codes in response
curiousepic Mar 23, 2018
47fb40c
CardStream: Change `refund` to use `REFUND_SALE`
Mar 26, 2018
1e30351
Stripe: Add `exchange_rate` parameter (#2796)
WilsonChiang Mar 29, 2018
ff0a7db
Spreedly: scrub sensitive transcript data
abarrak Mar 10, 2018
528d77b
Add missing changelog for #2796
bdewater Mar 29, 2018
2711a60
Release v1.78.0
bdewater Mar 29, 2018
6fc3599
Spreedly: Support verify and find operations
abarrak Mar 30, 2018
b9df1eb
Mundipagg: New Gateway Implementation
Jan 30, 2018
ee4c050
Adyen: Support merchant-specific subdomains
curiousepic Mar 30, 2018
d5ca3fb
Fix ENV based configuration of Net::Http for proxies (#2800)
bbergstrom Apr 4, 2018
4ab3eb8
Update travis for Rails 5.2, Ruby 2.5 (#2788)
bdewater Apr 5, 2018
c76e0d1
Fix Travis build for Ruby 2.5
bdewater Apr 6, 2018
b2423da
"ubygems" has been removed from Ruby 2.5 thus requiring it with the `…
bdewater Apr 6, 2018
168b46d
ANET: Withhold cryptogram for credit
curiousepic Apr 10, 2018
e83f531
Borgun: Remove batch from request parameters
deedeelavinder Apr 11, 2018
215024f
Remove Inquiry requests in verify transactions
Apr 5, 2018
c4800fe
Update Changelog
Apr 12, 2018
e78391f
Credorax: Update tests
curiousepic Apr 16, 2018
d14d31b
Braintree: Remove decimal for non-fractional currencies
Apr 11, 2018
d5f4b8f
Allow setting min/max SSL version for a connection on Ruby 2.5
bdewater Mar 5, 2018
f1838e6
Add `rake gateways:ssl:min_version` task to test TLS 1.1 minimum vers…
bdewater Apr 6, 2018
dc14b52
Add documented country support for US and CA
a-salty-strudel Apr 18, 2018
36e3a34
Paymentez: Add tax_percentage optional parameter
deedeelavinder Apr 22, 2018
f5f72e0
Braintree: Add boolean for skip_advanced_fraud_checking
deedeelavinder Apr 18, 2018
197c32d
SafeCharge: Additional gateway options
Apr 23, 2018
cb795aa
FirstPay: Handle missing billing addresses
Apr 26, 2018
4105f8f
Realex: Add ApplePay Support
Apr 24, 2018
ae5190c
Checkout V2: Additional gateway options
Apr 26, 2018
f2e5ae2
CyberSource: Support 3ds validate request
curiousepic May 1, 2018
2da6e68
Paymentez: Remove card tokenization step from authorize
May 1, 2018
f45dea5
WorldPay: Add 3DS
Apr 10, 2018
6460dad
EBANX: Interpolate authorization string
curiousepic May 4, 2018
61ac694
CyberSource: Support 3DS validation for authorize
curiousepic May 3, 2018
48440c1
Adding 3D Secure pass thru capabilities to Braintree (#2834)
filipebarcos May 8, 2018
4e1fe6a
Redsys: Fix ISO code for PLN
chopenhauer May 7, 2018
ee9408b
Merge branch 'master' into sync-with-upstream-master
Azdaroth May 9, 2018
9dd664c
always use PAU for ogone authorize
thilonel Jan 17, 2019
879bb77
Merge pull request #2 from BookingSync/sync-with-upstream-master
thilonel Jan 28, 2019
7d6807f
Merge branch 'bookingsync' into ogone-authorization
thilonel Jan 28, 2019
2092685
Merge pull request #3 from BookingSync/ogone-authorization
thilonel Jan 28, 2019
2d4ec30
add payment intent support
adamgrad Aug 9, 2019
2c9f68d
temp fix
adamgrad Aug 9, 2019
c25b551
allow activesupport 6 in gemspec for Rails 6 compatibility
thilonel Feb 26, 2020
4d1ea72
add rails 6 tests to travis
thilonel Feb 26, 2020
6e63893
remove ruby 2.2 as rubygems doesn't support it
thilonel Feb 26, 2020
2c98489
do not run build for rails 6 on unsupported ruby versions
thilonel Feb 26, 2020
12a6377
yeah 2.1 is not supported either
thilonel Feb 26, 2020
4b3f1b8
fix tests by dropping so_easy_pay gateway
thilonel Feb 26, 2020
c4c2a4c
update gemspec with minimum required ruby version
thilonel Feb 26, 2020
5793c87
update readme with the removed gateway
thilonel Feb 26, 2020
6f8f2eb
Merge pull request #4 from BookingSync/rails-6-support
thilonel Feb 26, 2020
2af8729
change PAU to RES authorization
adamgrad Jun 23, 2020
1fd275b
Merge branch 'add-payment-intent-for-stripe' into bookingsync-adjust-…
adamgrad Jun 23, 2020
19abdab
Merge branch 'bookingsync' into add-payment-intent-for-stripe
adamgrad Jun 25, 2020
9748f1a
omit flaky spec
adamgrad Jun 25, 2020
3a4ad3a
Merge branch 'add-payment-intent-for-stripe' into bookingsync-adjust-…
adamgrad Jun 25, 2020
f7e034b
Merge pull request #6 from BookingSync/add-payment-intent-for-stripe
adamgrad Jun 25, 2020
05dfd50
Merge pull request #5 from BookingSync/bookingsync-adjust-auth-operation
adamgrad Jun 25, 2020
7c1976e
fix stripe api headers (#7)
adamgrad Jul 3, 2020
aa3b8d9
add 2 pln minimum auth (#8)
adamgrad Jul 16, 2020
241ca6b
Handle off_session request parameter
Jun 1, 2021
5162a4d
omit errors for unused PGs
Jun 1, 2021
6bd1c5f
remove omit from braintree tests
Jun 1, 2021
0c35f2e
Fix deprecated method
Jun 1, 2021
ec95e01
Merge pull request #9 from BookingSync/stripe-off-session-fix
Azdaroth Jun 1, 2021
a0f5add
add support for payment_method_options for StripePaymentIntentsGateway
Azdaroth Oct 25, 2021
9ab092e
Merge pull request #10 from BookingSync/handle-payment-method-options…
Azdaroth Oct 29, 2021
235c936
support Rails 7
Azdaroth Jun 8, 2023
c89db9c
add rexml to Gemfiles
Azdaroth Jun 8, 2023
966ba4a
empty line because github does weird shit
Azdaroth Jun 8, 2023
abff676
install braintree
Azdaroth Jun 8, 2023
8623da6
avoid using gsub! for credorax
Azdaroth Jun 8, 2023
f674757
try enforcing psych version
Azdaroth Jun 8, 2023
9227164
more fun with psych
Azdaroth Jun 8, 2023
4dfe595
Merge pull request #11 from BookingSync/support-rails-7
Azdaroth Jun 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: CI
on: [pull_request]
jobs:
rspec:
strategy:
fail-fast: false
matrix:
include:
- { ruby: '3.0', rails: '6.0' }
- { ruby: '3.0', rails: '6.1' }
- { ruby: '3.0', rails: '7.0' }
- { ruby: '3.1', rails: '7.0' }
- { ruby: '3.2', rails: '7.0' }
runs-on: ubuntu-latest
env:
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/rails.${{ matrix.rails }}.gemfile
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake test:units
30 changes: 18 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,32 @@ language: ruby
script: "bundle exec rake test:units"
sudo: false
cache: bundler
before_install:
# https://github.com/travis-ci/travis-ci/issues/8978#issuecomment-354036443
- gem update --system
- gem install bundler

rvm:
- 2.0
- 2.1
- 2.2.3
- 2.6.5
- 2.5
- 2.4
- 2.3

gemfile:
- Gemfile.rails32
- Gemfile.rails40
- Gemfile.rails41
- Gemfile.rails60
- Gemfile.rails52
- Gemfile.rails51
- Gemfile.rails50
- Gemfile.rails42
- Gemfile.rails5

matrix:
exclude:
- rvm: 2.0
gemfile: Gemfile.rails5
- rvm: 2.1
gemfile: Gemfile.rails5
- rvm: 2.3
gemfile: Gemfile.rails60
- rvm: 2.4
gemfile: Gemfile.rails60

notifications:
email:
- [email protected]
on_success: never
on_failure: always
5 changes: 5 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
%w[6.0 6.1 7.0].each do |version|
appraise "rails.#{version}" do
gem "activesupport", "~> #{version}.0"
end
end
493 changes: 467 additions & 26 deletions CHANGELOG

Large diffs are not rendered by default.

7 changes: 1 addition & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,7 @@ When submitting a pull request to resolve an issue:

## Gateway Placement within Shopify

The addition of your gateway to active_merchant does not guarantee placement within Shopify. In order to have your gateway considered, please send an email to [email protected] with **Active_Merchant Integration** in the subject. Be sure to include:

1. Name, URL & description of the payment provider you wish to integrate
2. Markets served by this integration
3. List of major supported payment methods
4. Your most recent Certificate of PCI Compliance
Placement within Shopify is available by invitation only at this time.

## Version/Release Management

Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '>= 2.50.0'
gem 'braintree', '>= 2.78.0'
end
4 changes: 2 additions & 2 deletions Gemfile.rails42
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '>= 2.50.0'
gem 'braintree', '~> 2.78.0'
end

gem 'rails', '~> 4.2.0'
gem 'activesupport', '~> 4.2.0'
4 changes: 2 additions & 2 deletions Gemfile.rails41 → Gemfile.rails50
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '>= 2.50.0'
gem 'braintree', '~> 2.78.0'
end

gem 'rails', '~> 4.1.0'
gem 'activesupport', '~> 5.0.0'
6 changes: 2 additions & 4 deletions Gemfile.rails5 → Gemfile.rails51
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '>= 2.50.0'
gem 'braintree', '~> 2.78.0'
end

gem 'rails', github: 'rails/rails'
gem 'arel', github: 'rails/arel'
gem 'rack', github: 'rack/rack'
gem 'activesupport', '~> 5.1.0'
11 changes: 11 additions & 0 deletions Gemfile.rails52
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
source 'https://rubygems.org'
gemspec

gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '~> 2.78.0'
end

gem 'activesupport', '~> 5.2.0.rc1'
4 changes: 2 additions & 2 deletions Gemfile.rails32 → Gemfile.rails60
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '>= 2.50.0'
gem 'braintree', '~> 2.78.0'
end

gem 'rails', '~> 3.2.0'
gem 'activesupport', '~> 6.0'
4 changes: 2 additions & 2 deletions Gemfile.rails40 → Gemfile.rails70
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '>= 2.50.0'
gem 'braintree', '~> 2.78.0'
end

gem 'rails', '~> 4.0.0'
gem 'activesupport', '~> 7.0'
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ The [ActiveMerchant Wiki](http://github.com/activemerchant/active_merchant/wikis
* [Bank Frick](http://www.bankfrickacquiring.com/) - LI, US
* [Banwire](http://www.banwire.com/) - MX
* [Barclays ePDQ Extra Plus](http://www.barclaycard.co.uk/business/accepting-payments/epdq-ecomm/) - GB
* [Barclays ePDQ MPI](http://www.barclaycard.co.uk/business/accepting-payments/epdq-mpi/) - GB
* [Be2Bill](http://www.be2bill.com/) - FR
* [Beanstream.com](http://www.beanstream.com/) - CA, US
* [BluePay](http://www.bluepay.com/) - US
Expand Down Expand Up @@ -150,7 +149,7 @@ The [ActiveMerchant Wiki](http://github.com/activemerchant/active_merchant/wikis
* [Metrics Global](http://www.metricsglobal.com) - US
* [MasterCard Internet Gateway Service (MiGS)](http://mastercard.com/mastercardsps) - AU, AE, BD, BN, EG, HK, ID, IN, JO, KW, LB, LK, MU, MV, MY, NZ, OM, PH, QA, SA, SG, TT, VN
* [Modern Payments](http://www.modpay.com) - US
* [MONEI](http://www.monei.net/) - ES
* [MONEI](http://www.monei.net/) - AD, AT, BE, BG, CA, CH, CY, CZ, DE, DK, EE, ES, FI, FO, FR, GB, GI, GR, HU, IE, IL, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK, TR, US, VA
* [Moneris](http://www.moneris.com/) - CA
* [Moneris (US)](http://www.monerisusa.com/) - US
* [MoneyMovers](http://mmoa.us/) - US
Expand All @@ -162,7 +161,7 @@ The [ActiveMerchant Wiki](http://github.com/activemerchant/active_merchant/wikis
* [NETPAY Gateway](http://www.netpay.com.mx) - MX
* [NMI](http://nmi.com/) - US
* [Ogone](http://www.ogone.com/) - BE, DE, FR, NL, AT, CH
* [Omise](https://www.omise.co/) - TH
* [Omise](https://www.omise.co/) - TH, JP
* [Openpay](Openpay) - MX
* [Optimal Payments](http://www.optimalpayments.com/) - CA, US, GB
* [Orbital Paymentech](http://chasepaymentech.com/) - US, CA
Expand Down Expand Up @@ -210,7 +209,6 @@ The [ActiveMerchant Wiki](http://github.com/activemerchant/active_merchant/wikis
* [SecurePayTech](http://www.securepaytech.com/) - NZ
* [SecurionPay](https://securionpay.com/) - AD, AE, AF, AG, AI, AL, AM, AO, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, ST, SV, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW
* [SkipJack](http://www.skipjack.com/) - US, CA
* [SoEasyPay](http://www.soeasypay.com/) - US, CA, AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, ES, SE, GB, IS, NO, CH
* [Spreedly](https://spreedly.com) - AD, AE, AT, AU, BD, BE, BG, BN, CA, CH, CY, CZ, DE, DK, EE, EG, ES, FI, FR, GB, GI, GR, HK, HU, ID, IE, IL, IM, IN, IS, IT, JO, KW, LB, LI, LK, LT, LU, LV, MC, MT, MU, MV, MX, MY, NL, NO, NZ, OM, PH, PL, PT, QA, RO, SA, SE, SG, SI, SK, SM, TR, TT, UM, US, VA, VN, ZA
* [Stripe](https://stripe.com/) - AT, AU, BE, CA, CH, DE, DK, ES, FI, FR, GB, IE, IT, LU, NL, NO, SE, SG, US
* [Swipe](https://www.swipehq.com/checkout) - CA, NZ
Expand Down
16 changes: 11 additions & 5 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ require 'rake'
require 'rake/testtask'
require 'support/gateway_support'
require 'support/ssl_verify'
require 'support/ssl_version'
require 'support/outbound_hosts'
require 'bundler/gem_tasks'

Expand All @@ -28,14 +29,12 @@ task :test => 'test:units'
namespace :test do
Rake::TestTask.new(:units) do |t|
t.pattern = 'test/unit/**/*_test.rb'
t.ruby_opts << '-rubygems -w'
t.libs << 'test'
t.verbose = true
end

Rake::TestTask.new(:remote) do |t|
t.pattern = 'test/remote/**/*_test.rb'
t.ruby_opts << '-rubygems -w'
t.libs << 'test'
t.verbose = true
end
Expand Down Expand Up @@ -91,8 +90,15 @@ namespace :gateways do
end
end

desc 'Test that gateways allow SSL verify_peer'
task :ssl_verify do
SSLVerify.new.test_gateways
namespace :ssl do
desc 'Test that gateways allow SSL verify_peer'
task :verify do
SSLVerify.new.test_gateways
end

desc 'Test gateways minimal SSL version connection'
task :min_version do
SSLVersion.new.test_gateways
end
end
end
4 changes: 2 additions & 2 deletions activemerchant.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ Gem::Specification.new do |s|
s.homepage = 'http://activemerchant.org/'
s.rubyforge_project = 'activemerchant'

s.required_ruby_version = '>= 2'
s.required_ruby_version = '>= 2.3'

s.files = Dir['CHANGELOG', 'README.md', 'MIT-LICENSE', 'CONTRIBUTORS', 'lib/**/*', 'vendor/**/*']
s.require_path = 'lib'

s.has_rdoc = true if Gem::VERSION < '1.7.0'

s.add_dependency('activesupport', '>= 3.2.14', '< 5.1')
s.add_dependency('activesupport', '>= 4.2', '< 8')
s.add_dependency('i18n', '>= 0.6.9')
s.add_dependency('builder', '>= 2.1.2', '< 4.0.0')
s.add_dependency('nokogiri', "~> 1.4")
Expand Down
14 changes: 14 additions & 0 deletions gemfiles/rails.6.0.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
source "https://rubygems.org"

gem "activesupport", "~> 6.0"
gem "rexml", ">= 3.2.4"

gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '~> 2.78.0'
gem "psych", "< 4"
end

gemspec path: "../"
14 changes: 14 additions & 0 deletions gemfiles/rails.6.1.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
source "https://rubygems.org"

gem "activesupport", "~> 6.1"
gem "rexml", ">= 3.2.4"

gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '~> 2.78.0'
gem "psych", "< 4"
end

gemspec path: "../"
15 changes: 15 additions & 0 deletions gemfiles/rails.7.0.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
source "https://rubygems.org"

gem "activesupport", "~> 7.0"
gem "rexml", ">= 3.2.4"

gem 'jruby-openssl', :platforms => :jruby

group :test, :remote_test do
# gateway-specific dependencies, keeping these gems out of the gemspec
gem 'braintree', '~> 2.78.0'
gem "psych", "< 4"
end


gemspec path: "../"
2 changes: 1 addition & 1 deletion generators/gateway/templates/remote_gateway_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def test_successful_authorize_and_capture

assert capture = @gateway.capture(@amount, auth.authorization)
assert_success capture
assert_equal 'REPLACE WITH SUCCESS MESSAGE', response.message
assert_equal 'REPLACE WITH SUCCESS MESSAGE', capture.message
end

def test_failed_authorize
Expand Down
6 changes: 1 addition & 5 deletions lib/active_merchant.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,6 @@
require 'active_support/core_ext/object/conversions'
require 'active_support/core_ext/class/attribute'
require 'active_support/core_ext/enumerable'

if(!defined?(ActiveSupport::VERSION) || (ActiveSupport::VERSION::STRING < "4.1"))
require 'active_support/core_ext/class/attribute_accessors'
end

require 'active_support/core_ext/module/attribute_accessors'

require 'base64'
Expand All @@ -42,6 +37,7 @@
require 'rexml/document'
require 'timeout'
require 'socket'
require 'openssl'

require 'active_merchant/network_connection_retries'
require 'active_merchant/connection'
Expand Down
27 changes: 13 additions & 14 deletions lib/active_merchant/billing/credit_card.rb
Original file line number Diff line number Diff line change
Expand Up @@ -176,21 +176,20 @@ def requires_verification_value?
# @return [String]
attr_accessor :icc_data

# Returns or sets a fallback reason for a EMV transaction whereby the customer's card entered a fallback scenario.
# This can be an arbitrary string.
# Returns or sets information about the source of the card data.
#
# @return [String]
attr_accessor :fallback_reason

# Returns or sets whether card-present EMV data has been read contactlessly.
#
# @return [true, false]
attr_accessor :contactless_emv

# Returns or sets whether card-present magstripe data has been read contactlessly.
#
# @return [true, false]
attr_accessor :contactless_magstripe
attr_accessor :read_method

READ_METHOD_DESCRIPTIONS = {
nil => 'A card reader was not used.',
'fallback_no_chip' => 'Magstripe was read because the card has no chip.',
'fallback_chip_error' => "Magstripe was read because the card's chip failed.",
'contactless' => 'Data was read by a Contactless EMV kernel. Issuer script results are not available.',
'contactless_magstripe' => 'Contactless data was read with a non-EMV protocol.',
'contact' => 'Data was read using the EMV protocol. Issuer script results may follow.',
'contact_quickchip' => 'Data was read by the Quickchip EMV kernel. Issuer script results are not available.',
}

# Returns the ciphertext of the card's encrypted PIN.
#
Expand Down Expand Up @@ -245,7 +244,7 @@ def last_name?
#
# @return [String] the full name of the card holder
def name
[first_name, last_name].compact.join(' ')
"#{first_name} #{last_name}".strip
end

def name=(full_name)
Expand Down
4 changes: 3 additions & 1 deletion lib/active_merchant/billing/credit_card_methods.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ module CreditCardMethods
'dankort' => /^5019\d{12}$/,
'maestro' => /^(5[06-8]|6\d)\d{10,17}$/,
'forbrugsforeningen' => /^600722\d{10}$/,
'laser' => /^(6304|6706|6709|6771(?!89))\d{8}(\d{4}|\d{6,7})?$/
'laser' => /^(6304|6706|6709|6771(?!89))\d{8}(\d{4}|\d{6,7})?$/,
'sodexo' => /^(606071|603389|606070|606069|606068|600818)\d{8}$/,
'vr' => /^(627416|637036)\d{8}$/
}

# http://www.barclaycard.co.uk/business/files/bin_rules.pdf
Expand Down
Loading
Loading