You can sign up for a Stripe account at https://stripe.com.
Requirements
Java 1.7 or later.
Installation
Maven users
Add this dependency to your project's POM:
<dependency> <groupId>com.stripe</groupId> <artifactId>stripe-java</artifactId> <version>5.6.0</version> </dependency>
Gradle users
Add this dependency to your project's build file:
compile "com.stripe:stripe-java:5.6.0"Others
You'll need to manually install the following JARs:
- The Stripe JAR from https://github.com/stripe/stripe-java/releases/latest
- Google Gson from https://repo1.maven.org/maven2/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar.
ProGuard
If you're planning on using ProGuard, make sure that you exclude the Stripe bindings. You can do this by adding the following to your proguard.cfg file:
-keep class com.stripe.** { *; }
Documentation
Please see the Java API docs for the most up-to-date documentation.
Usage
StripeExample.java
import java.util.HashMap; import java.util.Map; import com.stripe.Stripe; import com.stripe.exception.StripeException; import com.stripe.model.Charge; import com.stripe.net.RequestOptions; public class StripeExample { public static void main(String[] args) { RequestOptions requestOptions = (new RequestOptionsBuilder()).setApiKey("YOUR-SECRET-KEY").build(); Map<String, Object> chargeMap = new HashMap<String, Object>(); chargeMap.put("amount", 100); chargeMap.put("currency", "usd"); chargeMap.put("source", "tok_1234"); // obtained via Stripe.js try { Charge charge = Charge.create(chargeMap, requestOptions); System.out.println(charge); } catch (StripeException e) { e.printStackTrace(); } } }
See the project's functional tests for more examples.
Configuring Timeouts
Connect and read timeouts can be configured globally:
Stripe.setConnectTimeout(30 * 1000); // in milliseconds Stripe.setReadTimeout(80 * 1000);
Or on a finer grain level using RequestOptions:
RequestOptions options = RequestOptions.builder() .setConnectTimeout(30 * 1000) // in milliseconds .setReadTimeout(80 * 1000) .build(); Charge.create(params, options);
Please take care to set conservative read timeouts. Some API requests can take some time, and a short timeout increases the likelihood of a problem within our servers.
Testing
You must have Maven installed. To run the tests:
You can run particular tests by passing -D test=Class#method. Make sure you use the fully qualified class name to differentiate between
unit and functional tests. For example:
mvn test -D test=com.stripe.model.AccountTest
mvn test -D test=com.stripe.functional.ChargeTest
mvn test -D test=com.stripe.functional.ChargeTest#testChargeCreate