Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
786820a
Initial support for 0.23.x
pierre May 18, 2022
f198933
Merge pull request #50 from killbill/initial-version-for-0.23.x
pierre May 23, 2022
ca3fe7f
build(deps): bump stripe-java from 20.47.1 to 20.123.0
dependabot[bot] May 24, 2022
20ab1cf
pom.xml: update header
pierre May 24, 2022
556fab6
Merge pull request #52 from killbill/dependabot/maven/work-for-releas…
pierre May 24, 2022
9ffd590
.github: add integration_test workflow
pierre May 25, 2022
fb89e94
api: enhance handling of bad responses
pierre May 25, 2022
c399b1b
api: enhance handling of UNKNOWN transactions
pierre May 25, 2022
7cf574c
test: fix assertions
pierre May 25, 2022
7edee6a
docker: add Toxiproxy to CI setup
pierre May 25, 2022
9d86e94
Merge pull request #53 from killbill/integration-tests
pierre May 25, 2022
839cde4
Update ci.yml
pierre May 26, 2022
5965817
Update ci.yml
pierre Jun 1, 2022
86e3e13
build(deps): bump stripe-java from 20.123.0 to 20.125.0
dependabot[bot] Jun 2, 2022
bf6098a
Merge pull request #56 from killbill/dependabot/maven/work-for-releas…
pierre Jun 2, 2022
8bb37e9
Update ci.yml
pierre Jun 9, 2022
88629b5
build(deps): bump reactive-streams from 1.0.3 to 1.0.4
dependabot[bot] Jun 9, 2022
79017a8
build(deps): bump stripe-java from 20.125.0 to 20.127.0
dependabot[bot] Jun 9, 2022
3ffdfa1
Merge pull request #54 from killbill/dependabot/maven/work-for-releas…
pierre Jun 9, 2022
cd4ae4b
Merge pull request #58 from killbill/dependabot/maven/work-for-releas…
pierre Jun 9, 2022
4acd1b3
build(deps): bump stripe-java from 20.127.0 to 20.128.0
dependabot[bot] Jun 10, 2022
e37d0f4
Merge pull request #59 from killbill/dependabot/maven/work-for-releas…
pierre Jun 10, 2022
eb6b33e
build(deps): bump stripe-java from 20.128.0 to 20.129.0
dependabot[bot] Jun 20, 2022
3c2d65f
Merge pull request #61 from killbill/dependabot/maven/work-for-releas…
pierre Jun 21, 2022
e72b2dc
build(deps): bump stripe-java from 20.129.0 to 20.131.0
dependabot[bot] Jun 30, 2022
05d91a6
Merge pull request #65 from killbill/dependabot/maven/work-for-releas…
pierre Jul 1, 2022
4a27175
build(deps): bump stripe-java from 20.131.0 to 20.133.0
dependabot[bot] Jul 13, 2022
8648041
Merge pull request #68 from killbill/dependabot/maven/work-for-releas…
pierre Jul 14, 2022
741dd30
use insert statement + lastID() + fetchOne() instead of returning()
xsalefter Sep 12, 2022
1899527
remove 'version' declaration from jooq (so it use parent's version)
xsalefter Sep 17, 2022
3a32606
Merge pull request #82 from killbill/oss-550-fix_stripe_dao_to_enable…
pierre Sep 17, 2022
e051753
bump stripe-java from 20.133.0 to 21.8.0
xsalefter Sep 19, 2022
443c3be
bump stripe-java from 21.8.0 to 21.10.0
xsalefter Oct 5, 2022
e62667f
add lastCharge parameter in addResponse() and updateResponse()
xsalefter Oct 5, 2022
8fec9fb
use autoPagingIterable(params, option) instead of autoPagingIterable()
xsalefter Oct 5, 2022
457973a
externalize Charge retrieval
xsalefter Oct 5, 2022
02cac68
use autoPagingIterable(params, option) instead of autoPagingIterable()
xsalefter Oct 5, 2022
96a18dd
Merge pull request #86 from killbill/bump_stripe-java_from_20.133.0_t…
xsalefter Oct 6, 2022
baa1e62
build(deps): bump stripe-java from 21.10.0 to 21.11.0
dependabot[bot] Oct 7, 2022
187867b
Merge pull request #90 from killbill/dependabot/maven/work-for-releas…
pierre Oct 7, 2022
545e872
update oss-parent with jooq 3.15.12 and embedded postgres
xsalefter Oct 28, 2022
2039f05
Merge pull request #97 from killbill/update_parent_with_jooq_3.15_and…
pierre Oct 28, 2022
333e7c6
Bump stripe-java from 21.11.0 to 21.15.0
dependabot[bot] Nov 9, 2022
654c662
update oss-parent and use killbill's testing-mysql-server
xsalefter Nov 11, 2022
1082740
Merge pull request #100 from killbill/oss-552-use_killbills_testing_m…
pierre Nov 14, 2022
f5431ba
Merge pull request #99 from killbill/dependabot/maven/work-for-releas…
pierre Nov 16, 2022
c30586a
Merge branch 'master' into work-for-release-0.23.x
reshmabidikar Dec 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 15 additions & 47 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,51 +5,19 @@ on:
- pull_request
- workflow_dispatch

env:
MAVEN_FLAGS: "-B --no-transfer-progress"
MAVEN_OPTS: "-Xmx2G -XX:+ExitOnOutOfMemoryError -Dmaven.wagon.rto=60000 -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3"

jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java-version:
- 8
- 11
java-distribution:
- adopt
- zulu
profile:
- travis
- integration-mysql
- integration-postgresql
is-pr:
- ${{ contains(github.event_name, 'pull_request') }}
# PR don't have access to secrets
exclude:
- is-pr: true
profile: integration-mysql
- is-pr: true
profile: integration-postgresql
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Configure Sonatype mirror
uses: s4u/maven-settings-action@v2.3.0
# Go to Sonatype directly to avoid delay syncs (could get rid of this if actions/setup-java were to support mirrors).
with:
mirrors: '[{"id": "oss-releases", "name": "Sonatype releases", "mirrorOf": "*", "url": "https://oss.sonatype.org/content/repositories/releases/"}]'
- name: Tests
env:
MAVEN_PROFILE: ${{ matrix.profile }}
STRIPE_API_KEY: ${{ secrets.STRIPE_API_KEY }}
STRIPE_PUBLIC_KEY: ${{ secrets.STRIPE_PUBLIC_KEY }}
run: |
mvn ${MAVEN_FLAGS} clean install -P${MAVEN_PROFILE}
ci:
uses: killbill/gh-actions-shared/.github/workflows/ci.yml@main
with:
test-profile-matrix: '[ "travis", "integration-mysql", "integration-postgresql" ]'
secrets:
extra-env: '{ "STRIPE_API_KEY": "${{ secrets.STRIPE_API_KEY }}", "STRIPE_PUBLIC_KEY": "${{ secrets.STRIPE_PUBLIC_KEY }}" }'

integration_test:
uses: killbill/gh-actions-shared/.github/workflows/integration_test.yml@main
with:
plugin_name: 'stripe'
integration_tests_goal: 'test:plugins:stripe'
integration_tests_ref: 'refs/heads/work-for-release-0.23.x'
secrets:
extra-env: '{ "STRIPE_API_KEY": "${{ secrets.STRIPE_API_KEY }}", "STRIPE_PUBLIC_KEY": "${{ secrets.STRIPE_PUBLIC_KEY }}" }'
1 change: 0 additions & 1 deletion .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,18 @@ A full end-to-end integration demo is available [here](https://github.com/killbi

## Kill Bill compatibility

| Plugin version | Kill Bill version | Stripe version |
| -------------: | -----------------: | --------------------------------------------------------: |
| 1.x.y | 0.14.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 3.x.y | 0.16.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 4.x.y | 0.18.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 5.x.y | 0.19.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 6.x.y | 0.20.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 7.0.y | 0.22.z | [2019-12-03](https://stripe.com/docs/upgrades#2019-12-03) |
| 7.1.y | 0.22.z | [2019-12-03](https://stripe.com/docs/upgrades#2019-12-03) |
| 7.2.y | 0.22.z | [2020-08-27](https://stripe.com/docs/upgrades#2020-08-27) |
| 7.3.y | 0.22.z | [2020-08-27](https://stripe.com/docs/upgrades#2020-08-27) |
| Plugin version | Kill Bill version | Stripe version |
|---------------:|------------------:| --------------------------------------------------------: |
| 1.x.y | 0.14.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 3.x.y | 0.16.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 4.x.y | 0.18.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 5.x.y | 0.19.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 6.x.y | 0.20.z | [2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) |
| 7.0.y | 0.22.z | [2019-12-03](https://stripe.com/docs/upgrades#2019-12-03) |
| 7.1.y | 0.22.z | [2019-12-03](https://stripe.com/docs/upgrades#2019-12-03) |
| 7.2.y | 0.22.z | [2020-08-27](https://stripe.com/docs/upgrades#2020-08-27) |
| 7.3.y | 0.22.z | [2020-08-27](https://stripe.com/docs/upgrades#2020-08-27) |
| 8.0.y | 0.23.z | [2020-08-27](https://stripe.com/docs/upgrades#2020-08-27) |

### Release notes

Expand Down
44 changes: 44 additions & 0 deletions docker/docker-compose.ci.mysql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Copyright 2020-2022 Equinix, Inc
# Copyright 2014-2022 The Billing Project, LLC
#
# The Billing Project licenses this file to you under the Apache License, version 2.0
# (the "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#

version: '3.8'

services:
killbill:
network_mode: host
image: killbill/killbill:0.23.0-9116fa4-SNAPSHOT
environment:
- KILLBILL_CATALOG_URI=SpyCarAdvanced.xml
- KILLBILL_DAO_URL=jdbc:mysql://127.0.0.1:3306/killbill
- KILLBILL_DAO_USER=root
- KILLBILL_DAO_PASSWORD=root
- KILLBILL_SERVER_TEST_MODE=true
- KILLBILL_INVOICE_SANITY_SAFETY_BOUND_ENABLED=false
- KILLBILL_INVOICE_MAX_DAILY_NUMBER_OF_ITEMS_SAFETY_BOUND=-1
depends_on:
- db
volumes:
- /var/tmp/bundles/plugins/java/stripe-plugin:/var/lib/killbill/bundles/plugins/java/stripe-plugin
- /var/tmp/tomcat_logs:/var/lib/tomcat/logs
db:
network_mode: host
image: killbill/mariadb:0.23
environment:
- MYSQL_ROOT_PASSWORD=root
toxiproxy:
network_mode: host
image: ghcr.io/shopify/toxiproxy
44 changes: 44 additions & 0 deletions docker/docker-compose.ci.postgresql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Copyright 2020-2022 Equinix, Inc
# Copyright 2014-2022 The Billing Project, LLC
#
# The Billing Project licenses this file to you under the Apache License, version 2.0
# (the "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#

version: '3.8'

services:
killbill:
network_mode: host
image: killbill/killbill:0.23.0-9116fa4-SNAPSHOT
environment:
- KILLBILL_CATALOG_URI=SpyCarAdvanced.xml
- KILLBILL_DAO_URL=jdbc:postgresql://127.0.0.1:5432/killbill
- KILLBILL_DAO_USER=postgres
- KILLBILL_DAO_PASSWORD=postgres
- KILLBILL_SERVER_TEST_MODE=true
- KILLBILL_INVOICE_SANITY_SAFETY_BOUND_ENABLED=false
- KILLBILL_INVOICE_MAX_DAILY_NUMBER_OF_ITEMS_SAFETY_BOUND=-1
depends_on:
- db
volumes:
- /var/tmp/bundles/plugins/java/stripe-plugin:/var/lib/killbill/bundles/plugins/java/stripe-plugin
- /var/tmp/tomcat_logs:/var/lib/tomcat/logs
db:
network_mode: host
image: killbill/postgresql:0.23
environment:
- POSTGRES_PASSWORD=postgres
toxiproxy:
network_mode: host
image: ghcr.io/shopify/toxiproxy
76 changes: 54 additions & 22 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2020-2021 Equinix, Inc
~ Copyright 2014-2021 The Billing Project, LLC
~ Copyright 2020-2022 Equinix, Inc
~ Copyright 2014-2022 The Billing Project, LLC
~
~ The Billing Project licenses this file to you under the Apache License, version 2.0
~ (the "License"); you may not use this file except in compliance with the
Expand All @@ -20,11 +20,11 @@
<parent>
<groupId>org.kill-bill.billing</groupId>
<artifactId>killbill-oss-parent</artifactId>
<version>0.144.58</version>
<version>0.145.3-8ff3c94-SNAPSHOT</version>
</parent>
<groupId>org.kill-bill.billing.plugin.java</groupId>
<artifactId>stripe-plugin</artifactId>
<version>7.3.4-SNAPSHOT</version>
<version>8.0.0-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>Kill Bill Stripe plugin</name>
<description>Kill Bill Stripe plugin</description>
Expand All @@ -42,8 +42,19 @@
<properties>
<check.fail-spotbugs>true</check.fail-spotbugs>
<check.spotbugs-exclude-filter-file>spotbugs-exclude.xml</check.spotbugs-exclude-filter-file>
<!-- This is just for wiremock -->
<jetty.version>9.4.46.v20220331</jetty.version>
<osgi.private>org.killbill.billing.plugin.stripe.*</osgi.private>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<version>1.0.4</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
Expand All @@ -57,6 +68,21 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
Expand All @@ -72,27 +98,22 @@
<dependency>
<groupId>com.stripe</groupId>
<artifactId>stripe-java</artifactId>
<version>20.33.0</version>
<version>21.15.0</version>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>testing-mysql-server</artifactId>
<groupId>io.zonky.test</groupId>
<artifactId>embedded-postgres</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>testing-postgresql-server</artifactId>
<scope>test</scope>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
Expand All @@ -103,19 +124,20 @@
<artifactId>org.apache.felix.framework</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.asynchttpclient</groupId>
<artifactId>async-http-client</artifactId>
</dependency>
<dependency>
<groupId>org.jooby</groupId>
<artifactId>jooby</artifactId>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<!-- 3.14.0 broke returning() on MySQL :( -->
<version>3.13.5</version>
<exclusions>
<exclusion>
<!-- Pulls in 1.8.0-beta4 -->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.kill-bill.billing</groupId>
Expand Down Expand Up @@ -173,6 +195,16 @@
<artifactId>killbill-embeddeddb-common</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.commons</groupId>
<artifactId>killbill-metrics-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.kill-bill.testing</groupId>
<artifactId>testing-mysql-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
Expand Down Expand Up @@ -204,7 +236,7 @@
<exception>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<expectedVersion>3.14.13</expectedVersion>
<expectedVersion>3.15.10</expectedVersion>
<resolvedVersion>3.13.5</resolvedVersion>
</exception>
</exceptions>
Expand Down
3 changes: 3 additions & 0 deletions spotbugs-exclude.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,7 @@
<Match>
<Class name="~org\.killbill\.billing\.plugin\.stripe\.dao\.gen.*"/>
</Match>
<Match>
<Bug pattern="EI_EXPOSE_REP,EI_EXPOSE_REP2"/>
</Match>
</FindBugsFilter>
Loading
Loading