Swiftpack.co - vapor-community/stripe as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by vapor-community.
vapor-community/stripe 14.0.0
Stripe library for Vapor
⭐️ 159
🕓 27 weeks ago
macOS
.package(url: "https://github.com/vapor-community/stripe.git", from: "14.0.0")

Stripe

Swift Vapor

Stripe is a Vapor helper to use StripeKit

Usage guide

In your Package.swift file, add the following

.package(url: "https://github.com/vapor-community/stripe.git", from: "14.0.0")

To use Stripe in your Vapor application, set the environment variable for you Stripe API key

export STRIPE_API_KEY="sk_123456"      

Now you can access a StripeClient via Request.


struct ChargeToken: Content {
    var token: String
}

func chargeCustomer(_ req: Request) throws -> EventLoopFuture<HTTPStatus> {
    return try req.content.decode(ChargeToken.self).flatMap { charge in
        return req.stripe.charge.create(amount: 2500, currency: .usd, source: charge.stripeToken).map { stripeCharge in
            if stripeCharge.status == .success {
                return .ok
            } else {
                print("Stripe charge status: \(stripeCharge.status.rawValue)")
                return .badRequest
            }
        }
    }
}

License

Stripe is available under the MIT license. See the LICENSE file for more info.

Want to help?

Feel free to submit a pull request whether it's a clean up, a new approach to handling things, adding a new part of the API, or even if it's just a typo. All help is welcomed! 😀

GitHub

link
Stars: 159
Last commit: 3 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

Update to latest StripeKit.
27 weeks ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics