Stripe Java bindings
Latest commit 38ccd14 Nov 30, 2016 @ob-stripe ob-stripe committed on GitHub Merge pull request #335 from stripe/ob-verify-sources
Adds support for verify source endpoint

Stripe Java Bindings Build Status

You can sign up for a Stripe account at


Java 1.6 or later.


Maven users

Add this dependency to your project's POM:


Gradle users

Add this dependency to your project's build file:

compile "com.stripe:stripe-java:3.3.0"


You'll need to manually install the following JARs:


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.** { *; }


Please see the Java API docs for the most up-to-date documentation.


import java.util.HashMap;
import java.util.Map;

import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.model.Charge;

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");
        Map<String, Object> cardMap = new HashMap<String, Object>();
        cardMap.put("number", "4242424242424242");
        cardMap.put("exp_month", 12);
        cardMap.put("exp_year", 2020);
        chargeMap.put("card", cardMap);
        try {
            Charge charge = Charge.create(chargeMap, requestOptions);
        } catch (StripeException e) {

See for more examples.


You must have Maven installed. To run the tests:

mvn test

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