Create, update and delete stripe webhooks with your app deployment
Project description
@cloudcomponents/cdk-stripe-webhook
Create, update and delete stripe webhooks with your app deployment
Install
TypeScript/JavaScript:
npm i @cloudcomponents/cdk-stripe-webhook
Python:
pip install cloudcomponents.cdk-stripe-webhook
How to use
EventBus Producer
import { SecretKey, SecretKeyStore } from '@cloudcomponents/cdk-secret-key';
import { StripeWebhook, StripeEventBusProducer } from '@cloudcomponents/cdk-stripe-webhook';
import { Stack, StackProps, aws_ssm } from 'aws-cdk-lib';
import { Construct } from 'constructs';
export class StripeWebhookEventBusStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
if (typeof process.env.SECRET_KEY === 'undefined') {
throw new Error('environment variable SECRET_KEY undefined');
}
const secretKey = SecretKey.fromPlainText(process.env.SECRET_KEY);
const endpointSecretParameter = aws_ssm.StringParameter.fromSecureStringParameterAttributes(this, 'Param', {
parameterName: 'stripe',
version: 1,
});
const producer = new StripeEventBusProducer(this, 'Producer', {
secretKey,
endpointSecret: SecretKey.fromSSMParameter(endpointSecretParameter),
});
const events = ['charge.failed', 'charge.succeeded'];
const endpointSecretStore = SecretKeyStore.fromSSMParameter(endpointSecretParameter);
new StripeWebhook(this, 'StripeWebhook', {
secretKey,
url: producer.url,
events,
logLevel: 'debug',
endpointSecretStore,
});
}
}
Custom Handler
import { SecretKey } from '@cloudcomponents/cdk-secret-key';
import { StripeWebhook } from '@cloudcomponents/cdk-stripe-webhook';
import { Stack, StackProps, aws_apigateway } from 'aws-cdk-lib';
import { Construct } from 'constructs';
export class StripeWebhookStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const api = new aws_apigateway.RestApi(this, 'Endpoint');
api.root.addMethod('POST');
if (typeof process.env.SECRET_KEY === 'undefined') {
throw new Error('environment variable SECRET_KEY undefined');
}
const secretKey = SecretKey.fromPlainText(process.env.SECRET_KEY);
const events = ['charge.failed', 'charge.succeeded'];
new StripeWebhook(this, 'StripeWebhook', {
secretKey,
url: api.url,
events,
logLevel: 'debug',
});
}
}
API Reference
See API.md.
Example
See more complete examples.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for cloudcomponents.cdk-stripe-webhook-2.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e751fd76fbb17f58723676b9be8eb49b99afcdde3449fa358c5c3e7bfb4bfd1 |
|
MD5 | 32c0fd517b9c6213914440a8d4dcc551 |
|
BLAKE2b-256 | 6d11ac3821eab683d3219f3dffe7ebe8ce48c26e228437571bc0b6226b575ef8 |
Close
Hashes for cloudcomponents.cdk_stripe_webhook-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b77fb0d7da290a0688d3e7eed73672b923ae2efbe78fc48349b2b108d81d1303 |
|
MD5 | 51470699c02e5a9eac406bcb666ab23f |
|
BLAKE2b-256 | 0b1b755f4a9e3b8cbb0c0f30d651947309f9ddb7a3abb871d5b1ce3677456954 |