https://github.com/paypal/paypal-android
One merchant integration point for all of PayPal's services
https://github.com/paypal/paypal-android
Last synced: over 1 year ago
JSON representation
One merchant integration point for all of PayPal's services
- Host: GitHub
- URL: https://github.com/paypal/paypal-android
- Owner: paypal
- License: apache-2.0
- Created: 2021-07-27T19:05:29.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T22:03:21.000Z (almost 2 years ago)
- Last Synced: 2024-10-24T10:17:25.281Z (over 1 year ago)
- Language: Kotlin
- Homepage:
- Size: 3.23 MB
- Stars: 74
- Watchers: 25
- Forks: 41
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
Welcome to the PayPal Android SDK. This library will help you accept Card, PayPal, and Venmo payments in your Android app.
 
## FAQ
### Contribution
If you have suggestions for features that you would like to see in future iterations of the SDK, please feel free to open an issue, PR, or discussion with suggestions. This product is fully open source. We welcome any and all feedback.
## Support
The PayPal Android SDK is available for Android SDK 23+. See our [Client Deprecation policy](https://developer.paypal.com/braintree/docs/guides/client-sdk/deprecation-policy/android/v4) to plan for updates.
## Languages
This SDK is written in Kotlin and supports both Kotlin and Java integrations. See the [Java Demo App](#TODO: link demo when created) and [Kotlin Demo App](/Demo) for sample integrations.
## Including the SDK
You can support a specific payment method by adding its corresponding feature module as a dependency in your app's `build.gradle` file.
For example, to support both CardPayments and PayPalWebPayments in your app include the following dependencies with the current version:

```groovy
dependencies {
implementation 'com.paypal.android:card-payments:'
implementation 'com.paypal.android:paypal-web-payments:'
}
```
Snapshot builds of the latest SDK features are published from the `main` branch weekly. The snapshot builds can be used to test upcoming features before they have been released. To include a snapshot build, first add the repository to the top `build.gradle` file in your project.

```groovy
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
```
Then, add the dependency:
```groovy
dependencies {
implementation 'com.paypal.android:card-payments:-SNAPSHOT'
}
```
## Client ID
The PayPal SDK uses a client ID for authentication. This can be found in your [PayPal Developer Dashboard](https://developer.paypal.com/api/rest/#link-getstarted).
## Documentation
Documentation for the project can be found [here](https://developer.paypal.com/docs/checkout/advanced/android/).
## Release Process
This SDK follows [Semantic Versioning](https://semver.org/). This SDK is published to Maven Central. The release process is automated via GitHub Actions.
## Testing
This repository includes unit tests, integration tests, and end-to-end tests.
// TODO: Add sections with commands for running each type of tests
## Static Analysis Tools
### Detekt
This project uses [Detekt](https://github.com/detekt/detekt) for Kotlin code analysis. To run the code analysis:
```
./gradlew detekt
```
This will output a list of violations, if any.
Running the gradle task with the `-PdetektAutoCorrect` parameter, will automatically correct formatting issues:
```
./gradlew detekt -PdetektAutoCorrect
```
Detekt rules are configured in `detekt/detekt-config.yml`.
## Contributing
See our [GitHub Guidelines](#TODO: determine where this document will live and update link) for git practices followed in this project.