September Stripe Developer Digest
Tags: stripe, stripedevdigest, showdev, news
Published: 2022-09-30 20:26:04

## September is Checkout month


![Checkout month livestreams](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dn28tx91tra9g55wo7yi.jpg)



From supporting free trials to embeddable pricing tables, Stripe Checkout has rapidly expanded in the past month. In September, we heard from the experts building and using Checkout. Watch our conversations with them to learn more:

- [What's new in Checkout and Payment Links?](https://www.youtube.com/watch?v=HNzzCVNC3HM)
- [Real world solutions built with Stripe Checkout](https://www.youtube.com/watch?v=PhlLUaIfbco)
- [Accepting recurring payments for your SaaS business with Checkout](https://www.youtube.com/watch?v=KZAv4qrDZrA)
- [Integrating Stripe Checkout with ASP.NET Core](https://www.youtube.com/watch?v=lM2YOA_W4Hk)
- [Running a $200k side hustle with Stripe Checkout](https://www.youtube.com/watch?v=S-UxzCtpB74)

## Stay Updated

**Display Stripe Issuing card details in your web application in a PCI compliant manner:** [The Stripe.js library](https://stripe.com/docs/issuing/elements?utm_medium=earned-email&utm_source=b41d&utm_campaign=GLOBAL_4700&utm_content=88b4&utm_term=2b3b0f2efc97) accomplishes this browser-side, allowing you to securely display sensitive card data.

**Offer free trials in Checkout without a payment method**:  Checkout can now collect your trial user’s contact information and send a reminder email at the [end of the trial period](https://stripe.com/docs/payments/checkout/free-trials?utm_medium=earned-email&utm_source=b0b8&utm_campaign=GLOBAL_4b09&utm_content=b0e9&utm_term=7b4c8bc78bc8) to collect the user’s payment details to continue their subscription.

**Invoice customers in multiple currencies:** It's now possible to [choose what currency to bill your customers](https://stripe.com/docs/invoicing/multi-currency-customers?utm_medium=earned-email&utm_source=c291&utm_campaign=GLOBAL_4180&utm_content=a375&utm_term=2108bb1e179d) using the currency parameter to request payment in other than the customer’s default.

**Store Stripe Apps secrets with Secret Store:** Our [Secret Store API](https://stripe.com/docs/stripe-apps/store-secrets?utm_medium=earned-email&utm_source=875d&utm_campaign=GLOBAL_4f17&utm_content=a8e6&utm_term=4d0568274a84) allows you to store sensitive data, such as API keys and authentication details, when using Stripe Apps

**Support installment plan payments in Mexico:** Payments APIs now support meses sin intereses for all users in Mexico. Learn more about [compatibility and details for paying in installments](https://stripe.com/docs/payments/installments?utm_medium=earned-email&utm_source=17c1&utm_campaign=GLOBAL_474c&utm_content=9ec4&utm_term=1c7d63cf4894).

**Set URL parameters for Payment Links from the Dashboard:** Use [URL parameters for Payment Links](https://stripe.com/docs/payments/payment-links?utm_medium=earned-email&utm_source=1cf3&utm_campaign=GLOBAL_4a75&utm_content=a26d&utm_term=28474db487a6#url-prefills) to set UTMs, promotion codes, and other attributes that are configurable from the Stripe Dashboard.

**Card Elements can use Link:** Card Element users will soon be able to turn on [Link](https://stripe.com/docs/payments/link-card-elements?utm_medium=earned-email&utm_source=b108&utm_campaign=GLOBAL_4012&utm_content=a307&utm_term=fda751633e3f), Stripe’s one-click checkout experience, to boost conversion right from the Dashboard, no code required—[request early access](https://stripe.com/docs/payments/link-card-elements?utm_medium=earned-email&utm_source=33f8&utm_campaign=GLOBAL_47b7&utm_content=b7b0&utm_term=5f969f96fb88#enable-link). 

**Tap to Pay on iPhone:** US platforms and marketplaces can now start accepting in-person contactless payments with only an iPhone and Stripe—no extra terminals, hardware, or readers required—request early access. 

### Mobile updates

**Code sample—card brand choice for Cartes Bancaires:** We released a [new sample on GitHub](https://github.com/stripe-samples/card-brand-choice) showing how to use card brand choice features for Cartes Bancaires on iOS and Android.

- **Stripe Android SDK:** [Android SDK versions 20.7.0-20.11.0](https://github.com/stripe/stripe-android/releases) were released this month and contain updates and fixes for functionality related to PaymentSheet and Identity.
- **Stripe iOS SDK:** [iOS SDK versions 22.6.0 - 22.8.0](https://github.com/stripe/stripe-ios/releases) were released this month. These updates contain fixes and updates for PaymentSheet and Apple Pay.
- **Stripe React Native:** [Versions 0.15.0 - 0.18.1](https://github.com/stripe/stripe-react-native/releases) were published this month and include a breaking change: Your compileSdkVersion for android/build.gradle must be set to greater than version 32. There are also updates to confirmPayment, several bug fixes, and the inclusion of Link on PaymentSheet for iOS. 

## Learn

**Build your first SaaS**. Subscription businesses can seem complex to support, with configurations required for multiple products, price changes, and discounts. In the five-part [SaaS Fundamentals video series](https://www.youtube.com/playlist?list=PLy1nL-pvL2M7eA-y6JbIBbMQM_Ngy5Euq) (and a [text version](https://dev.to/cjav_dev/series/19251)), Stripe developer advocate [@cjav_dev](https://twitter.com/cjav_dev) takes you through using Stripe to meet these needs and more. 

**Checkout reconciliation:** Learn best practices for [fulfilling orders with Stripe Checkout](https://dev.to/stripe/purchase-fulfilment-with-checkout-or-wait-what-was-i-paid-for-335d). You’ll learn how to handle the checkout.session.completed webhook event notification and how to expand line items to know what the customer purchased.

**Three tinydemos:** [Tinydemos](https://glitch.com/@stripe/tinydemos) are small, self-contained examples that are ideal for you to experiment and learn with. This month we have added three to the collection: [set up recurring payments using Bancontact, iDEAL and Sofort](https://stripe-tinydemos-bancontact-ideal-sofort-subscriptions.glitch.me/) with Checkout; [fetch updates from the frontend for a Payment Element](https://stripe-tinydemos-payment-element-update.glitch.me) by fetching data from the backing Payment Intent if data (e.g. an amount) has changed on it; easily [embed a pricing table in your website](https://stripe-tinydemos-pricing-table.glitch.me) after configuring from the Stripe Dashboard.

### Additional resources: 

- [The potential of pay-what-you-want Payment Links](https://dev.to/stripe/the-potential-of-pay-what-you-want-payment-links-40fe)
- [Create an omnichannel shopping experience with Stripe Terminal in Node.js](https://dev.to/stripe/create-an-omnichannel-shopping-experience-with-stripe-terminal-in-nodejs-heh)
- [How we use friction logs to improve products at Stripe](https://dev.to/stripe/how-we-use-friction-logs-to-improve-products-at-stripe-i6p)
- [Introduction to the Stripe CLI and the Stripe for VS Code extension](https://dev.to/stripe/introduction-to-the-stripe-cli-and-the-stripe-for-vs-code-extension-2pmb)
- [Deploy a Stripe sample to a cloud service with Terraform](https://dev.to/erikatstripe/deploy-a-stripe-sample-to-a-cloud-service-with-terraform-2l08)
- [Providing receipts for in-person transactions with Terminal](https://dev.to/stripe/providing-receipts-for-in-person-transactions-with-terminal-5ee3)

---

**Protip**: The Stripe API accepts [idempotency keys](https://stripe.com/docs/api/idempotent_requests?utm_medium=earned-email&utm_source=4c3a&utm_campaign=GLOBAL_44f2&utm_content=95a9&utm_term=ffa52d36e676) to avoid accidentally performing the same operation twice.

---

## Community

- [Laravel Cashier](https://laravel.com/docs/9.x/billing) has added support for the 2022-08-01 [Stripe SDKs](https://github.com/stripe).
- [Flutter Stripe](https://pub.dev/packages/flutter_stripe) includes support for financial connections and the 2022-08-01 [Stripe SDKs](https://github.com/stripe).
- Learn [how to create subscriptions payments using Django and Stripe](https://medium.com/@surya.vijjeswarapu/how-to-create-subscription-payments-with-django-and-stripe-3d-secure-using-dj-stripe-a7b55a391196) using [dj-stripe](https://dj-stripe.dev/).
- [Jerome Leclanche](https://twitter.com/adys), co-lead maintainer of [dj-stripe](https://dj-stripe.dev/), will speak at [DjangoCon Europe](https://pretalx.evolutio.pt/djangocon-europe-2022/) on [how to facilitate sponsorships for open source projects](https://pretalx.evolutio.pt/djangocon-europe-2022/talk/BDATHF/). 
- Dev community expert [Chris Oliver](https://twitter.com/excid3) joined the [Rubber Duck Dev Show](https://www.youtube.com/channel/UCWU8zo-pAw4l6umCSYgx6Vg) to chat about [Pay Gem and OSS learnings](https://www.youtube.com/watch?v=2r0lx1KEWXg).
- Check out this [Stripe App](https://github.com/ericlackey/stripe-app-terminal) from [Eric Lackey](https://github.com/ericlackey) that allows a Stripe Dashboard user to accept payment methods or a payment using Stripe Terminal
- [Build a Stripe App with Node.js and Typescript](https://www.saasbase.dev/build-a-stripe-app-with-typescript-and-node-js-part-1/) in this two-part series from [Sukhpal Saini](https://www.saasbase.dev/author/sukh/). 
- Learn how to [verify Stripe Webhook Signatures with Cloudflare Workers](https://jross.me/verifying-stripe-webhook-signatures-cloudflare-workers/) with [James Ross](https://twitter.com/CherryJimbo).
- [Add Stripe payments to a React Native app](https://fiyaz2110.hashnode.dev/how-to-add-payment-into-react-native-using-stripe) in this walkthrough with [Fiyaz Hussain](https://hashnode.com/@fiyaz2110).
- [Ideal Coding](https://www.youtube.com/channel/UCZtduRnuNuuK0ezlqJrzd6Q) walks through [how to set up a Stripe payment integration in Bangla](https://www.youtube.com/playlist?list=PLSCas4k3TV7JO0jEU8xG_ix7qR8GivGdS). 

## Stay Connected

💬 [Follow us at @StripeDev on Twitter](https://twitter.com/stripedev?utm_medium=earned-email&utm_source=ca34&utm_campaign=GLOBAL_4e3d&utm_content=acb3&utm_term=6db64f34c22b) for updates and answers to your developer questions. Let us know what you’re working on with the Stripe API.
👾 [Join the Stripe Discord server](https://stripe.com/go/developer-chat?utm_medium=earned-email&utm_source=2f5e&utm_campaign=GLOBAL_410e&utm_content=a447&utm_term=e4b2845997ad) to chat live with other developers.
📺 [Subscribe to Stripe Developers on YouTube](https://www.youtube.com/stripedevelopers?sub_confirmation=1&utm_medium=earned-email&utm_source=88b3&utm_campaign=GLOBAL_4c06&utm_content=9f09&utm_term=cbd6311849b8) for office hours, livestreams, and online technical workshops.
📚 [Add us on DEV](https://dev.to/stripe?utm_medium=earned-email&utm_source=93e7&utm_campaign=GLOBAL_42a9&utm_content=b458&utm_term=10353c80903e) for how-to articles and past editions of this developer digest.
📥 [Submit dev content](https://docs.google.com/forms/d/e/1FAIpQLSdkGW6uSv__oJKuIUmcXNG9knoZInGhnx7PEKp7k774A907dQ/viewform?utm_medium=earned-email&utm_source=8823&utm_campaign=GLOBAL_4e24&utm_content=aa1d&utm_term=a21301db0a37) for the developer digest.

What would you like to see more (or less) of? Let us know by replying to this post. If you have questions or comments or need help with code, we’re here to help [via email](https://support.stripe.com/contact/login) or on [Discord]