# ember-cli-stripe

> Stripe checkout for Ember

Latest version **4.0.1** (published 2024-08-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install ember-cli-stripe
pnpm add ember-cli-stripe
yarn add ember-cli-stripe
bun add ember-cli-stripe
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 4.0.1 |
| Published | 2024-08-07 |
| First published | 2014-11-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | 10.* \|\| >= 12 |
| Dependencies | 3 |
| Unpacked size | 16.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 88 |
| Author | Bill Curtis |
| Maintainers | wcurtis, vladucu, andrewpye |
| Keywords | ember-addon, stripe, stripe.js, stripejs, smile, smile.io |

## Links

- npm: https://www.npmjs.com/package/ember-cli-stripe
- Repository: https://github.com/smile-io/ember-cli-stripe
- Homepage: https://github.com/smile-io/ember-cli-stripe#readme
- Issues: https://github.com/smile-io/ember-cli-stripe/issues
- npm.io page: https://npm.io/package/ember-cli-stripe

## Dependencies (3)

- [ember-cli-babel](https://npm.io/package/ember-cli-babel.md) ^7.18.0
- [ember-cli-htmlbars](https://npm.io/package/ember-cli-htmlbars.md) ^5.0.0
- [ember-invoke-action](https://npm.io/package/ember-invoke-action.md) ^1.5.1

## Recent versions

- 4.0.1 (latest) — 2024-08-07
- 4.0.0 — 2024-04-09
- 3.0.0 — 2019-11-07
- 2.0.0 — 2019-07-15
- 1.0.4 — 2018-06-23
- 1.0.3 — 2018-01-29
- 1.0.2 — 2018-01-29
- 1.0.1 — 2017-05-21
- 1.0.0 — 2017-05-12
- 0.4.0 — 2015-07-29
- 0.3.0 — 2015-03-04
- 0.2.0 — 2014-12-23
- 0.1.1 — 2014-11-21
- 0.1.0 — 2014-11-20

## README

# Stripe checkout for Ember [![Build Status](https://travis-ci.org/smile-io/ember-cli-stripe.svg?branch=main)](http://travis-ci.org/smile-io/ember-cli-stripe)

![Preview](https://user-images.githubusercontent.com/160955/42161490-d734da26-7e03-11e8-97ca-761285ac2dff.png)

## Description

Simplest way to implement card payments in your Ember app.

This addon integrates Stripe's embedded payment form, Checkout.
See [Stripe Checkout](https://stripe.com/docs/checkout#integration-custom) docs.

The best documentation is the sample application in `tests/dummy`.

## Installation

```sh
ember install ember-cli-stripe
```

## Usage

```handlebars
{{stripe-checkout
  image="/square-image.png"
  name="Demo Site"
  description="2 widgets ($20.00)"
  amount=2000
  onToken=(action "processStripeToken")
}}
```

## Component properties

| Property       | Purpose                                                    |
| -------------- | ---------------------------------------------------------- |
| `label`        | Stripe Checkout button text.                               |
| `isDisabled`   | When true, the Stripe Checkout button is disabled.         |
| `showCheckout` | Can be used to open the Stripe Checkout modal dynamically. |

Besides the above, all [Stripe Checkout configuration options](https://stripe.com/docs/checkout#integration-custom)
are supported. If you notice anything missing please open an issue.

### Actions

The primary action of this component, `onToken` is called when the Stripe checkout succeeds. Its main param is a [Stripe Token](https://stripe.com/docs/api#tokens) object.

```javascript
import Ember from "ember";

export default Ember.Controller.extend({
  actions: {
    /**
     * Receives a Stripe token after checkout succeeds
     * The token looks like this https://stripe.com/docs/api#tokens
     */
    processStripeToken(token, args) {
      // Send token to the server to associate with account/user/etc
    },
  },
});
```

List of all actions:

| Action     | Purpose                                                     |
| ---------- | ----------------------------------------------------------- |
| `onToken`  | The callback invoked when the Checkout process is complete. |
| `onOpened` | The callback invoked when Checkout is opened.               |
| `onClosed` | The callback invoked when Checkout is closed.               |

## Configuration

All Stripe Checkout configuration options can be set in your apps config.

In most cases, you will want to add at least your Stripe **publishable key** to your app's config, but this can be set as a property on the component too.

```javascript
// config/environment.js
module.exports = function(environment) {
  var ENV = {
    stripe: {
        key: 'pk_test_C0sa3IlkLWBlrB8laH2fbqfh',
        ....
    },
  };

  return ENV;
};
```

**Note:** If Stripe options are set in the _environment.js_ file **and** when invoking the component, the later value will win.

Multiple Stripe keys are supported, when passed directly to the component.

## Compatibility

- Ember.js v3.12 or above
- Ember CLI v2.13 or above
- Node.js v10 or above

### For older versions of Ember.js

| Ember.js version | ember-cli-stripe version |
| ---------------- | ------------------------ |
| `4+`             | `4.x`                    |
| `3.4+`           | `3.x`                    |
| `2.18+`          | `2.x`                    |
| `1.13+`          | `0.x`                    |

**Note:** At your own risk, feel free to try current version, it might still work.

## Contributing

See the [Contributing](CONTRIBUTING.md) guide for details.

## License

This project is licensed under the [MIT License](LICENSE.md).

---
_Source: https://npm.io/package/ember-cli-stripe · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
