💳 Expose a page that let your customers update their payment information on Stripe.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
src
templates
.dockerignore
.env.dist
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
Dockerfile
README.md
Rocket.toml
release.toml

README.md

Stripe Update Card microservice

Expose a page that let your customers update their payment information on Stripe.

Travis Cargo version Crates.io Crates.io Docker Build Status MicroBadger Size

🐳 Getting started

docker run -it \
 -e STRIPE_PUBLISHABLE_KEY=pk_test_xxx \
 -e STRIPE_SECRET_KEY=sk_test_xxx \
 -e SUCCESS_REDIRECT_URL=https://url.to.redirect/on/success \
 -p 8080:8080 \
 fgribreau/stripe-update-card

# open payment update page for customer id: cus_D1Cj3rjHrjPQg5
open http://localhost:8080/cus_XXXXXXXXXXXX

Don't forget to change cus_XXXXXXXXXXXX with the Stripe customer id and then expose the URL http://sub.domain.tld/cus_XXXXXXXXXXXX from your app.

Configuration

Configuration is managed through environment variables, see .env.dist for the full-list.

# mandatory config
STRIPE_PUBLISHABLE_KEY=pk_test_xxxxxxxx
STRIPE_SECRET_KEY=sk_test_xxxx
SUCCESS_REDIRECT_URL=https://url.to.redirect/on/success

# optional config
PAGE_TITLE="Update Card"
FORM_DATA_IMAGE=/path/to/your/logo.png
FORM_DATA_NAME="The name of your company or website"
FORM_DATA_DESCRIPTION="A description of the product or service being purchased"
FORM_DATA_PANEL_LABEL="Update Card Details"
FORM_DATA_COLLECT_BILLING_ADDRESS=false
FORM_DATA_LABEL="Update Card Details"
FORM_DATA_ALLOW_REMEMBER_ME=false
FORM_DATA_LOCALE=auto

See stripe-update-card on docker hub.

Running in production at

🦄 Do you use it in production? Please support my work :)

Patreon donate button Gratipay donate button Flattr donate button PayPal donate button Bitcoin donate button

Cargo install

cargo install stripe-update-card

⚙️ Deployment

  • Deploy it (the fastest way is to use Clever-cloud thanks to their awesome native Rust support)
  • Set environment variables
  • Don't forget to add "RUSTUP_CHANNEL=nightly" env. variable for Rocket
  • Done!

❤️ Shameless plug

Development

cargo install cargo-watch
cargo install cargo-release

source .env

# watch for changes and restart everytime
RUST_LOG=debug cargo watch -x run 
  • Use Stripe test tokens
  • Use credit card number 4242 4242 4242 4242 and any date & CVV

CI

This project use Travis-CI to run tests & do builds.

Required environment variables are: