Skip to content
This repository was archived by the owner on Jan 3, 2024. It is now read-only.

[email protected] [in Beta] - PaymentIntents, SetupIntents & 3DSecure2 / SCA #532

Closed
wants to merge 181 commits into from

Conversation

mindlapse
Copy link
Collaborator

Merge of the experimental branch onto master for the 8.0.0 release

mindlapse and others added 30 commits July 5, 2019 11:21
AppInfo is needed so that Stripe can identify the transactions that are created through tipsi-stripe

Along with this, the compile and target SDK versions for android have been bumped to v28, stripe-android has been upgraded to 9.3.5, the minSdkVersion has increased to v19 (required).

Example app changes:
- Android compile and target SDK change from 26 -> 28
- Android min SDK change from 16 -> 19
- Android multiDexEnabled true
- Android support libraries upgraded to v28
- React native upgraded to 0.59.10
- React upgraded to 16.8.6
- android.useDeprecatedNdk=true was removed since it is no longer supported.
- android.enableAapt2=false was removed since it is now the default
- Gradle build tools upgraded to 3.4.1.  Gradle wrapper upgraded to v5.5.
- CircleCI config (for android)
- Android - Compile SDK version increased from 26 to 28
- Android - Target SDK version increased from 26 to 28
- Android - Min SDK version increased from 16 to 19
- Android - stripe-android increased from 8.1.0 to 9.3.5
- Android - Added Stripe AppInfo to requests

Example app:
- Updated react-native to 0.59.10 from 0.45.0
- Updated react to 16.8.6 from 16.0.x
- Upgraded gradle

Tests:
- Updated test suite to use webdriver 5.x from 4.7.1
- Update appium to 1.14
Note: This commit breaks iOS - a subsequent commit is needed
Added confirmPayment, authenticatePayment, createPaymentMethod bindings for src/Stripe.js
Upgrade to stripe-android:10.1.1
 Note: This commit breaks iOS - a subsequent commit is needed
- Confirmation of a payment intent resolves with { status, paymentIntentId }
- status is one of 'CANCELED', 'FAILED', 'SUCCEEDED', 'TIMEDOUT', or 'UNKNOWN'
- test page requires 'STRIPE_BACKEND' env to be defined, and it should contain a URL with a trailing slash pointing to a deployment of https://github.com/mindlapse/example-tipsi-stripe-backend
Wiring in the new example app PaymentIntentScreen
@vpontis
Copy link

vpontis commented Jan 14, 2020

I build and published the docs folder in this branch: https://tipsi-stripe-8-0-docs.onrender.com/ as of commit 10026e9

The docs are missing some of the new methods, so they aren't complete. But maybe this is helpful to other people looking at this PR :)

@fbartho fbartho changed the title 8.0.0 stable release [email protected] [in Beta] Jun 4, 2020
@fbartho fbartho mentioned this pull request Jun 4, 2020
@fbartho fbartho changed the title [email protected] [in Beta] [email protected] [in Beta] - PaymentIntents, SetupIntents & 3DSecure2 / SCA Jul 21, 2020
@bramski
Copy link
Contributor

bramski commented Jul 29, 2020

@fbartho @mindlapse Where are we at with getting this merged? Looks like a whole bunch of conflicts and I'm guessing broken tests. I must update our app to AndroidX and keep the SCA and stripe-connect support.

Should I take up the flame here, fix the tests and the conflicts? Then can we get this merged and move forward with AndroidX support?

@cybergrind
Copy link
Member

@bramski tests don't work for a long time, there is an semi-active branch called experimental and we're releasing a beta version that is used by some teams and has reasonable stability for production needs.
To get experimental branch merged into master we need to get some automatic tests or team that will do manual testing on a regular basis. Unfortunately, Tipsi team isn't here anymore and the company was merged twice and don't use RN anymore.

@bramski
Copy link
Contributor

bramski commented Jul 29, 2020

@cybergrind Yup I get that. We've been using the experimental branch now for 1 year since SCA became a requirement in europe. So I'm quite happy with the branch. What I'd like to know is where to get started to fix the tests. I need to make a choice whether to fix or ditch this library. I don't think we can very well ditch stripe so I need to estimate for our project how much work is needed to bring this library up to snuff and get it working on RN 0.6x. There is separate work for AndroidX and I need the experimental work. I'd much prefer to get this branch fixed and merged so we can move forward with active development. I believe the SCA work to be stable at this point, but the tests should be fixed to be of value for this project.

if (errorCode == null) {
errorCode = simpleName;
}
// ArgCheck.nonNull(errorCode, simpleName);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like it would be better just to delete this. This should definitely be non-null at this point as .getSimpleName will always return non-null.

wm.putString("status", intent.getStatus().toString());
wm.putString("paymentIntentId", intent.getId());

// String paymentMethodId = intent.getPaymentMethodId();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like this comment should be deleted. The code above covers it.

@fbartho
Copy link
Collaborator

fbartho commented Jul 29, 2020

@bramski -- let's discuss in Discord!

@Clonescody
Copy link

Any update on this guys ?

@fbartho
Copy link
Collaborator

fbartho commented Sep 8, 2020

@Clonescody -- you should think of the experimental branch as the new trunk for development for tipsi-stripe >= 8.0.0 -- all the contents of this PR have been deployed with the latest release: [email protected] and has been in production for many people for months now.

maxhungry and others added 2 commits October 2, 2020 12:07
* Fix payment method address

* Fix Stripe billing address type
Co-authored-by: Jeremias Binder <[email protected]>
@bramski
Copy link
Contributor

bramski commented Dec 25, 2020 via email

@varemenos
Copy link

varemenos commented Dec 26, 2020

Seems like it's been deprecated in favor of the Stripe-RN efforts.

Please don't use this library anymore

Stripe team finally has decided to provide RN binding themselves you can Apply Here

So Long, and Thanks for All the Fish!

From the README of the recently merged commit in master.

@bramski
Copy link
Contributor

bramski commented Dec 26, 2020 via email

@cybergrind
Copy link
Member

Hey @bramski

It's an interest form, and they're not yet providing a solid RN API

As I understand, they actually have a team working on the new library and can access it. I'm not sure why it is behind the wall.

I find your closing of all issues here rather premature.

The library itself isn't going anywhere. I want to encourage everyone to move forward to Stripe's official library.

Personally, I hate the "maintaining" project with 200 issues and dozens of PRs without any chance to get decent resources to work on it.
This library is a part of the intellectual property of Tipsi => Bridge => SevenFifty, and I'm not part of the team for 2 years. And business owners don't want to donate it to the community, + no one wanted to create hard-fork of it.

I would continue this only if we had people that can actually fix CI. Primarily because I'm no longer using RN.
Fortunately, we have community members that want to improve the library itself.

Unfortunately, we don't have anyone who would fix CI or anyone who would sponsor this work. Probably we could try to raise this money and do everything in hard-fork but, if Stripe want to fund their own library, it would be better for all of us

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.