Add Activepieces integration for workflow automation

- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-18 22:59:37 -05:00
parent 9848268d34
commit 3aa7199503
16292 changed files with 1284892 additions and 4708 deletions

View File

@@ -0,0 +1,3 @@
{
"presets": [["@nx/js/babel", { "useBuiltIns": "usage" }]]
}

View File

@@ -0,0 +1,18 @@
{
"extends": ["../../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
"rules": {}
},
{
"files": ["*.ts", "*.tsx"],
"rules": {}
},
{
"files": ["*.js", "*.jsx"],
"rules": {}
}
]
}

View File

@@ -0,0 +1,7 @@
# pieces-stripe
This library was generated with [Nx](https://nx.dev).
## Running lint
Run `nx lint pieces-stripe` to execute the lint via [ESLint](https://eslint.org/).

View File

@@ -0,0 +1,4 @@
{
"name": "@activepieces/piece-stripe",
"version": "0.5.16"
}

View File

@@ -0,0 +1,51 @@
{
"name": "pieces-stripe",
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "packages/pieces/community/stripe/src",
"projectType": "library",
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": [
"{options.outputPath}"
],
"options": {
"outputPath": "dist/packages/pieces/community/stripe",
"tsConfig": "packages/pieces/community/stripe/tsconfig.lib.json",
"packageJson": "packages/pieces/community/stripe/package.json",
"main": "packages/pieces/community/stripe/src/index.ts",
"assets": [
"packages/pieces/community/stripe/*.md",
{
"input": "packages/pieces/community/stripe/src/i18n",
"output": "./src/i18n",
"glob": "**/!(i18n.json)"
}
],
"buildableProjectDepsInPackageJsonType": "dependencies",
"updateBuildableProjectDepsInPackageJson": true
},
"dependsOn": [
"^build",
"prebuild"
]
},
"lint": {
"executor": "@nx/eslint:lint",
"outputs": [
"{options.outputFile}"
]
},
"prebuild": {
"executor": "nx:run-commands",
"options": {
"cwd": "packages/pieces/community/stripe",
"command": "bun install --no-save --silent"
},
"dependsOn": [
"^build"
]
}
},
"tags": []
}

View File

@@ -0,0 +1,51 @@
{
"Stripe": "Stripe",
"Online payment processing for internet businesses": "Online payment processing for internet businesses",
"Secret key acquired from your Stripe dashboard": "Secret key acquired from your Stripe dashboard",
"Create Customer": "Create Customer",
"Create Invoice": "Create Invoice",
"Search Customer": "Search Customer",
"Retrieve Customer": "Retrieve Customer",
"Custom API Call": "Custom API Call",
"Create a customer in stripe": "Create a customer in stripe",
"Create an Invoice in stripe": "Create an Invoice in stripe",
"Search for a customer in stripe by email": "Search for a customer in stripe by email",
"Retrieve a customer in stripe by id": "Retrieve a customer in stripe by id",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Email": "Email",
"Name": "Name",
"Description": "Description",
"Phone": "Phone",
"Address Line 1": "Address Line 1",
"Postal Code": "Postal Code",
"City": "City",
"State": "State",
"Country": "Country",
"Customer ID": "Customer ID",
"Currency": "Currency",
"ID": "ID",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "Currency for the invoice (e.g., USD)",
"Description for the invoice": "Description for the invoice",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Payment": "New Payment",
"New Customer": "New Customer",
"Payment Failed": "Payment Failed",
"New Subscription": "New Subscription",
"Triggers when a new payment is made": "Triggers when a new payment is made",
"Triggers when a new customer is created": "Triggers when a new customer is created",
"Triggers when a payment fails": "Triggers when a payment fails",
"Triggers when a new subscription is made": "Triggers when a new subscription is made"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Online-Zahlungsabwicklung für Internetunternehmen",
"Secret key acquired from your Stripe dashboard": "Geheimer Schlüssel, der von Ihrem Stripe-Dashboard übernommen wurde",
"Create Customer": "Kunde erstellen",
"Create Invoice": "Rechnung erstellen",
"Search Customer": "Kunden suchen",
"Search Subscriptions": "Abonnements durchsuchen",
"Retrieve Customer": "Kunde abrufen",
"Update Customer": "Kunde aktualisieren",
"Create Payment (Payment Intent)": "Zahlung erstellen (Payment Intent)",
"Create Product": "Produkt erstellen",
"Create Price": "Preis erstellen",
"Create Subscription": "Abonnement erstellen",
"Cancel Subscription": "Abonnement kündigen",
"Retrieve an Invoice": "Rechnung abrufen",
"Retrieve a Payout": "Eine Auszahlung abrufen",
"Create a Refund": "Erstattung erstellen",
"Create Payment Link": "Zahlungslink erstellen",
"Deactivate Payment Link": "Zahlungslink deaktivieren",
"Find Payment (by Payment Intent ID)": "Zahlung finden (mittels Zahlungsintensnummer)",
"Find Invoice": "Rechnung finden",
"Custom API Call": "Eigener API-Aufruf",
"Create a customer in stripe": "Kunde in Streifen erstellen",
"Create an Invoice in stripe": "Rechnung in Streifen erstellen",
"Search for a customer in stripe by email": "Suche nach einem Kunden in Streifen per E-Mail",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Suche nach Abonnements nach Preis-ID, Status, Kunden-ID und anderen Filtern, einschließlich der Kundendetails",
"Retrieve a customer in stripe by id": "Abrufen eines Kunden in Streifen mit Id",
"Modify an existing customers details.": "Ändern Sie die Details eines bestehenden Kunden.",
"Creates a new payment intent to start a payment flow.": "Erzeugt eine neue Zahlungsabsicht, einen Zahlungsvorgang zu starten.",
"Create a new product object in Stripe.": "Erstellen Sie ein neues Produktobjekt in Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Erstelle einen Preis (einmalig oder wiederkehrend), der einem Produkt zugeordnet ist.",
"Start a subscription for a customer with specified items/prices.": "Starten Sie ein Abonnement für einen Kunden mit bestimmten Artikeln/Preisen.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Kündigen Sie ein bestehendes Abonnement, entweder sofort oder am Ende des aktuellen Abrechnungszeitraums.",
"Retrieves the details of an existing invoice by its ID.": "Ruft die Details einer bestehenden Rechnung durch ihre ID ab.",
"Retrieves the details of an existing payout by its ID.": "Ruft die Details einer bestehenden Auszahlung durch ihre ID ab.",
"Create a full or partial refund for a payment.": "Erstellen Sie eine vollständige oder teilweise Rückerstattung für eine Zahlung.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Erstellt einen teilbaren, Stripe-gehosteten Zahlungslink für einmalige Einkäufe oder Abonnements.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Deaktivieren oder deaktivieren Sie einen Zahlungslink, damit er nicht mehr verwendet werden kann.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Ruft die Details einer Zahlung durch seine eindeutige Zahlungsintensnummer ab.",
"Finds an invoice by its unique ID.": "Findet eine Rechnung mit ihrer eindeutigen ID.",
"Make a custom API call to a specific endpoint": "Einen benutzerdefinierten API-Aufruf an einen bestimmten Endpunkt machen",
"Email": "E-Mail",
"Name": "Name",
"Description": "Beschreibung",
"Phone": "Telefon",
"Address Line 1": "Adresszeile 1",
"Postal Code": "Postleitzahl",
"City": "Stadt",
"State": "Bundesland",
"Country": "Land",
"Customer ID": "Kunden-ID",
"Currency": "Währung",
"Price IDs": "Preis-IDs",
"Subscription Status": "Abonnementstatus",
"Created After": "Erstellt nach",
"Created Before": "Erstellt vor",
"Limit": "Limit",
"Fetch All Results": "Alle Ergebnisse abrufen",
"Include Customer Details": "Kundendaten einbeziehen",
"ID": "ID",
"Customer": "Kunde",
"Amount": "Betrag",
"Payment Method ID": "ID der Zahlungsart",
"Confirm Payment Immediately": "Zahlung sofort bestätigen",
"Return URL": "Retouren-URL",
"Receipt Email": "Quittung E-Mail",
"Product Name": "Produktname",
"Active": "Aktiv",
"Image URLs": "Bild-URLs",
"Product URL": "Produkt-URL",
"Metadata": "Metadaten",
"Product": "Produkt",
"Unit Amount": "Stückbetrag",
"Billing Interval": "Rechnungsintervall",
"Interval Count": "Intervallanzahl",
"Subscription Items": "Abonnement-Elemente",
"Collection Method": "Sammelmethode",
"Days Until Due": "Tage bis Fälligkeit",
"Trial Period (Days)": "Testzeitraum (Days)",
"Default Payment Method ID": "Standard Zahlungsmethode ID",
"Subscription": "Abonnements",
"Cancel at Period End": "Abbrechen am Ende des Zeitraums",
"Invoice": "Rechnung",
"Payout": "Auszahlung",
"Payment Intent": "Zahlungsvorsatz",
"Reason": "Grund",
"Line Items": "Zeilenelemente",
"After Completion Behavior": "Verhalten nach Abschluss",
"Redirect URL": "Weiterleitungs-URL",
"Allow Promotion Codes": "Promotion-Codes erlauben",
"Billing Address Collection": "Rechnungsadresse: Sammlung",
"Payment Link": "Zahlungslink",
"Method": "Methode",
"Headers": "Kopfzeilen",
"Query Parameters": "Abfrageparameter",
"Body": "Körper",
"Response is Binary ?": "Antwort ist binär?",
"No Error on Failure": "Kein Fehler bei Fehler",
"Timeout (in seconds)": "Timeout (in Sekunden)",
"Stripe Customer ID": "Stripe-Kunden-ID",
"Currency for the invoice (e.g., USD)": "Währung für die Rechnung (z. B. USD)",
"Description for the invoice": "Beschreibung der Rechnung",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Komma-getrennte Liste der zu filternden Preise (z.B.: price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Nach Abonnementstatus filtern",
"Filter by specific customer ID (optional)": "Nach Kunden-ID filtern (optional)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filterabonnements erstellt nach diesem Datum (Format JJJJ-MM-TT)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filterabonnements erstellt vor diesem Datum (Format JJJJ-MM-TT)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Maximale Anzahl der zurückzugebenden Abonnements (Standard: 100, auf 0 für alle gesetzt)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Holen Sie sich alle passenden Abonnements (ignoriert Limit, kann länger dauern für große Daten)",
"Fetch detailed customer information for each subscription": "Rufe detaillierte Kundeninformationen für jedes Abonnement ab",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "Der zu ladende Betrag in einem dezimalen Format (z.B. 10,50 für 10,50).",
"The three-letter ISO code for the currency.": "ISO-Code für die Währung.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "Die ID der anzuhängenden Zahlungsmethode (z.B. `pm_...`). Benötigt, wenn Sie die Zahlung sofort bestätigen möchten.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "Wenn aktiviert, versucht Stripe die angegebene Zahlungsmethode zu berechnen. Eine \"Zahlungsmethoden-ID\" ist erforderlich.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "Die URL, an die Ihr Kunde zurückgeleitet wird, nachdem er seine Zahlung authentifiziert hat. Wird benötigt um die Zahlung zu bestätigen.",
"The email address to send a receipt to. This will override the customer's email address.": "Die E-Mail-Adresse, an die eine Quittung gesendet werden soll. Dies wird die E-Mail-Adresse des Kunden überschreiben.",
"The products name, meant to be displayable to the customer.": "Der Name des Produkts, der dem Kunden angezeigt werden soll.",
"The products description, meant to be displayable to the customer.": "Die Produktbeschreibung, die dem Kunden angezeigt werden soll.",
"Whether the product is currently available for purchase. Defaults to true.": "Gibt an, ob das Produkt derzeit zum Kauf verfügbar ist. Standard ist wahr.",
"A list of up to 8 URLs of images for this product.": "Eine Liste mit bis zu 8 URLs von Bildern für dieses Produkt.",
"A publicly-accessible online page for this product.": "Eine öffentlich zugängliche Online-Seite für dieses Produkt.",
"A set of key-value pairs to store additional information about the product.": "Eine Reihe von Schlüssel-Wert-Paaren, um zusätzliche Informationen über das Produkt zu speichern.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "Der Preisbetrag als Dezimal, zum Beispiel 25,50 für 25,50.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Geben Sie die Abrechnungsfrequenz an. Wählen Sie 'One-Time' für eine einmalige und nicht wiederkehrende Zahlung.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "Die Anzahl der Intervalle zwischen Abonnementabrechnungen (z. für Abrechnung alle 3 Monate, setzen Sie Interval auf monatlich und Interval Count auf 3). Nur für wiederkehrende Preise.",
"A list of prices to subscribe the customer to.": "Eine Liste der Preise für den Kunden zu abonnieren.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "Wie die Zahlung abgeholt wird. 'charge_automatically' versucht die Standard-Zahlungsmethode abzurechnen. 'send_invoice' sendet eine Rechnung per E-Mail.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Anzahl der Tage vor Fälligkeit einer Rechnung. Benötigt wenn die Einziehungsmethode \"Rechnung senden\" ist.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Integer, der die Anzahl der Testtage angibt, die der Kunde vor der Abo-Rechnung zum ersten Mal erhält.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID der Standard-Zahlungsmethode für das Abonnement (z.B. `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "Sollte dies der Fall sein, bleibt das Abonnement bis zum Ende der aktuellen Abrechnungsfrist aktiv.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "Der zu erstattende Betrag (z.B. 12.99). Wenn leer gelassen, wird eine vollständige Rückerstattung erteilt.",
"An optional reason for the refund.": "Ein optionaler Grund für die Rückerstattung.",
"A set of key-value pairs to store additional information about the refund.": "Eine Reihe von Schlüssel-Wert-Paaren, um zusätzliche Informationen über die Erstattung zu speichern.",
"The products and quantities to include in the payment link.": "Die Produkte und Mengen, die in den Zahlungslink aufgenommen werden sollen.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Steuert das Verhalten nach Abschluss des Kaufs. Standardmäßig zeigt Stripe's gehostete Bestätigungsseite an.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "Die URL, auf die der Kunde nach einem erfolgreichen Kauf umgeleitet wird. Wird nur verwendet, wenn das Verhalten auf \"Weiterleitung zu URL\" gesetzt ist.",
"Enables the user to enter a promotion code on the Payment Link page.": "Ermöglicht dem Benutzer, einen Promotion-Code auf der Zahlungs-Link Seite einzugeben.",
"Describes whether Checkout should collect the customers billing address.": "Beschreibt, ob der Checkout die Rechnungsadresse des Kunden einholen soll.",
"Authorization headers are injected automatically from your connection.": "Autorisierungs-Header werden automatisch von Ihrer Verbindung injiziert.",
"Enable for files like PDFs, images, etc..": "Aktivieren für Dateien wie PDFs, Bilder, etc..",
"All Statuses": "Alle Status",
"Past Due": "Vergangene Fälligkeit",
"Unpaid": "Unbezahlt",
"Canceled": "Abgebrochen",
"Incomplete": "Unvollständig",
"Incomplete Expired": "Unvollständig abgelaufen",
"Trialing": "Übung",
"Paused": "Pausiert",
"US Dollar": "US-Dollar",
"Euro": "Euro",
"Pound Sterling": "Pfund Sterling",
"Australian Dollar": "Australischer Dollar",
"Canadian Dollar": "Kanadischer Dollar",
"Swiss Franc": "Schweizer Franken",
"Chinese Yuan": "Chinesischer Yuan",
"Japanese Yen": "Japanischer Yen",
"Indian Rupee": "Indische Rupie",
"Singapore Dollar": "Singapur-Dollar",
"One-Time": "Einmal",
"Daily": "Täglich",
"Weekly": "Wöchentlich",
"Monthly": "Monatlich",
"Yearly": "Jährlich",
"Charge Automatically": "Automatisch aufladen",
"Send Invoice": "Rechnung senden",
"Duplicate": "Duplizieren",
"Fraudulent": "Betrügerisch",
"Requested by Customer": "Anfrage des Kunden",
"Show Confirmation Page": "Bestätigungsseite anzeigen",
"Redirect to URL": "Auf URL umleiten",
"Auto": "Auto",
"Required": "Benötigt",
"GET": "ERHALTEN",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "LÖSCHEN",
"HEAD": "HEAD",
"New Payment": "Neue Zahlung",
"New Customer": "Neuer Kunde",
"Payment Failed": "Zahlung fehlgeschlagen",
"New Subscription": "Neues Abonnement",
"New Charge": "Neue Gebühr",
"New Invoice": "Neue Rechnung",
"Invoice Payment Failed": "Zahlung der Rechnung fehlgeschlagen",
"Canceled Subscription": "Abo storniert",
"New Refund": "Neue Rückerstattung",
"New Dispute": "Neuer Streit",
"New Payment Link": "Neuer Zahlungslink",
"Updated Subscription": "Aktualisiertes Abonnement",
"Checkout Session Completed": "Checkout-Sitzung abgeschlossen",
"Triggers when a new payment is made": "Wird ausgelöst, wenn eine neue Zahlung erfolgt",
"Triggers when a new customer is created": "Wird ausgelöst, wenn ein neuer Kunde erstellt wird",
"Triggers when a payment fails": "Wird ausgelöst, wenn eine Zahlung fehlgeschlagen ist",
"Triggers when a new subscription is made": "Wird ausgelöst, wenn ein neues Abonnement abgeschlossen wird",
"Fires when a charge is successfully completed.": "Feuer, wenn eine Ladung erfolgreich abgeschlossen ist.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Feuer, wenn eine Rechnung erstellt wird. Unterstützt Filter wie Status, Kunden, Abonnement.",
"Fires when a payment against an invoice fails.": "Feuert ab, wenn eine Zahlung gegen eine Rechnung fehlschlägt.",
"Fires when a subscription is canceled.": "Kündigt, wenn ein Abonnement gekündigt wird.",
"Fires when a charge is refunded (full or partial).": "Feuer, wenn eine Gebühr erstattet wird (vollständig oder teilweise).",
"Fires when a customer disputes a charge.": "Feuer, wenn ein Kunde eine Gebühr bestreitet.",
"Fires when a new Payment Link is created.": "Feuert ab, wenn ein neuer Zahlungslink erstellt wird.",
"Fires when an existing subscription is changed.": "Löscht ab, wenn ein bestehendes Abonnement geändert wird.",
"Fires when a Stripe Checkout Session is successfully completed.": "Feuer, wenn eine Stripe Checkout Sitzung erfolgreich abgeschlossen wurde.",
"Status": "Status",
"Subscription ID": "Abonnement-ID",
"Charge ID": "Gebühren-ID",
"Payment Intent ID": "Zahlungsintensiv-ID",
"New Status": "Neuer Status",
"Only trigger for invoices with this status.": "Wird nur für Rechnungen mit diesem Status ausgelöst.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Auslösen nur für Rechnungen, die zu dieser Kunden-ID gehören (z. B. `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Auslösen nur für Rechnungen, die zu dieser Abonnement-ID gehören (z.B. `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Auslösen nur für Abonnements, die zu dieser Kunden-ID gehören (z.B. `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Trigger nur für Erstattungen im Zusammenhang mit dieser Gebühren-ID (z.B. `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Auslösen nur für Rückerstattungen im Zusammenhang mit dieser Payment Intent ID (z. B. `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Auslöser nur für Streitigkeiten im Zusammenhang mit dieser Gebühren-ID (z.B. `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Auslösung nur für Streitigkeiten im Zusammenhang mit dieser Zahlungsintensiv-ID (z. B. `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Wird nur ausgelöst, wenn das Abonnement auf diesen Status aktualisiert wird.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Trigger nur für Kassesitzungen, die von dieser Kunden-ID erstellt wurden (z.B. `cus_...`).",
"Draft": "Entwurf",
"Open": "Öffnen",
"Paid": "Bezahlt",
"Uncollectible": "Nicht Sammler",
"Void": "Leere",
"Incomplete - Expired": "Unvollständig - abgelaufen"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Procesamiento de pagos en línea para empresas de Internet",
"Secret key acquired from your Stripe dashboard": "Clave secreta adquirida de tu panel de control de Stripe",
"Create Customer": "Crear cliente",
"Create Invoice": "Crear factura",
"Search Customer": "Buscar cliente",
"Search Subscriptions": "Buscar suscripciones",
"Retrieve Customer": "Recuperar cliente",
"Update Customer": "Actualizar cliente",
"Create Payment (Payment Intent)": "Crear pago (intento de pago)",
"Create Product": "Crear Producto",
"Create Price": "Crear precio",
"Create Subscription": "Crear suscripción",
"Cancel Subscription": "Cancelar suscripción",
"Retrieve an Invoice": "Recuperar una factura",
"Retrieve a Payout": "Recuperar un pago",
"Create a Refund": "Crear un reembolso",
"Create Payment Link": "Crear enlace de pago",
"Deactivate Payment Link": "Desactivar enlace de pago",
"Find Payment (by Payment Intent ID)": "Buscar pago (por ID de intento de pago)",
"Find Invoice": "Buscar factura",
"Custom API Call": "Llamada API personalizada",
"Create a customer in stripe": "Crear un cliente en stripe",
"Create an Invoice in stripe": "Crear una factura en raya",
"Search for a customer in stripe by email": "Buscar un cliente en stripe por correo electrónico",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Buscar suscripciones por ID de precio, estado, ID de cliente y otros filtros, incluyendo detalles del cliente",
"Retrieve a customer in stripe by id": "Recuperar un cliente en stripe por id",
"Modify an existing customers details.": "Modificar los datos de un cliente existente.",
"Creates a new payment intent to start a payment flow.": "Crea un nuevo intento de pago para iniciar un flujo de pago.",
"Create a new product object in Stripe.": "Crear un nuevo objeto de producto en Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Crear un precio (una sola vez o recurrente), asociado con un producto.",
"Start a subscription for a customer with specified items/prices.": "Iniciar una suscripción para un cliente con los artículos/precios especificados.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Cancelar una suscripción existente, ya sea inmediatamente o al final del período de facturación actual.",
"Retrieves the details of an existing invoice by its ID.": "Recuperar los detalles de una factura existente por su ID.",
"Retrieves the details of an existing payout by its ID.": "Devuelve los detalles de un pago existente por su ID.",
"Create a full or partial refund for a payment.": "Crear un reembolso total o parcial para un pago.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Crea un enlace de pago compartido y alojado en Stripe para compras o suscripciones únicas.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Desactivar o desactivar un enlace de pago para que ya no pueda ser usado.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Devuelve los detalles de un pago por su único ID de Intento de Pago.",
"Finds an invoice by its unique ID.": "Encuentra una factura por su ID único.",
"Make a custom API call to a specific endpoint": "Hacer una llamada API personalizada a un extremo específico",
"Email": "E-mail",
"Name": "Nombre",
"Description": "Descripción",
"Phone": "Teléfono",
"Address Line 1": "Dirección línea 1",
"Postal Code": "Código postal",
"City": "Ciudad",
"State": "Estado",
"Country": "País",
"Customer ID": "ID del cliente",
"Currency": "Moneda",
"Price IDs": "ID de precio",
"Subscription Status": "Estado de la suscripción",
"Created After": "Creado después de",
"Created Before": "Creado antes",
"Limit": "Límite",
"Fetch All Results": "Obtener todos los resultados",
"Include Customer Details": "Incluye detalles del cliente",
"ID": "ID",
"Customer": "Cliente",
"Amount": "Cantidad",
"Payment Method ID": "ID método de pago",
"Confirm Payment Immediately": "Confirmar el pago inmediatamente",
"Return URL": "URL de retorno",
"Receipt Email": "Email de Recibo",
"Product Name": "Producto",
"Active": "Activo",
"Image URLs": "URLs de imagen",
"Product URL": "URL del producto",
"Metadata": "Metadatos",
"Product": "Producto",
"Unit Amount": "Cantidad de unidad",
"Billing Interval": "Intervalo de facturación",
"Interval Count": "Número de intervalos",
"Subscription Items": "Elementos de suscripción",
"Collection Method": "Método de colección",
"Days Until Due": "Días hasta el vencimiento",
"Trial Period (Days)": "Periodo de prueba (Días)",
"Default Payment Method ID": "ID de método de pago por defecto",
"Subscription": "Subscripción",
"Cancel at Period End": "Cancelar al final del período",
"Invoice": "Factura",
"Payout": "Pagos",
"Payment Intent": "Intento de pago",
"Reason": "Razón",
"Line Items": "Ítems de línea",
"After Completion Behavior": "Después de completar el comportamiento",
"Redirect URL": "URL de redirección",
"Allow Promotion Codes": "Permitir códigos de promoción",
"Billing Address Collection": "Colección de direcciones de facturación",
"Payment Link": "Enlace de pago",
"Method": "Método",
"Headers": "Encabezados",
"Query Parameters": "Parámetros de consulta",
"Body": "Cuerpo",
"Response is Binary ?": "¿Respuesta es binaria?",
"No Error on Failure": "No hay ningún error en fallo",
"Timeout (in seconds)": "Tiempo de espera (en segundos)",
"Stripe Customer ID": "ID de cliente de Stripe",
"Currency for the invoice (e.g., USD)": "Moneda para la factura (por ejemplo, USD)",
"Description for the invoice": "Descripción de la factura",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Lista separada por comas de IDs de precios por los cuales filtrar (por ejemplo, precio_1ABC123, precio_2DEF456)",
"Filter by subscription status": "Filtrar por estado de suscripción",
"Filter by specific customer ID (optional)": "Filtrar por ID de cliente específico (opcional)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filtrar suscripciones creadas después de esta fecha (formato YYYY-MM-DD)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filtrar suscripciones creadas antes de esta fecha (formato AAYY-MM-DD)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Número máximo de suscripciones a devolver (por defecto: 100, establecido en 0 para todos)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Obtener todas las suscripciones coincidentes (ignora el límite, puede tardar más en los conjuntos de datos grandes)",
"Fetch detailed customer information for each subscription": "Obtener información detallada del cliente para cada suscripción",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "La cantidad a cargar, en un formato decimal (por ejemplo, 10.50 por $10.50).",
"The three-letter ISO code for the currency.": "Código ISO de tres letras para la moneda.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "El ID del método de pago a adjuntar (por ejemplo, `pm_...`). Requerido si desea confirmar el pago inmediatamente.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "Si es verdadero, Stripe intentará cargar el método de pago proporcionado. Se requiere un `ID de método de pago`.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "La URL a la que redirigir su cliente después de autenticar su pago. Requerido al confirmar el pago.",
"The email address to send a receipt to. This will override the customer's email address.": "La dirección de correo electrónico a la que enviar un recibo. Esto anulará la dirección de correo electrónico del cliente.",
"The products name, meant to be displayable to the customer.": "El nombre del producto, destinado a ser visible para el cliente.",
"The products description, meant to be displayable to the customer.": "La descripción del producto, pensada para ser exhibida por el cliente.",
"Whether the product is currently available for purchase. Defaults to true.": "Si el producto está actualmente disponible para la compra. Por defecto es verdadero.",
"A list of up to 8 URLs of images for this product.": "Una lista de hasta 8 URLs de imágenes para este producto.",
"A publicly-accessible online page for this product.": "Una página en línea de acceso público para este producto.",
"A set of key-value pairs to store additional information about the product.": "Un conjunto de pares clave-valor para almacenar información adicional sobre el producto.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "La cantidad del precio como un decimal, por ejemplo, 25.50 por $25.50.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Especifique la frecuencia de facturación. Seleccione 'Una vez' para un pago único y no recurriente.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "El número de intervalos entre las facturas de suscripción (p. ej. para facturar cada 3 meses, establecer intervalo mensual y número de intervalos a 3). Sólo se utiliza para los precios recurrentes.",
"A list of prices to subscribe the customer to.": "Una lista de precios a los que suscribir el cliente.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "Cómo recoger el pago. 'charge_automatially' intentará cobrar el método de pago por defecto. 'send_factura' enviará una factura.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Número de días antes de que vence una factura. Requerido si el método de colección es 'Enviar factura'.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Entero que representa el número de días de prueba que el cliente recibe antes de la factura de la suscripción por primera vez.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID del método de pago predeterminado para la suscripción (por ejemplo, `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "Si es verdadero, la suscripción permanece activa hasta el final del período de facturación actual. Si es falso, se cancela inmediatamente.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "La cantidad a devolver (por ejemplo, 12.99). Si se deja en blanco, se emitirá un reembolso completo.",
"An optional reason for the refund.": "Una razón opcional para el reembolso.",
"A set of key-value pairs to store additional information about the refund.": "Un conjunto de pares clave-valor para almacenar información adicional sobre el reembolso.",
"The products and quantities to include in the payment link.": "Los productos y cantidades a incluir en el enlace de pago.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Controla el comportamiento después de que la compra se haya completado. Por defecto muestra la página de confirmación de Stripe.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "La URL a la que redirigir el cliente después de una compra exitosa. Sólo se utiliza si el comportamiento se establece a \"Redirigir a la URL\".",
"Enables the user to enter a promotion code on the Payment Link page.": "Permite al usuario introducir un código de promoción en la página de enlace de pago.",
"Describes whether Checkout should collect the customers billing address.": "Describe si el Checkout debe recoger la dirección de facturación del cliente.",
"Authorization headers are injected automatically from your connection.": "Las cabeceras de autorización se inyectan automáticamente desde tu conexión.",
"Enable for files like PDFs, images, etc..": "Activar para archivos como PDFs, imágenes, etc.",
"All Statuses": "Todos los estados",
"Past Due": "Últimas fechas",
"Unpaid": "No pagado",
"Canceled": "Cancelado",
"Incomplete": "Incompleto",
"Incomplete Expired": "Expirado incompleto",
"Trialing": "Prueba",
"Paused": "Pausado",
"US Dollar": "Dólar US",
"Euro": "Euro",
"Pound Sterling": "Libra Sterling",
"Australian Dollar": "Dólar australiano",
"Canadian Dollar": "Dólar canadiense",
"Swiss Franc": "Franco suizo",
"Chinese Yuan": "Yuan chino",
"Japanese Yen": "Yen japonés",
"Indian Rupee": "Rupía india",
"Singapore Dollar": "Dólar de Singapur",
"One-Time": "Una vez",
"Daily": "Diario",
"Weekly": "Semanal",
"Monthly": "Mensual",
"Yearly": "Anual",
"Charge Automatically": "Cargar automáticamente",
"Send Invoice": "Enviar factura",
"Duplicate": "Duplicate",
"Fraudulent": "Fraudulento",
"Requested by Customer": "Solicitado por el cliente",
"Show Confirmation Page": "Mostrar página de confirmación",
"Redirect to URL": "Redirigir a la URL",
"Auto": "Auto",
"Required": "Requerido",
"GET": "RECOGER",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "BORRAR",
"HEAD": "LIMPIO",
"New Payment": "Nuevo pago",
"New Customer": "Nuevo cliente",
"Payment Failed": "Pago fallido",
"New Subscription": "Nueva Suscripción",
"New Charge": "Nuevo Cargo",
"New Invoice": "Nueva factura",
"Invoice Payment Failed": "Pago de factura fallido",
"Canceled Subscription": "Suscripción cancelada",
"New Refund": "Nuevo reembolso",
"New Dispute": "Nueva disputa",
"New Payment Link": "Nuevo enlace de pago",
"Updated Subscription": "Suscripción actualizada",
"Checkout Session Completed": "Sesión de pago completada",
"Triggers when a new payment is made": "Dispara cuando se realiza un nuevo pago",
"Triggers when a new customer is created": "Dispara cuando se crea un nuevo cliente",
"Triggers when a payment fails": "Dispara cuando un pago falla",
"Triggers when a new subscription is made": "Dispara cuando se hace una nueva suscripción",
"Fires when a charge is successfully completed.": "Dispara cuando un cargo se ha completado correctamente.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Dispara cuando se crea una factura. Soporta filtros como estado, cliente, suscripción.",
"Fires when a payment against an invoice fails.": "Dispara cuando un pago contra una factura falla.",
"Fires when a subscription is canceled.": "Dispara cuando una suscripción es cancelada.",
"Fires when a charge is refunded (full or partial).": "Dispara cuando un cargo es reembolsado (total o parcial).",
"Fires when a customer disputes a charge.": "Dispara cuando un cliente disputa un cargo.",
"Fires when a new Payment Link is created.": "Dispara cuando se crea un nuevo enlace de pago.",
"Fires when an existing subscription is changed.": "Dispara cuando se cambia una suscripción existente.",
"Fires when a Stripe Checkout Session is successfully completed.": "Dispara cuando una sesión de pago de Stripe se ha completado correctamente.",
"Status": "Estado",
"Subscription ID": "ID de suscripción",
"Charge ID": "ID de carga",
"Payment Intent ID": "ID de Intento de Pago",
"New Status": "Nuevo estado",
"Only trigger for invoices with this status.": "Sólo se activa para facturas con este estado.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Sólo disparador para facturas pertenecientes a este ID de cliente (por ejemplo, `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Sólo para facturas pertenecientes a este ID de suscripción (por ejemplo, `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Sólo para suscripciones pertenecientes a este ID de cliente (por ejemplo, `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Sólo se activa para reembolsos relacionados con este ID de carga (por ejemplo, `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Sólo se activa para reembolsos relacionados con este ID de Intento de Pago (por ejemplo, `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Sólo se activa para disputas relacionadas con este ID de Carga (por ejemplo, `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Sólo desencadenante para disputas relacionadas con este ID de Intento de Pago (por ej., `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Sólo se activa cuando la suscripción se actualiza a este estado.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Sólo para sesiones de pago creadas por este ID de cliente (por ejemplo, `cus_...`).",
"Draft": "Borrador",
"Open": "Abrir",
"Paid": "Pagado",
"Uncollectible": "No recolectable",
"Void": "Vacío",
"Incomplete - Expired": "Incompleto - Caducado"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Traitement des paiements en ligne pour les entreprises en ligne",
"Secret key acquired from your Stripe dashboard": "Clé secrète obtenue à partir de votre tableau de bord Stripe",
"Create Customer": "Créer un client",
"Create Invoice": "Créer une facture",
"Search Customer": "Rechercher un client",
"Search Subscriptions": "Rechercher dans les abonnements",
"Retrieve Customer": "Récupérer le client",
"Update Customer": "Mettre à jour le client",
"Create Payment (Payment Intent)": "Créer un paiement (Indice de paiement)",
"Create Product": "Créer un produit",
"Create Price": "Créer un prix",
"Create Subscription": "Créer un abonnement",
"Cancel Subscription": "Annuler l'abonnement",
"Retrieve an Invoice": "Récupérer une facture",
"Retrieve a Payout": "Récupérer un paiement",
"Create a Refund": "Créer un remboursement",
"Create Payment Link": "Créer un lien de paiement",
"Deactivate Payment Link": "Désactiver le lien de paiement",
"Find Payment (by Payment Intent ID)": "Trouver le paiement (par ID d'intention de paiement)",
"Find Invoice": "Trouver une facture",
"Custom API Call": "Appel d'API personnalisé",
"Create a customer in stripe": "Créer un client dans Stripe",
"Create an Invoice in stripe": "Créer une facture en bande",
"Search for a customer in stripe by email": "Rechercher un client dans Stripe par e-mail",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Rechercher des abonnements par ID de prix, statut, ID client et autres filtres, y compris les détails du client",
"Retrieve a customer in stripe by id": "Récupérer un client en stripe par id",
"Modify an existing customers details.": "Modifier les informations d'un client existant.",
"Creates a new payment intent to start a payment flow.": "Crée une nouvelle intention de paiement pour démarrer un flux de paiement.",
"Create a new product object in Stripe.": "Créer un nouvel objet produit dans Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Créer un prix (unique ou récurrent), associé à un produit.",
"Start a subscription for a customer with specified items/prices.": "Démarrez un abonnement pour un client avec des produits/prix spécifiés.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Annuler un abonnement existant, soit immédiatement ou à la fin de la période de facturation en cours.",
"Retrieves the details of an existing invoice by its ID.": "Récupère les détails d'une facture existante par son ID.",
"Retrieves the details of an existing payout by its ID.": "Récupère les détails d'un paiement existant par son ID.",
"Create a full or partial refund for a payment.": "Créez un remboursement complet ou partiel pour un paiement.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Crée un lien de paiement partageable hébergé par Stripe pour des achats uniques ou des abonnements.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Désactiver ou désactiver un lien de paiement pour qu'il ne puisse plus être utilisé.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Récupère les détails d'un paiement par son ID unique d'intention de paiement.",
"Finds an invoice by its unique ID.": "Trouve une facture par son ID unique.",
"Make a custom API call to a specific endpoint": "Passer un appel API personnalisé à un endpoint spécifique",
"Email": "Courriel",
"Name": "Nom",
"Description": "Libellé",
"Phone": "Téléphone",
"Address Line 1": "Adresse ligne 1",
"Postal Code": "Code postal",
"City": "Ville",
"State": "État",
"Country": "Pays",
"Customer ID": "ID du client",
"Currency": "Devise",
"Price IDs": "ID de prix",
"Subscription Status": "Statut de l'abonnement",
"Created After": "Créé après",
"Created Before": "Créé avant",
"Limit": "Limite",
"Fetch All Results": "Récupérer tous les résultats",
"Include Customer Details": "Inclure les informations du client",
"ID": "ID",
"Customer": "Client",
"Amount": "Montant",
"Payment Method ID": "ID de la méthode de paiement",
"Confirm Payment Immediately": "Confirmer le paiement immédiatement",
"Return URL": "URL de retour",
"Receipt Email": "Courriel de reçu",
"Product Name": "Nom du produit",
"Active": "Actif",
"Image URLs": "URL de l'image",
"Product URL": "URL du produit",
"Metadata": "Métadonnées",
"Product": "Produit",
"Unit Amount": "Montant de l'unité",
"Billing Interval": "Intervalle de facturation",
"Interval Count": "Nombre d'intervalle",
"Subscription Items": "Articles d'Abonnement",
"Collection Method": "Méthode de collecte",
"Days Until Due": "Jours avant échéance",
"Trial Period (Days)": "Période d'essai (Days)",
"Default Payment Method ID": "ID de la méthode de paiement par défaut",
"Subscription": "Abonnement",
"Cancel at Period End": "Annuler à la fin de la période",
"Invoice": "Facture",
"Payout": "Paiement",
"Payment Intent": "Intentions de paiement",
"Reason": "Raison",
"Line Items": "Lignes",
"After Completion Behavior": "Comportement après l'achèvement",
"Redirect URL": "URL de redirection",
"Allow Promotion Codes": "Autoriser les codes de promotion",
"Billing Address Collection": "Enlèvement de l'adresse de facturation",
"Payment Link": "Lien de paiement",
"Method": "Méthode",
"Headers": "En-têtes",
"Query Parameters": "Paramètres de requête",
"Body": "Corps",
"Response is Binary ?": "La réponse est Binaire ?",
"No Error on Failure": "Aucune erreur en cas d'échec",
"Timeout (in seconds)": "Délai d'expiration (en secondes)",
"Stripe Customer ID": "ID client Stripe",
"Currency for the invoice (e.g., USD)": "Devise de la facture (par exemple, USD)",
"Description for the invoice": "Description de la facture",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Liste des ID de prix à filtrer par des virgules (par exemple, price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Filtrer par statut d'abonnement",
"Filter by specific customer ID (optional)": "Filtrer par ID client spécifique (facultatif)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filtrer les abonnements créés après cette date (format AAAA-MM-JJ)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filtrer les abonnements créés avant cette date (format AAAA-MM-JJ)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Nombre maximum d'abonnements à retourner (par défaut: 100, défini à 0 pour tous)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Récupérer tous les abonnements correspondants (ignore la limite, peut prendre plus de temps pour les grands jeux de données)",
"Fetch detailed customer information for each subscription": "Récupérer les informations détaillées sur le client pour chaque abonnement",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "Le montant à charger, en format décimal (par exemple, 10,50 pour 10,50 $).",
"The three-letter ISO code for the currency.": "Le code ISO à trois lettres pour la devise.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "L'ID de la méthode de paiement à joindre (par exemple, `pm_...`). Requis si vous voulez confirmer le paiement immédiatement.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "Si vrai, Stripe tentera de débiter le mode de paiement fourni. Un `ID de méthode de paiement` est requis.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "L'URL vers laquelle rediriger votre client après avoir authentifié son paiement. Requis lors de la confirmation du paiement.",
"The email address to send a receipt to. This will override the customer's email address.": "L'adresse e-mail à laquelle envoyer un reçu. Cela remplacera l'adresse e-mail du client.",
"The products name, meant to be displayable to the customer.": "Le nom du produit, destiné à être visible au client.",
"The products description, meant to be displayable to the customer.": "La description du produit, destinée à être visible au client.",
"Whether the product is currently available for purchase. Defaults to true.": "Si le produit est actuellement disponible pour l'achat. La valeur par défaut est true.",
"A list of up to 8 URLs of images for this product.": "Une liste pouvant contenir jusqu'à 8 URL d'images pour ce produit.",
"A publicly-accessible online page for this product.": "Une page en ligne accessible au public pour ce produit.",
"A set of key-value pairs to store additional information about the product.": "Un ensemble de paires clé-valeur pour stocker des informations supplémentaires sur le produit.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "Le prix sous forme de décimale, par exemple, 25,50 pour 25,50 $.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Spécifiez la fréquence de facturation. Sélectionnez « Une fois» pour un paiement unique et non récurrent.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "Le nombre d'intervalles entre les factures d'abonnement (par ex. pour la facturation tous les 3 mois, réglez l'intervalle sur Mensuel et le nombre d'intervalles à 3). Utilisé uniquement pour les prix récurrents.",
"A list of prices to subscribe the customer to.": "Une liste des prix auxquels s'abonner le client.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "Comment récupérer le paiement. 'charge_automatiquement' va essayer de facturer la méthode de paiement par défaut. 'send_invoice' enverra une facture.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Nombre de jours avant l'échéance d'une facture. Requis si la méthode de collecte est 'Envoyer la facture'.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Nombre entier représentant le nombre de jours d'essai que le client reçoit avant les factures d'abonnement pour la première fois.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID de la méthode de paiement par défaut pour l'abonnement (par exemple, `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "Si vrai, l'abonnement reste actif jusqu'à la fin de la période de facturation en cours. S'il est faux, il annule immédiatement.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "Le montant à rembourser (par exemple, 12,99). Si laissé vide, un remboursement complet sera émis.",
"An optional reason for the refund.": "Une raison facultative du remboursement.",
"A set of key-value pairs to store additional information about the refund.": "Un ensemble de paires de valeurs clés pour stocker des informations supplémentaires sur le remboursement.",
"The products and quantities to include in the payment link.": "Les produits et les quantités à inclure dans le lien de paiement.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Contrôle le comportement après la fin de l'achat. Par défaut, la page de confirmation hébergée de Stripe.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "L'URL vers laquelle rediriger le client après un achat réussi. Utilisé uniquement si le comportement est défini sur \"Rediriger vers l'URL\".",
"Enables the user to enter a promotion code on the Payment Link page.": "Permet à l'utilisateur d'entrer un code de promotion sur la page Lien de paiement.",
"Describes whether Checkout should collect the customers billing address.": "Décrit si la commande doit collecter l'adresse de facturation du client.",
"Authorization headers are injected automatically from your connection.": "Les en-têtes d'autorisation sont injectés automatiquement à partir de votre connexion.",
"Enable for files like PDFs, images, etc..": "Activer pour les fichiers comme les PDFs, les images, etc.",
"All Statuses": "Tous les statuts",
"Past Due": "Échéance passée",
"Unpaid": "Non payé",
"Canceled": "Annulé",
"Incomplete": "Incomplet",
"Incomplete Expired": "Incomplet expiré",
"Trialing": "Essai en cours",
"Paused": "En pause",
"US Dollar": "Dollar US",
"Euro": "Euros",
"Pound Sterling": "Livre sterling",
"Australian Dollar": "Dollar australien",
"Canadian Dollar": "Dollar canadien",
"Swiss Franc": "Franc Suisse",
"Chinese Yuan": "Yuan chinois",
"Japanese Yen": "Yen japonais",
"Indian Rupee": "Roupie indienne",
"Singapore Dollar": "Dollar de Singapour",
"One-Time": "Une fois",
"Daily": "Tous les jours",
"Weekly": "Hebdomadaire",
"Monthly": "Mensuel",
"Yearly": "Annuel",
"Charge Automatically": "Charger automatiquement",
"Send Invoice": "Envoyer une facture",
"Duplicate": "Dupliquer",
"Fraudulent": "Fraude",
"Requested by Customer": "Demandé par le client",
"Show Confirmation Page": "Afficher la page de confirmation",
"Redirect to URL": "Rediriger vers l'URL",
"Auto": "Automatique",
"Required": "Requis",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Payment": "Nouveau paiement",
"New Customer": "Nouveau client",
"Payment Failed": "Échec du paiement",
"New Subscription": "Nouvel abonnement",
"New Charge": "Nouvelle charge",
"New Invoice": "Nouvelle facture",
"Invoice Payment Failed": "Échec du paiement de la facture",
"Canceled Subscription": "Abonnement annulé",
"New Refund": "Nouveau remboursement",
"New Dispute": "Nouveau litige",
"New Payment Link": "Nouveau lien de paiement",
"Updated Subscription": "Abonnement mis à jour",
"Checkout Session Completed": "Session de paiement terminée",
"Triggers when a new payment is made": "Déclenche quand un nouveau paiement est effectué",
"Triggers when a new customer is created": "Déclenche lorsqu'un nouveau client est créé",
"Triggers when a payment fails": "Déclenche lorsqu'un paiement échoue",
"Triggers when a new subscription is made": "Déclenche quand un nouvel abonnement est fait",
"Fires when a charge is successfully completed.": "Tire quand une charge est terminée avec succès.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Fait apparaître lorsqu'une facture est créée. Prend en charge les filtres comme l'état, le client, l'abonnement.",
"Fires when a payment against an invoice fails.": "Déclenche lorsqu'un paiement contre une facture échoue.",
"Fires when a subscription is canceled.": "Se déclenche lorsqu'un abonnement est annulé.",
"Fires when a charge is refunded (full or partial).": "Incendie lorsqu'un frais est remboursé (complet ou partiel).",
"Fires when a customer disputes a charge.": "Déclenche lorsqu'un client conteste une charge.",
"Fires when a new Payment Link is created.": "Se déclenche lorsqu'un nouveau lien de paiement est créé.",
"Fires when an existing subscription is changed.": "Se déclenche lorsqu'une souscription existante est modifiée.",
"Fires when a Stripe Checkout Session is successfully completed.": "Se déclenche lorsqu'une session de commande Stripe est terminée avec succès.",
"Status": "Statut",
"Subscription ID": "ID de l'abonnement",
"Charge ID": "ID de la charge",
"Payment Intent ID": "ID d'intention de paiement",
"New Status": "Nouveau statut",
"Only trigger for invoices with this status.": "Ne déclenche que pour les factures avec ce statut.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Déclenche uniquement les factures appartenant à cet ID client (par exemple, `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Ne déclenche que pour les factures appartenant à cet ID d'abonnement (par exemple, `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Ne déclenche que pour les abonnements appartenant à cet ID client (par exemple, `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Déclenche uniquement les remboursements liés à cet ID de charge (par exemple, `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Déclenche uniquement les remboursements liés à cet ID d'intention de paiement (par exemple, `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Déclenche uniquement les litiges liés à cet ID de charge (par exemple, `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Déclenche uniquement les litiges liés à cet ID d'intention de paiement (par exemple, `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Ne se déclenche que lorsque l'abonnement est mis à jour à cet état.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Déclenche uniquement les sessions de commande créées par cet identifiant client (par exemple, `cus_...`).",
"Draft": "Brouillon",
"Open": "Ouvert",
"Paid": "Payé",
"Uncollectible": "Incollectible",
"Void": "Vide",
"Incomplete - Expired": "Incomplet - Expiré"
}

View File

@@ -0,0 +1,51 @@
{
"Stripe": "Stripe",
"Online payment processing for internet businesses": "Online payment processing for internet businesses",
"Secret key acquired from your Stripe dashboard": "Secret key acquired from your Stripe dashboard",
"Create Customer": "Create Customer",
"Create Invoice": "Create Invoice",
"Search Customer": "Search Customer",
"Retrieve Customer": "Retrieve Customer",
"Custom API Call": "Custom API Call",
"Create a customer in stripe": "Create a customer in stripe",
"Create an Invoice in stripe": "Create an Invoice in stripe",
"Search for a customer in stripe by email": "Search for a customer in stripe by email",
"Retrieve a customer in stripe by id": "Retrieve a customer in stripe by id",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Email": "Email",
"Name": "Name",
"Description": "Description",
"Phone": "Phone",
"Address Line 1": "Address Line 1",
"Postal Code": "Postal Code",
"City": "City",
"State": "State",
"Country": "Country",
"Customer ID": "Customer ID",
"Currency": "Currency",
"ID": "ID",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "Currency for the invoice (e.g., USD)",
"Description for the invoice": "Description for the invoice",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Payment": "New Payment",
"New Customer": "New Customer",
"Payment Failed": "Payment Failed",
"New Subscription": "New Subscription",
"Triggers when a new payment is made": "Triggers when a new payment is made",
"Triggers when a new customer is created": "Triggers when a new customer is created",
"Triggers when a payment fails": "Triggers when a payment fails",
"Triggers when a new subscription is made": "Triggers when a new subscription is made"
}

View File

@@ -0,0 +1,51 @@
{
"Stripe": "Stripe",
"Online payment processing for internet businesses": "Online payment processing for internet businesses",
"Secret key acquired from your Stripe dashboard": "Secret key acquired from your Stripe dashboard",
"Create Customer": "Create Customer",
"Create Invoice": "Create Invoice",
"Search Customer": "Search Customer",
"Retrieve Customer": "Retrieve Customer",
"Custom API Call": "Custom API Call",
"Create a customer in stripe": "Create a customer in stripe",
"Create an Invoice in stripe": "Create an Invoice in stripe",
"Search for a customer in stripe by email": "Search for a customer in stripe by email",
"Retrieve a customer in stripe by id": "Retrieve a customer in stripe by id",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Email": "Email",
"Name": "Name",
"Description": "Description",
"Phone": "Phone",
"Address Line 1": "Address Line 1",
"Postal Code": "Postal Code",
"City": "City",
"State": "State",
"Country": "Country",
"Customer ID": "Customer ID",
"Currency": "Currency",
"ID": "ID",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "Currency for the invoice (e.g., USD)",
"Description for the invoice": "Description for the invoice",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Payment": "New Payment",
"New Customer": "New Customer",
"Payment Failed": "Payment Failed",
"New Subscription": "New Subscription",
"Triggers when a new payment is made": "Triggers when a new payment is made",
"Triggers when a new customer is created": "Triggers when a new customer is created",
"Triggers when a payment fails": "Triggers when a payment fails",
"Triggers when a new subscription is made": "Triggers when a new subscription is made"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "インターネットビジネスのためのオンライン決済処理",
"Secret key acquired from your Stripe dashboard": "Stripeダッシュボードからシークレットキーを取得しました",
"Create Customer": "顧客を作成",
"Create Invoice": "請求書を作成",
"Search Customer": "顧客を検索",
"Search Subscriptions": "サブスクリプションを検索",
"Retrieve Customer": "顧客の取得",
"Update Customer": "顧客情報の更新",
"Create Payment (Payment Intent)": "支払いの目的を作成",
"Create Product": "商品を作成",
"Create Price": "価格を作成",
"Create Subscription": "サブスクリプションを作成",
"Cancel Subscription": "サブスクリプションをキャンセル",
"Retrieve an Invoice": "請求書の取得",
"Retrieve a Payout": "支払いを取得する",
"Create a Refund": "払い戻しを作成",
"Create Payment Link": "支払いリンクを作成",
"Deactivate Payment Link": "支払いリンクを無効にする",
"Find Payment (by Payment Intent ID)": "支払いを検索 (支払い意向IDによる)",
"Find Invoice": "請求書を検索",
"Custom API Call": "カスタムAPI通話",
"Create a customer in stripe": "Stripeで顧客を作成する",
"Create an Invoice in stripe": "Stripeで請求書を作成",
"Search for a customer in stripe by email": "Stripeの顧客を電子メールで検索",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "価格ID、ステータス、顧客ID、および顧客詳細を含むその他のフィルターでサブスクリプションを検索します",
"Retrieve a customer in stripe by id": "Stripe の id で顧客を取得する",
"Modify an existing customers details.": "既存の顧客の詳細を修正します。",
"Creates a new payment intent to start a payment flow.": "支払いフローを開始するための新しい支払い意図を作成します。",
"Create a new product object in Stripe.": "Stripeで新しい製品オブジェクトを作成します。",
"Create a price (one-time or recurring), associated with a product.": "商品に関連付けられた価格 (一回または再帰) を作成します。",
"Start a subscription for a customer with specified items/prices.": "指定されたアイテム/価格の顧客のサブスクリプションを開始します。",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "既存のサブスクリプションをキャンセルします。ただちに、または現在の請求期間の終わりにします。",
"Retrieves the details of an existing invoice by its ID.": "既存の請求書の詳細を ID で取得します。",
"Retrieves the details of an existing payout by its ID.": "既存の支払いの詳細を ID で取得します。",
"Create a full or partial refund for a payment.": "支払いの全額または一部の払い戻しを作成します。",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "1回限りの購入またはサブスクリプション用に共有可能なStripeホストの支払いリンクを作成します。",
"Disable or deactivate a Payment Link so it can no longer be used.": "支払いリンクを無効または無効にすると、使用できなくなります。",
"Retrieves the details of a payment by its unique Payment Intent ID.": "支払いの詳細については、固有の Payment Intent ID で取得します。",
"Finds an invoice by its unique ID.": "固有のIDで請求書を検索します。",
"Make a custom API call to a specific endpoint": "特定のエンドポイントへのカスタム API コールを実行します。",
"Email": "Eメールアドレス",
"Name": "名前",
"Description": "説明",
"Phone": "電話番号",
"Address Line 1": "住所1",
"Postal Code": "郵便番号",
"City": "市区町村名",
"State": "都道府県:",
"Country": "国",
"Customer ID": "顧客 ID",
"Currency": "通貨",
"Price IDs": "価格ID",
"Subscription Status": "サブスクリプションステータス",
"Created After": "作成後",
"Created Before": "作成前",
"Limit": "制限",
"Fetch All Results": "すべての結果を取得",
"Include Customer Details": "顧客詳細を含める",
"ID": "ID",
"Customer": "顧客",
"Amount": "金額",
"Payment Method ID": "支払方法ID",
"Confirm Payment Immediately": "支払いをすぐに確認する",
"Return URL": "返品URL",
"Receipt Email": "領収書メール",
"Product Name": "商品名",
"Active": "有効",
"Image URLs": "画像のURL",
"Product URL": "商品URL",
"Metadata": "メタデータ",
"Product": "商品",
"Unit Amount": "ユニット数",
"Billing Interval": "請求間隔",
"Interval Count": "インターバル数",
"Subscription Items": "サブスクリプションアイテム",
"Collection Method": "収集方法",
"Days Until Due": "期限までの日数",
"Trial Period (Days)": "試用期間 (日)",
"Default Payment Method ID": "デフォルトの支払い方法ID",
"Subscription": "サブスクリプション",
"Cancel at Period End": "期間終了時にキャンセル",
"Invoice": "請求書",
"Payout": "支払い",
"Payment Intent": "支払いの目的",
"Reason": "理由:",
"Line Items": "行の項目",
"After Completion Behavior": "完了後の動作",
"Redirect URL": "リダイレクトURL",
"Allow Promotion Codes": "プロモーションコードを許可",
"Billing Address Collection": "請求先住所コレクション",
"Payment Link": "支払いリンク",
"Method": "方法",
"Headers": "ヘッダー",
"Query Parameters": "クエリパラメータ",
"Body": "本文",
"Response is Binary ?": "応答はバイナリですか?",
"No Error on Failure": "失敗時にエラーはありません",
"Timeout (in seconds)": "タイムアウト(秒)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "請求書の通貨 (例: 米ドル)",
"Description for the invoice": "請求書の説明",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "フィルタする価格IDのカンマ区切りリスト (例: price_1ABC123, price_2DEF456)",
"Filter by subscription status": "購読状態でフィルター",
"Filter by specific customer ID (optional)": "特定の顧客IDでフィルター (オプション)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "この日付(YYYY-MM-DD形式)の後に作成されたサブスクリプションをフィルター",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "この日付(YYYY-MM-DD形式)の前に作成されたサブスクリプションをフィルター",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "リターンするサブスクリプションの最大数デフォルト100、すべて0",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "すべての一致するサブスクリプションを取得します(制限を無視し、大規模なデータセットでは時間がかかる場合があります)",
"Fetch detailed customer information for each subscription": "各サブスクリプションの詳細な顧客情報を取得",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "10進数形式で充電する金額10.50ドルで10.50",
"The three-letter ISO code for the currency.": "通貨の3文字のISOコード。",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "アタッチする支払い方法のID`pm_...`)。すぐに支払いを確認する場合に必要です。",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "true の場合、Stripeは提供された支払い方法を請求しようとします。`Payment Method ID` が必要です。",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.",
"The email address to send a receipt to. This will override the customer's email address.": "領収書を送信するメールアドレス。これは顧客のメールアドレスを上書きします。",
"The products name, meant to be displayable to the customer.": "製品名、顧客に表示されることを意味します。",
"The products description, meant to be displayable to the customer.": "製品の説明、顧客に表示されることを意味します。",
"Whether the product is currently available for purchase. Defaults to true.": "商品が現在購入可能かどうか。デフォルトは true です。",
"A list of up to 8 URLs of images for this product.": "この製品の画像の最大8つのURLの一覧です。",
"A publicly-accessible online page for this product.": "この製品の一般にアクセス可能なオンラインページ。",
"A set of key-value pairs to store additional information about the product.": "製品に関する追加情報を保存するためのキーと値のペアのセット。",
"The price amount as a decimal, for example, 25.50 for $25.50.": "価格は、例えば、25.50ドルで25.50ドルです。",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "請求頻度を指定します。単一の非繰り返し支払いには「ワンタイム」を選択します。",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "サブスクリプションの課金間隔の数 (例: を選択します。3ヶ月ごとに課金するには、間隔を月単位、間隔を3に設定します。定期的な価格にのみ使用されます。",
"A list of prices to subscribe the customer to.": "顧客を購読する価格のリスト",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "支払いの受け取り方法。'charg_automatically' はデフォルトの支払い方法を請求しようとします。'send_invoice' は請求書をメールします。",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "請求書発行までの日数。コレクションメソッドが「請求書を送信」の場合に必要です。",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "顧客が初めてサブスクリプションの請求書の前に受け取る試用日数を表す整数。",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "サブスクリプションのデフォルトの支払い方法のID例: `pm_...`)。",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "true の場合、サブスクリプションは現在の請求期間の終了まで有効です。false の場合、すぐにキャンセルされます。",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.",
"An optional reason for the refund.": "返金のオプション理由。",
"A set of key-value pairs to store additional information about the refund.": "返金に関する追加情報を保存するためのキーと値のペアのセット。",
"The products and quantities to include in the payment link.": "支払いリンクに含める商品と数量。",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "購入が完了した後の動作を制御します。デフォルトではStripeのホストされている確認ページが表示されます。",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "購入が成功した後に顧客をリダイレクトするURL。動作が「URLにリダイレクト」に設定されている場合にのみ使用されます。",
"Enables the user to enter a promotion code on the Payment Link page.": "ユーザーがformat@@0ページにプロモーションコードを入力できるようにします。",
"Describes whether Checkout should collect the customers billing address.": "Checkout should collect the customers billing address.",
"Authorization headers are injected automatically from your connection.": "認証ヘッダは接続から自動的に注入されます。",
"Enable for files like PDFs, images, etc..": "PDF、画像などのファイルを有効にします。",
"All Statuses": "すべてのステータス",
"Past Due": "過去の期限",
"Unpaid": "未払いです",
"Canceled": "キャンセルしました",
"Incomplete": "未完了",
"Incomplete Expired": "未完了です。",
"Trialing": "試練中",
"Paused": "一時停止中",
"US Dollar": "米ドル",
"Euro": "ユーロ",
"Pound Sterling": "Pound Sterling",
"Australian Dollar": "オーストラリア ドル",
"Canadian Dollar": "カナダ ドル",
"Swiss Franc": "スイスフラン",
"Chinese Yuan": "中国元",
"Japanese Yen": "日本円",
"Indian Rupee": "インド ルピー",
"Singapore Dollar": "シンガポール ドル",
"One-Time": "ワンタイム",
"Daily": "毎日",
"Weekly": "Weekly",
"Monthly": "月ごと",
"Yearly": "年ごと",
"Charge Automatically": "自動充電",
"Send Invoice": "請求書を送信",
"Duplicate": "Duplicate",
"Fraudulent": "詐欺的な",
"Requested by Customer": "顧客からのリクエスト",
"Show Confirmation Page": "確認ページを表示",
"Redirect to URL": "URL にリダイレクト",
"Auto": "自動",
"Required": "必須",
"GET": "取得",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "削除",
"HEAD": "頭",
"New Payment": "新しい支払い",
"New Customer": "新規顧客",
"Payment Failed": "支払いに失敗しました",
"New Subscription": "新しいサブスクリプション",
"New Charge": "新しい料金",
"New Invoice": "新しい請求書",
"Invoice Payment Failed": "請求書の支払いに失敗しました",
"Canceled Subscription": "サブスクリプションをキャンセル",
"New Refund": "新しい返金",
"New Dispute": "New Dispute",
"New Payment Link": "新しい支払いリンク",
"Updated Subscription": "サブスクリプションを更新しました",
"Checkout Session Completed": "チェックアウトセッション完了",
"Triggers when a new payment is made": "新しい支払いが行われたときに発生する",
"Triggers when a new customer is created": "新しい顧客が作成されたときにトリガーします",
"Triggers when a payment fails": "支払いに失敗したときに発生する",
"Triggers when a new subscription is made": "新しいサブスクリプションが作成されたときにトリガー",
"Fires when a charge is successfully completed.": "充電が正常に完了したときに発生します。",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "請求書が作成されたときに発生します。ステータス、顧客、購読などのフィルタをサポートしています。",
"Fires when a payment against an invoice fails.": "請求書に対する支払いが失敗したときに発生します。",
"Fires when a subscription is canceled.": "サブスクリプションがキャンセルされたときに発生します。",
"Fires when a charge is refunded (full or partial).": "請求が返金されたときに発生します(全部または一部)。",
"Fires when a customer disputes a charge.": "顧客が請求に異議を唱えたときに発生します。",
"Fires when a new Payment Link is created.": "新しい支払いリンクが作成されたときに発生します。",
"Fires when an existing subscription is changed.": "既存のサブスクリプションが変更されたときに発生します。",
"Fires when a Stripe Checkout Session is successfully completed.": "Stripe Checkout Sessionが正常に完了したときに発生します。",
"Status": "ステータス",
"Subscription ID": "サブスクリプションID",
"Charge ID": "請求ID",
"Payment Intent ID": "支払い意図ID",
"New Status": "新しいステータス",
"Only trigger for invoices with this status.": "このステータスを持つ請求書のみトリガーします。",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "この顧客 ID に属する請求書のみトリガーします(例: `cus_...`)。",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "このサブスクリプションIDに属する請求書のみトリガーします(例: `sub_...`)。",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "この顧客 ID に属するサブスクリプションのみトリガーします (例: `cus_...`)。",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "この Charge ID に関連する返金のみをトリガーします(例: `ch_...`)。",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "この Payment Intent ID (例: `pi_...`) に関連する返金のみをトリガーします。",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "この Charge ID に関連する論争(例えば `ch_...`)のみトリガーします。",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "この Payment Intent ID (例: `pi_...`) に関連する論争のみトリガーします。",
"Only trigger when the subscription is updated to this status.": "サブスクリプションがこのステータスに更新された場合にのみトリガーします。",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "この顧客 ID (例: `cus_...`) によって作成されたチェックアウトセッションのみトリガーします。",
"Draft": "下書き",
"Open": "開く",
"Paid": "支払い済み",
"Uncollectible": "Uncollectible",
"Void": "Void",
"Incomplete - Expired": "未完了 - 期限切れ"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Online betalingsverwerking voor internetbedrijven",
"Secret key acquired from your Stripe dashboard": "Geheime sleutel verkregen van uw Stripe dashboard",
"Create Customer": "Klant aanmaken",
"Create Invoice": "Factuur aanmaken",
"Search Customer": "Klant zoeken",
"Search Subscriptions": "Zoek abonnementen",
"Retrieve Customer": "Klant ophalen",
"Update Customer": "Klant bijwerken",
"Create Payment (Payment Intent)": "Betaling aanmaken (Payment Intent)",
"Create Product": "Product aanmaken",
"Create Price": "Prijs aanmaken",
"Create Subscription": "Abonnement aanmaken",
"Cancel Subscription": "Abonnement annuleren",
"Retrieve an Invoice": "Haal een factuur op",
"Retrieve a Payout": "Haal een uitbetaling op",
"Create a Refund": "Maak een terugbetaling aan",
"Create Payment Link": "Maak Payment Link",
"Deactivate Payment Link": "Betalingslink deactiveren",
"Find Payment (by Payment Intent ID)": "Zoek betaling (via betaling Intent ID)",
"Find Invoice": "Factuur zoeken",
"Custom API Call": "Custom API Call",
"Create a customer in stripe": "Maak een klant aan met streep",
"Create an Invoice in stripe": "Maak een factuur in streep",
"Search for a customer in stripe by email": "Zoek naar een klant in een streep per e-mail",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Zoeken naar abonnementen op prijs-ID, status, klant-ID en andere filters, inclusief klantgegevens",
"Retrieve a customer in stripe by id": "Haal een klant op in strep met id",
"Modify an existing customers details.": "Wijzig bestaande klantgegevens.",
"Creates a new payment intent to start a payment flow.": "Maakt een nieuwe betalingsintentie aan om een betalingsstroom te starten.",
"Create a new product object in Stripe.": "Maak een nieuw product object in Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Creëer een prijs (eenmalig of herhalend), gekoppeld aan een product.",
"Start a subscription for a customer with specified items/prices.": "Start een abonnement voor een klant met opgegeven artikelen/prijzen.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Annuleer een bestaand abonnement, onmiddellijk of aan het einde van de huidige factureringsperiode.",
"Retrieves the details of an existing invoice by its ID.": "Haal de details van een bestaande factuur op via zijn ID.",
"Retrieves the details of an existing payout by its ID.": "Haal de details op van een bestaande uitbetaling via de ID ervan.",
"Create a full or partial refund for a payment.": "Maak een volledige of gedeeltelijke terugbetaling aan voor een betaling.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Maakt een deelbare, Stripe-hosted betalingslink aan voor eenmalige aankopen of abonnementen.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Schakel een betalingslink uit of deactiveer deze zodat deze niet meer kan worden gebruikt.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Haal de details van een betaling op via zijn unieke betalings Intent ID.",
"Finds an invoice by its unique ID.": "Vindt een factuur met zijn unieke ID.",
"Make a custom API call to a specific endpoint": "Maak een aangepaste API call naar een specifiek eindpunt",
"Email": "E-mail",
"Name": "Naam",
"Description": "Beschrijving",
"Phone": "Telefoonnummer",
"Address Line 1": "Adresregel 1",
"Postal Code": "Postcode - Postcode",
"City": "Woonplaats",
"State": "Provincie",
"Country": "Land:",
"Customer ID": "Klant ID",
"Currency": "valuta",
"Price IDs": "Prijs IDs",
"Subscription Status": "Inschrijving Status",
"Created After": "Gemaakt na",
"Created Before": "Aangemaakt voor",
"Limit": "Limiet",
"Fetch All Results": "Alle resultaten ophalen",
"Include Customer Details": "Klantgegevens insluiten",
"ID": "ID",
"Customer": "Klant",
"Amount": "Hoeveelheid",
"Payment Method ID": "Betalingsmethode ID",
"Confirm Payment Immediately": "Betaling onmiddellijk bevestigen",
"Return URL": "Retour URL",
"Receipt Email": "Ontvangstbewijs e-mail",
"Product Name": "Product Naam",
"Active": "Actief",
"Image URLs": "Afbeelding URLs",
"Product URL": "Product URL",
"Metadata": "Metagegevens",
"Product": "product",
"Unit Amount": "Hoeveelheid eenheid",
"Billing Interval": "Facturering interval",
"Interval Count": "Aantal Interval",
"Subscription Items": "Abonnement items",
"Collection Method": "Collectie Methode",
"Days Until Due": "Dagen tot vervaldatum",
"Trial Period (Days)": "Proef Periode (dagen)",
"Default Payment Method ID": "ID standaard betalingsmethode",
"Subscription": "Abbonnement",
"Cancel at Period End": "Annuleren op einde van de periode",
"Invoice": "Factuur",
"Payout": "Uitbetaling",
"Payment Intent": "Betaling Intent",
"Reason": "Reden",
"Line Items": "Posities regel",
"After Completion Behavior": "Na afwerking gedrag",
"Redirect URL": "Omleidings URL",
"Allow Promotion Codes": "Promotie Codes Toestaan",
"Billing Address Collection": "Facturatieadres verzameling",
"Payment Link": "Betaling Link",
"Method": "Methode",
"Headers": "Kopteksten",
"Query Parameters": "Query parameters",
"Body": "Lichaam",
"Response is Binary ?": "Antwoord is binair?",
"No Error on Failure": "Geen fout bij fout",
"Timeout (in seconds)": "Time-out (in seconden)",
"Stripe Customer ID": "Stripe klant ID",
"Currency for the invoice (e.g., USD)": "Valuta voor de factuur (bijv. USD)",
"Description for the invoice": "Beschrijving van de factuur",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Kommagescheiden lijst van te filteren prijs IDs op (bijv., price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Filteren op abonnementsstatus",
"Filter by specific customer ID (optional)": "Filter op specifieke klant-ID (optioneel)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filter abonnementen gemaakt na deze datum (JJJJ-MM-DD formaat)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filter abonnementen gemaakt voor deze datum (JJJJ-MM-DD formaat)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Maximum aantal terugkerende abonnementen (standaard: 100, zet op 0 voor alles)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Ophalen van alle overeenkomende abonnementen (negeert limiet, kan langer duren voor grote datasets)",
"Fetch detailed customer information for each subscription": "Ophalen van gedetailleerde klantinformatie voor elk abonnement",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "Het bedrag om te laden, in een decimaal formaat (bijv. 10,50 voor $10,50).",
"The three-letter ISO code for the currency.": "De drie-letterige ISO-code voor de valuta.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "Het ID van de betalingsmethode om toe te voegen (bv. 'pm_...'. Vereist als u de betaling direct wilt bevestigen.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "Indien waar, zal Stripe proberen de opgegeven betaalmethode in rekening te brengen. Een `betalingsmethode ID` is vereist.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "De URL om uw klant terug te verwijzen naar nadat ze hun betaling hebben geverifieerd. Vereist bij het bevestigen van de betaling.",
"The email address to send a receipt to. This will override the customer's email address.": "Het e-mailadres waar een betaalbewijs naar moet worden verzonden. Dit overschrijft het e-mailadres van de klant.",
"The products name, meant to be displayable to the customer.": "De naam van het product is bedoeld om weer te geven aan de klant.",
"The products description, meant to be displayable to the customer.": "De beschrijving van het product, bedoeld om weer te geven aan de klant.",
"Whether the product is currently available for purchase. Defaults to true.": "Of het product momenteel beschikbaar is voor aankoop. Standaard waar.",
"A list of up to 8 URLs of images for this product.": "Een lijst met maximaal 8 URL's van afbeeldingen voor dit product.",
"A publicly-accessible online page for this product.": "Een openbaar toegankelijke online pagina voor dit product.",
"A set of key-value pairs to store additional information about the product.": "Een set van sleutelwaarde paren om extra informatie over het product op te slaan.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "Het prijsbedrag als decimaal bijvoorbeeld 25,50 voor $25,50.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Specificeer de factureringsfrequentie. Selecteer 'One-Time' voor een enkele, niet-herhalende betaling.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "Het aantal intervallen tussen abonnementskosten (bijv. voor facturering elke 3 maanden, stel Interval in op Maandelijkse en Interval Count op 3). Wordt alleen gebruikt voor terugkerende prijzen.",
"A list of prices to subscribe the customer to.": "Een lijst van prijzen waarop de klant zich kan abonneren.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "Hoe de betaling te ontvangen. 'charge_automaticall' zal proberen de standaard betaalmethode in rekening te brengen. 'send_factuur' zal een factuur e-mailen.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Aantal dagen voordat een factuur achterstallig is. Vereist als Collectie Methode 'Stuur factuur' is.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Geheel getal dat het aantal proefdagen weergeeft dat de klant voor de eerste keer de rekening van het abonnement ontvangt.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID van de standaard betalingsmethode voor het abonnement (bijv. `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "Indien waar, het abonnement blijft actief tot het einde van de huidige factureringsperiode. Indien onwaar, wordt het onmiddellijk geannuleerd.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "Het bedrag van de terugbetaling (bijv. 12.99). Indien niets is ingevuld wordt een volledige terugbetaling uitgegeven.",
"An optional reason for the refund.": "Een facultatieve reden voor de terugbetaling.",
"A set of key-value pairs to store additional information about the refund.": "Een reeks sleutelwaarde paren om extra informatie over de terugbetaling op te slaan.",
"The products and quantities to include in the payment link.": "De producten en hoeveelheden om op te nemen in de betalingslink.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Bepaalt het gedrag nadat de aankoop is voltooid. Standaard wordt de bevestigingspagina van Stripe's weergegeven.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "De URL om de klant naar te verwijzen na een succesvolle aankoop. Wordt alleen gebruikt als het gedrag is ingesteld op \"Redirect naar URL\".",
"Enables the user to enter a promotion code on the Payment Link page.": "Maakt het mogelijk voor de gebruiker om een promotiecode in te voeren op de pagina Betalingslinks.",
"Describes whether Checkout should collect the customers billing address.": "Beschrijf of de kassa het factuuradres van de klant moet verzamelen.",
"Authorization headers are injected automatically from your connection.": "Autorisatie headers worden automatisch geïnjecteerd vanuit uw verbinding.",
"Enable for files like PDFs, images, etc..": "Inschakelen voor bestanden zoals PDF's, afbeeldingen etc..",
"All Statuses": "Alle statussen",
"Past Due": "Verleden vervaldatum",
"Unpaid": "Onbetaald",
"Canceled": "Geannuleerd",
"Incomplete": "Onvolledig",
"Incomplete Expired": "Onvolledig verlopen",
"Trialing": "Beproevingen",
"Paused": "Gepauzeerd",
"US Dollar": "Amerikaanse Dollar",
"Euro": "euro",
"Pound Sterling": "Pond Sterling",
"Australian Dollar": "Australische Dollar",
"Canadian Dollar": "Canadese Dollar",
"Swiss Franc": "Zwitserse frank",
"Chinese Yuan": "Chinese Yuan",
"Japanese Yen": "Japanse yen",
"Indian Rupee": "Indiase roepie",
"Singapore Dollar": "Singaporese Dollar",
"One-Time": "Eenmalig",
"Daily": "Dagelijks",
"Weekly": "wekelijks",
"Monthly": "maandelijks",
"Yearly": "Jaarlijks",
"Charge Automatically": "Automatisch opladen",
"Send Invoice": "Factuur verzenden",
"Duplicate": "Dupliceer",
"Fraudulent": "Frauduleus",
"Requested by Customer": "Aangevraagd door klant",
"Show Confirmation Page": "bevestigingspagina weergeven",
"Redirect to URL": "Omleiden naar URL",
"Auto": "Automatisch",
"Required": "vereist",
"GET": "KRIJG",
"POST": "POSTE",
"PATCH": "BEKIJK",
"PUT": "PUT",
"DELETE": "VERWIJDEREN",
"HEAD": "HOOFD",
"New Payment": "Nieuwe betaling",
"New Customer": "Nieuwe klant",
"Payment Failed": "Betaling mislukt",
"New Subscription": "Nieuw abonnement",
"New Charge": "Nieuwe toeslag",
"New Invoice": "Nieuwe factuur",
"Invoice Payment Failed": "Factuur betaling mislukt",
"Canceled Subscription": "Abonnement geannuleerd",
"New Refund": "Nieuwe terugbetaling",
"New Dispute": "Nieuwe aanvechting",
"New Payment Link": "Nieuwe betalingslink",
"Updated Subscription": "Abonnement bijgewerkt",
"Checkout Session Completed": "Checkout sessie voltooid",
"Triggers when a new payment is made": "Triggert wanneer een nieuwe betaling wordt gedaan",
"Triggers when a new customer is created": "Triggert wanneer een nieuwe klant wordt aangemaakt",
"Triggers when a payment fails": "Triggert wanneer een betaling mislukt",
"Triggers when a new subscription is made": "Triggert wanneer een nieuw abonnement wordt gemaakt",
"Fires when a charge is successfully completed.": "Vuurt wanneer een lading succesvol is voltooid.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Vuurt wanneer een factuur is aangemaakt. Ondersteunt filters zoals status, klant, abonnement.",
"Fires when a payment against an invoice fails.": "Vuurt wanneer een betaling tegen een factuur mislukt.",
"Fires when a subscription is canceled.": "Schiet wanneer een abonnement wordt geannuleerd.",
"Fires when a charge is refunded (full or partial).": "Vuurt wanneer een vergoeding wordt terugbetaald (volledig of gedeeltelijk).",
"Fires when a customer disputes a charge.": "Vuurt af wanneer een klant een aanrekening betwist.",
"Fires when a new Payment Link is created.": "Vuurt wanneer een nieuwe betalingslink wordt aangemaakt.",
"Fires when an existing subscription is changed.": "Schiet wanneer een bestaand abonnement wordt gewijzigd.",
"Fires when a Stripe Checkout Session is successfully completed.": "Vuurt wanneer een Stripe Checkout sessie succesvol is voltooid.",
"Status": "status",
"Subscription ID": "Abonnement ID",
"Charge ID": "Opladen ID",
"Payment Intent ID": "Betaling Intent ID",
"New Status": "Nieuwe status",
"Only trigger for invoices with this status.": "Alleen activeren voor facturen met deze status.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Trigger alleen facturen die tot deze klant-ID behoren (bijv. `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Alleen trigger voor facturen die tot dit abonnement-ID behoren (bijv. `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Alleen trigger voor abonnementen die tot deze klant-ID behoren (bijv. `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Alleen trigger voor terugbetaling gerelateerd aan deze ladings-ID (bijv. `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Alleen trigger voor terugbetaling gerelateerd aan dit betalings Intent ID (bijv. `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Alleen trigger voor geschillen die gerelateerd zijn aan deze ladings-ID (bijv. `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Alleen trigger voor geschillen die gerelateerd zijn aan deze Payment Intent ID (bijv. `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Alleen trigger wanneer het abonnement wordt bijgewerkt naar deze status.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Alleen trigger voor afrekensessies gemaakt door dit klanten-ID (bijv. `cus_...`).",
"Draft": "Concept",
"Open": "Open",
"Paid": "Betaald",
"Uncollectible": "Onverzamelbaar",
"Void": "Ongeldig",
"Incomplete - Expired": "Onvolledig - Verlopen"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Processamento de pagamento online para empresas de internet",
"Secret key acquired from your Stripe dashboard": "Chave secreta adquirida do seu painel do Stripe",
"Create Customer": "Criar Cliente",
"Create Invoice": "Criar fatura",
"Search Customer": "Pesquisar Cliente",
"Search Subscriptions": "Pesquisar Assinaturas",
"Retrieve Customer": "Recuperar Cliente",
"Update Customer": "Atualizar Cliente",
"Create Payment (Payment Intent)": "Criar pagamento (tentativa de pagamento)",
"Create Product": "Criar Produto",
"Create Price": "Criar Preço",
"Create Subscription": "Criar Assinatura",
"Cancel Subscription": "Cancelar assinatura",
"Retrieve an Invoice": "Recuperar uma fatura",
"Retrieve a Payout": "Recuperar um Pagamento",
"Create a Refund": "Criar um reembolso",
"Create Payment Link": "Criar Link de Pagamento",
"Deactivate Payment Link": "Desativar link de pagamento",
"Find Payment (by Payment Intent ID)": "Encontrar pagamento (por ID Intenção de Pagamento)",
"Find Invoice": "Encontrar fatura",
"Custom API Call": "Chamada de API personalizada",
"Create a customer in stripe": "Criar um cliente na faixa",
"Create an Invoice in stripe": "Criar uma fatura em Stripe",
"Search for a customer in stripe by email": "Procure por um cliente no Stripe por e-mail",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Pesquisar por assinaturas por ID de preço, status, ID de cliente e outros filtros, incluindo detalhes do cliente",
"Retrieve a customer in stripe by id": "Recuperar um cliente na faixa por identificação",
"Modify an existing customers details.": "Modificar dados de um cliente existente.",
"Creates a new payment intent to start a payment flow.": "Cria uma nova intenção de pagamento para iniciar um fluxo de pagamento.",
"Create a new product object in Stripe.": "Criar um novo objeto de produto no Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Crie um preço (único ou recorrente), associado a um produto.",
"Start a subscription for a customer with specified items/prices.": "Inicie uma assinatura para um cliente com os itens/preços especificados.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Cancele uma assinatura existente, imediatamente ou no final do período de faturamento atual.",
"Retrieves the details of an existing invoice by its ID.": "Obtém os detalhes de uma fatura existente por seu ID.",
"Retrieves the details of an existing payout by its ID.": "Recupera detalhes de um pagamento existente por seu ID.",
"Create a full or partial refund for a payment.": "Criar um reembolso total ou parcial para um pagamento.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Cria um link de pagamento compartilhável e hospedado por Stripe para compras ou assinaturas únicas.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Desative ou desative um Link de Pagamento para que ele não possa mais ser usado.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Recupera os detalhes de um pagamento com seu ID único de Intenção de Pagamento.",
"Finds an invoice by its unique ID.": "Encontra uma fatura com seu identificador exclusivo.",
"Make a custom API call to a specific endpoint": "Faça uma chamada de API personalizada para um ponto de extremidade específico",
"Email": "e-mail",
"Name": "Nome",
"Description": "Descrição",
"Phone": "Smartphone",
"Address Line 1": "Linha de Endereço 1",
"Postal Code": "Código Postal",
"City": "cidade",
"State": "Estado:",
"Country": "País/região",
"Customer ID": "ID do cliente",
"Currency": "moeda",
"Price IDs": "IDs de preços",
"Subscription Status": "Estado Subscrição",
"Created After": "Criado Depois",
"Created Before": "Criado Antes",
"Limit": "Limitar",
"Fetch All Results": "Obter todos os resultados",
"Include Customer Details": "Incluir detalhes do cliente",
"ID": "ID",
"Customer": "Cliente",
"Amount": "Quantidade",
"Payment Method ID": "ID do Método de Pagamento",
"Confirm Payment Immediately": "Confirme o pagamento imediatamente",
"Return URL": "URL de retorno",
"Receipt Email": "E-mail de Recibo",
"Product Name": "Nome do Produto",
"Active": "Ativo",
"Image URLs": "URLs da imagem",
"Product URL": "URL do Produto",
"Metadata": "Metadados",
"Product": "Produto:",
"Unit Amount": "Quantidade de Unidades",
"Billing Interval": "Intervalo de Cobrança",
"Interval Count": "Contagem de intervalo",
"Subscription Items": "Itens de subscrição",
"Collection Method": "Método de Coleção",
"Days Until Due": "Dias até o vencimento",
"Trial Period (Days)": "Período de avaliação (dias)",
"Default Payment Method ID": "ID padrão do método de pagamento",
"Subscription": "Assinatura",
"Cancel at Period End": "Cancelar no Período Final",
"Invoice": "Fatura",
"Payout": "Pagamento",
"Payment Intent": "Intenção de Pagamento",
"Reason": "Motivo",
"Line Items": "Itens da linha",
"After Completion Behavior": "Comportamento após conclusão",
"Redirect URL": "URL de redirecionamento",
"Allow Promotion Codes": "Permitir códigos de promoção",
"Billing Address Collection": "Coleta de endereço de cobrança",
"Payment Link": "Link de Pagamento",
"Method": "Método",
"Headers": "Cabeçalhos",
"Query Parameters": "Parâmetros da consulta",
"Body": "Conteúdo",
"Response is Binary ?": "A resposta é binária ?",
"No Error on Failure": "Nenhum erro no Failure",
"Timeout (in seconds)": "Tempo limite (em segundos)",
"Stripe Customer ID": "ID do Cliente Stripe",
"Currency for the invoice (e.g., USD)": "Moeda para a fatura (ex.: USD)",
"Description for the invoice": "Descrição da fatura",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Lista de IDs de preços separados por vírgulas a serem filtrados (por exemplo, price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Filtrar por status da assinatura",
"Filter by specific customer ID (optional)": "Filtrar por ID de cliente específico (opcional)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Inscrições de filtros criadas após esta data (formato YYYY-MM-DD)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Inscrições de filtros criadas antes desta data (formato YYYY-MM-DD)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Número máximo de assinaturas a retornar (padrão: 100, definido como 0 para todos)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Buscar todas as assinaturas correspondentes (limite de ignorados, pode demorar mais para grandes conjuntos de dados)",
"Fetch detailed customer information for each subscription": "Obter informações detalhadas do cliente para cada assinatura",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "O valor a cobrar, em um formato decimal (por exemplo, 10,50 para $10.50).",
"The three-letter ISO code for the currency.": "O código ISO de três letras para a moeda.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "O ID do Método de Pagamento a anexar (por exemplo, `pm_...`). Necessário se você deseja confirmar o pagamento imediatamente.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "Se verdadeiro, o Stripe tentará cobrar o método de pagamento fornecido. É necessário um `ID do método de pagamento`.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "A URL para redirecionar o seu cliente de volta após autenticar o seu pagamento. Necessário ao confirmar o pagamento.",
"The email address to send a receipt to. This will override the customer's email address.": "O endereço de e-mail para o qual será enviado um recibo. Isto substituirá o endereço de e-mail do cliente.",
"The products name, meant to be displayable to the customer.": "O nome do produto, pretendeu ser exibido para o cliente.",
"The products description, meant to be displayable to the customer.": "A descrição do produto, pretendeu ser exibida para o cliente.",
"Whether the product is currently available for purchase. Defaults to true.": "Se o produto está disponível para compra no momento. O padrão é verdadeiro.",
"A list of up to 8 URLs of images for this product.": "Uma lista de até 8 URLs de imagens para este produto.",
"A publicly-accessible online page for this product.": "Uma página on-line acessível publicamente para este produto.",
"A set of key-value pairs to store additional information about the product.": "Um conjunto de pares chave-valor para armazenar informações adicionais sobre o produto.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "O montante de preço como um número decimal, por exemplo, 25,50 para $25,50.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Especifique a frequência da faturação. Selecione 'Um Tempo' para um único pagamento não recorrente.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "O número de intervalos entre faturas de inscrição (por exemplo, para cobrança a cada 3 meses, intervalo de conjunto para contagem mensal e intervalo a 3). Usado apenas para preços recorrentes.",
"A list of prices to subscribe the customer to.": "Uma lista de preços para inscrever no cliente.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "Como coletar o pagamento. 'cobrança_automaticamente' tentará cobrar o método de pagamento padrão. 'Enviar_invoice' enviará um e-mail para uma fatura.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Número de dias antes de uma fatura ser vencida. Obrigatório se o método de coleta é 'Enviar fatura'.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Inteiro que representa o número de dias de teste que o cliente recebe antes das contas de assinatura pela primeira vez.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID do método de pagamento padrão para a subscrição (por exemplo, `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "Se verdadeiro, a assinatura permanece ativa até o final do período de faturamento atual. Se falso, ela cancela imediatamente.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "O valor a reembolsar (ex.: 12.99). Se deixado em branco, será emitido um reembolso total.",
"An optional reason for the refund.": "Uma razão opcional para o reembolso.",
"A set of key-value pairs to store additional information about the refund.": "Um conjunto de pares chave-valor para armazenar informações adicionais sobre o reembolso.",
"The products and quantities to include in the payment link.": "Os produtos e quantidades a serem incluídos no link de pagamento.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Controla o comportamento após a compra estar completa. O padrão é mostrar a página de confirmação hospedada do Stripe.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "A URL para a qual o cliente será redirecionado após uma compra bem-sucedida. Apenas usado se o comportamento for definido como \"Redirecionar para URL\".",
"Enables the user to enter a promotion code on the Payment Link page.": "Permite que o usuário insira um código de promoção na página de Link do pagamento.",
"Describes whether Checkout should collect the customers billing address.": "Descreve se o check-out deve coletar o endereço de cobrança do cliente.",
"Authorization headers are injected automatically from your connection.": "Os cabeçalhos de autorização são inseridos automaticamente a partir da sua conexão.",
"Enable for files like PDFs, images, etc..": "Habilitar para arquivos como PDFs, imagens, etc..",
"All Statuses": "Todos os Status",
"Past Due": "Atrasado devido",
"Unpaid": "Não pago",
"Canceled": "Cancelado",
"Incomplete": "Incompleto",
"Incomplete Expired": "Incompleto expirado",
"Trialing": "Provação",
"Paused": "Pausado",
"US Dollar": "Dólar americano",
"Euro": "Euro",
"Pound Sterling": "Libra Esterlina",
"Australian Dollar": "Dólar australiano",
"Canadian Dollar": "Dólar canadense",
"Swiss Franc": "Franco suíço",
"Chinese Yuan": "Iuan chinês",
"Japanese Yen": "Iene japonês",
"Indian Rupee": "Rupia indiana",
"Singapore Dollar": "Dólar de Singapura",
"One-Time": "Única",
"Daily": "Diariamente",
"Weekly": "Semanalmente",
"Monthly": "Mensual",
"Yearly": "Anualmente",
"Charge Automatically": "Carregar automaticamente",
"Send Invoice": "Enviar fatura",
"Duplicate": "Duplicar",
"Fraudulent": "Fraudulento",
"Requested by Customer": "Solicitado pelo cliente",
"Show Confirmation Page": "Mostrar Página de Confirmação",
"Redirect to URL": "Redirecionar para URL",
"Auto": "Automático",
"Required": "Obrigatório",
"GET": "OBTER",
"POST": "POSTAR",
"PATCH": "COMPRAR",
"PUT": "COLOCAR",
"DELETE": "EXCLUIR",
"HEAD": "CABEÇA",
"New Payment": "Novo pagamento",
"New Customer": "Novo Cliente",
"Payment Failed": "Falha no pagamento",
"New Subscription": "Nova Assinatura",
"New Charge": "Nova cobrança",
"New Invoice": "Nova fatura",
"Invoice Payment Failed": "Falha no pagamento da fatura",
"Canceled Subscription": "Assinatura cancelada",
"New Refund": "Novo Reembolso",
"New Dispute": "Nova disputa",
"New Payment Link": "Novo Link de Pagamento",
"Updated Subscription": "Assinatura atualizada",
"Checkout Session Completed": "Sessão de checkout concluída",
"Triggers when a new payment is made": "Aciona quando um novo pagamento é feito",
"Triggers when a new customer is created": "Dispara quando um novo cliente é criado",
"Triggers when a payment fails": "Aciona quando um pagamento falha",
"Triggers when a new subscription is made": "Aciona quando uma nova assinatura é feita",
"Fires when a charge is successfully completed.": "Atira quando uma carga é concluída com sucesso.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Atira quando uma fatura é criada. Suporta filtros como estado, cliente, assinatura.",
"Fires when a payment against an invoice fails.": "Ativa quando um pagamento em relação a uma fatura falha.",
"Fires when a subscription is canceled.": "Atira quando uma assinatura é cancelada.",
"Fires when a charge is refunded (full or partial).": "Atira quando uma carga é reembolsada (completa ou parcial).",
"Fires when a customer disputes a charge.": "Atira quando um cliente disputa uma cobrança.",
"Fires when a new Payment Link is created.": "Efetua quando um novo Link de Pagamento é criado.",
"Fires when an existing subscription is changed.": "Atira quando uma assinatura existente é alterada.",
"Fires when a Stripe Checkout Session is successfully completed.": "Atira quando uma Sessão de Checkout do Stripe é concluída com êxito.",
"Status": "Estado",
"Subscription ID": "ID de assinatura",
"Charge ID": "ID de cobrança",
"Payment Intent ID": "ID Intenção do Pagamento",
"New Status": "Novo status",
"Only trigger for invoices with this status.": "Apenas gatilho para faturas com este status.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Apenas gatilho para faturas pertencentes a este ID do cliente (por exemplo, `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Apenas gatilho para faturas pertencentes a este ID de inscrição (por exemplo, `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Apenas gatilho para inscrições pertencentes a este ID de cliente (por exemplo, `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Apenas gatilho para reembolsos relacionados a esta ID de Carga (por exemplo, `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Apenas gatilho para reembolsos relacionados a esta ID de Intenção de Pagamento (ex.: `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Apenas para disputas relacionadas a este ID de Carga (por exemplo, `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Apenas o desencadeamento de disputas relacionadas a este ID Intenção de Pagamento (ex.: `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Apenas gatilho quando a assinatura é atualizada para este status.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Apenas gatilho para sessões de checkout criadas por este ID de cliente (por exemplo, `cus_...`).",
"Draft": "Rascunho",
"Open": "Abertas",
"Paid": "Paga",
"Uncollectible": "Incolecionável",
"Void": "Anulado",
"Incomplete - Expired": "Incompleto - Expirado"
}

View File

@@ -0,0 +1,77 @@
{
"Stripe": "Stripe",
"Online payment processing for internet businesses": "Обработка онлайн платежей для интернет-бизнеса",
"Secret key acquired from your Stripe dashboard": "Секретный ключ получен из панели управления Stripe",
"Create Customer": "Создать клиента",
"Create Invoice": "Создать счет",
"Search Customer": "Поиск клиента",
"Search Subscriptions": "Поиск подписок",
"Retrieve Customer": "Получить клиента",
"Custom API Call": "Пользовательский вызов API",
"Create a customer in stripe": "Создать клиента в полоске",
"Create an Invoice in stripe": "Создать счет в полоске",
"Search for a customer in stripe by email": "Поиск клиента в полоске по электронной почте",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Поиск подписок по идентификатору цены, статусу, идентификатору клиента и другим фильтрам, включая данные о клиенте",
"Retrieve a customer in stripe by id": "Получить клиента в полоску по id",
"Make a custom API call to a specific endpoint": "Сделать пользовательский API вызов к определенной конечной точке",
"Email": "Почта",
"Name": "Наименование",
"Description": "Description",
"Phone": "Телефон",
"Address Line 1": "Адрес, строка 1",
"Postal Code": "Почтовый индекс",
"City": "Город",
"State": "Область",
"Country": "Страна",
"Customer ID": "ID клиента",
"Currency": "Валюта",
"Price IDs": "Идентификаторы цен",
"Subscription Status": "Статус подписки",
"Created After": "Создано после",
"Created Before": "Создан до",
"Limit": "Лимит",
"Fetch All Results": "Получить все результаты",
"Include Customer Details": "Включить информацию о клиенте",
"ID": "ID",
"Method": "Метод",
"Headers": "Заголовки",
"Query Parameters": "Параметры запроса",
"Body": "Тело",
"No Error on Failure": "Нет ошибок при ошибке",
"Timeout (in seconds)": "Таймаут (в секундах)",
"Stripe Customer ID": "ID клиента Stripe",
"Currency for the invoice (e.g., USD)": "Валюта для счета (например, USD)",
"Description for the invoice": "Описание счета",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Разделенный запятыми список идентификаторов цен для фильтра (например, price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Фильтр по статусу подписки",
"Filter by specific customer ID (optional)": "Фильтр по идентификатору клиента (необязательно)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Фильтр подписок, созданных после этой даты (в формате ГГГГ-ММ-ДД)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Фильтр подписок, созданных до этой даты (формат YYYY-MM-DD)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Максимальное количество возвращаемых подписок (по умолчанию: 100, установлено значение 0 для всех)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Получить все подходящие подписки (лимит игнорирования, может занять больше времени для больших наборов данных)",
"Fetch detailed customer information for each subscription": "Получайте подробную информацию о клиенте для каждой подписки",
"Authorization headers are injected automatically from your connection.": "Заголовки авторизации включаются автоматически из вашего соединения.",
"All Statuses": "Все статусы",
"Active": "Активен",
"Past Due": "Просрочено",
"Unpaid": "Неоплаченные",
"Canceled": "Отменено",
"Incomplete": "Незавершено",
"Incomplete Expired": "Неполный срок действия истек",
"Trialing": "Испытание",
"Paused": "Приостановлено",
"GET": "ПОЛУЧИТЬ",
"POST": "ПОСТ",
"PATCH": "ПАТЧ",
"PUT": "ПОКУПИТЬ",
"DELETE": "УДАЛИТЬ",
"HEAD": "HEAD",
"New Payment": "Новый платеж",
"New Customer": "Новый клиент",
"Payment Failed": "Платеж не удался",
"New Subscription": "Новая подписка",
"Triggers when a new payment is made": "Срабатывает при новом платеже",
"Triggers when a new customer is created": "Триггеры при создании нового клиента",
"Triggers when a payment fails": "Срабатывает при сбое платежа",
"Triggers when a new subscription is made": "Включает при создании новой подписки"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Online payment processing for internet businesses",
"Secret key acquired from your Stripe dashboard": "Secret key acquired from your Stripe dashboard",
"Create Customer": "Create Customer",
"Create Invoice": "Create Invoice",
"Search Customer": "Search Customer",
"Search Subscriptions": "Search Subscriptions",
"Retrieve Customer": "Retrieve Customer",
"Update Customer": "Update Customer",
"Create Payment (Payment Intent)": "Create Payment (Payment Intent)",
"Create Product": "Create Product",
"Create Price": "Create Price",
"Create Subscription": "Create Subscription",
"Cancel Subscription": "Cancel Subscription",
"Retrieve an Invoice": "Retrieve an Invoice",
"Retrieve a Payout": "Retrieve a Payout",
"Create a Refund": "Create a Refund",
"Create Payment Link": "Create Payment Link",
"Deactivate Payment Link": "Deactivate Payment Link",
"Find Payment (by Payment Intent ID)": "Find Payment (by Payment Intent ID)",
"Find Invoice": "Find Invoice",
"Custom API Call": "Custom API Call",
"Create a customer in stripe": "Create a customer in stripe",
"Create an Invoice in stripe": "Create an Invoice in stripe",
"Search for a customer in stripe by email": "Search for a customer in stripe by email",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Search for subscriptions by price ID, status, customer ID and other filters, including customer details",
"Retrieve a customer in stripe by id": "Retrieve a customer in stripe by id",
"Modify an existing customers details.": "Modify an existing customers details.",
"Creates a new payment intent to start a payment flow.": "Creates a new payment intent to start a payment flow.",
"Create a new product object in Stripe.": "Create a new product object in Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Create a price (one-time or recurring), associated with a product.",
"Start a subscription for a customer with specified items/prices.": "Start a subscription for a customer with specified items/prices.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Cancel an existing subscription, either immediately or at the end of the current billing period.",
"Retrieves the details of an existing invoice by its ID.": "Retrieves the details of an existing invoice by its ID.",
"Retrieves the details of an existing payout by its ID.": "Retrieves the details of an existing payout by its ID.",
"Create a full or partial refund for a payment.": "Create a full or partial refund for a payment.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Disable or deactivate a Payment Link so it can no longer be used.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Retrieves the details of a payment by its unique Payment Intent ID.",
"Finds an invoice by its unique ID.": "Finds an invoice by its unique ID.",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Email": "Email",
"Name": "Name",
"Description": "Description",
"Phone": "Phone",
"Address Line 1": "Address Line 1",
"Postal Code": "Postal Code",
"City": "City",
"State": "State",
"Country": "Country",
"Customer ID": "Customer ID",
"Currency": "Currency",
"Price IDs": "Price IDs",
"Subscription Status": "Subscription Status",
"Created After": "Created After",
"Created Before": "Created Before",
"Limit": "Limit",
"Fetch All Results": "Fetch All Results",
"Include Customer Details": "Include Customer Details",
"ID": "ID",
"Customer": "Customer",
"Amount": "Amount",
"Payment Method ID": "Payment Method ID",
"Confirm Payment Immediately": "Confirm Payment Immediately",
"Return URL": "Return URL",
"Receipt Email": "Receipt Email",
"Product Name": "Product Name",
"Active": "Active",
"Image URLs": "Image URLs",
"Product URL": "Product URL",
"Metadata": "Metadata",
"Product": "Product",
"Unit Amount": "Unit Amount",
"Billing Interval": "Billing Interval",
"Interval Count": "Interval Count",
"Subscription Items": "Subscription Items",
"Collection Method": "Collection Method",
"Days Until Due": "Days Until Due",
"Trial Period (Days)": "Trial Period (Days)",
"Default Payment Method ID": "Default Payment Method ID",
"Subscription": "Subscription",
"Cancel at Period End": "Cancel at Period End",
"Invoice": "Invoice",
"Payout": "Payout",
"Payment Intent": "Payment Intent",
"Reason": "Reason",
"Line Items": "Line Items",
"After Completion Behavior": "After Completion Behavior",
"Redirect URL": "Redirect URL",
"Allow Promotion Codes": "Allow Promotion Codes",
"Billing Address Collection": "Billing Address Collection",
"Payment Link": "Payment Link",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "Currency for the invoice (e.g., USD)",
"Description for the invoice": "Description for the invoice",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Filter by subscription status",
"Filter by specific customer ID (optional)": "Filter by specific customer ID (optional)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filter subscriptions created after this date (YYYY-MM-DD format)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filter subscriptions created before this date (YYYY-MM-DD format)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Maximum number of subscriptions to return (default: 100, set to 0 for all)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Fetch all matching subscriptions (ignores limit, may take longer for large datasets)",
"Fetch detailed customer information for each subscription": "Fetch detailed customer information for each subscription",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "The amount to charge, in a decimal format (e.g., 10.50 for $10.50).",
"The three-letter ISO code for the currency.": "The three-letter ISO code for the currency.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.",
"The email address to send a receipt to. This will override the customer's email address.": "The email address to send a receipt to. This will override the customer's email address.",
"The products name, meant to be displayable to the customer.": "The products name, meant to be displayable to the customer.",
"The products description, meant to be displayable to the customer.": "The products description, meant to be displayable to the customer.",
"Whether the product is currently available for purchase. Defaults to true.": "Whether the product is currently available for purchase. Defaults to true.",
"A list of up to 8 URLs of images for this product.": "A list of up to 8 URLs of images for this product.",
"A publicly-accessible online page for this product.": "A publicly-accessible online page for this product.",
"A set of key-value pairs to store additional information about the product.": "A set of key-value pairs to store additional information about the product.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "The price amount as a decimal, for example, 25.50 for $25.50.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.",
"A list of prices to subscribe the customer to.": "A list of prices to subscribe the customer to.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Integer representing the number of trial days the customer receives before the subscription bills for the first time.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID of the default payment method for the subscription (e.g., `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.",
"An optional reason for the refund.": "An optional reason for the refund.",
"A set of key-value pairs to store additional information about the refund.": "A set of key-value pairs to store additional information about the refund.",
"The products and quantities to include in the payment link.": "The products and quantities to include in the payment link.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".",
"Enables the user to enter a promotion code on the Payment Link page.": "Enables the user to enter a promotion code on the Payment Link page.",
"Describes whether Checkout should collect the customers billing address.": "Describes whether Checkout should collect the customers billing address.",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"All Statuses": "All Statuses",
"Past Due": "Past Due",
"Unpaid": "Unpaid",
"Canceled": "Canceled",
"Incomplete": "Incomplete",
"Incomplete Expired": "Incomplete Expired",
"Trialing": "Trialing",
"Paused": "Paused",
"US Dollar": "US Dollar",
"Euro": "Euro",
"Pound Sterling": "Pound Sterling",
"Australian Dollar": "Australian Dollar",
"Canadian Dollar": "Canadian Dollar",
"Swiss Franc": "Swiss Franc",
"Chinese Yuan": "Chinese Yuan",
"Japanese Yen": "Japanese Yen",
"Indian Rupee": "Indian Rupee",
"Singapore Dollar": "Singapore Dollar",
"One-Time": "One-Time",
"Daily": "Daily",
"Weekly": "Weekly",
"Monthly": "Monthly",
"Yearly": "Yearly",
"Charge Automatically": "Charge Automatically",
"Send Invoice": "Send Invoice",
"Duplicate": "Duplicate",
"Fraudulent": "Fraudulent",
"Requested by Customer": "Requested by Customer",
"Show Confirmation Page": "Show Confirmation Page",
"Redirect to URL": "Redirect to URL",
"Auto": "Auto",
"Required": "Required",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Payment": "New Payment",
"New Customer": "New Customer",
"Payment Failed": "Payment Failed",
"New Subscription": "New Subscription",
"New Charge": "New Charge",
"New Invoice": "New Invoice",
"Invoice Payment Failed": "Invoice Payment Failed",
"Canceled Subscription": "Canceled Subscription",
"New Refund": "New Refund",
"New Dispute": "New Dispute",
"New Payment Link": "New Payment Link",
"Updated Subscription": "Updated Subscription",
"Checkout Session Completed": "Checkout Session Completed",
"Triggers when a new payment is made": "Triggers when a new payment is made",
"Triggers when a new customer is created": "Triggers when a new customer is created",
"Triggers when a payment fails": "Triggers when a payment fails",
"Triggers when a new subscription is made": "Triggers when a new subscription is made",
"Fires when a charge is successfully completed.": "Fires when a charge is successfully completed.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Fires when an invoice is created. Supports filters like status, customer, subscription.",
"Fires when a payment against an invoice fails.": "Fires when a payment against an invoice fails.",
"Fires when a subscription is canceled.": "Fires when a subscription is canceled.",
"Fires when a charge is refunded (full or partial).": "Fires when a charge is refunded (full or partial).",
"Fires when a customer disputes a charge.": "Fires when a customer disputes a charge.",
"Fires when a new Payment Link is created.": "Fires when a new Payment Link is created.",
"Fires when an existing subscription is changed.": "Fires when an existing subscription is changed.",
"Fires when a Stripe Checkout Session is successfully completed.": "Fires when a Stripe Checkout Session is successfully completed.",
"Status": "Status",
"Subscription ID": "Subscription ID",
"Charge ID": "Charge ID",
"Payment Intent ID": "Payment Intent ID",
"New Status": "New Status",
"Only trigger for invoices with this status.": "Only trigger for invoices with this status.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Only trigger for refunds related to this Charge ID (e.g., `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Only trigger for disputes related to this Charge ID (e.g., `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Only trigger when the subscription is updated to this status.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).",
"Draft": "Draft",
"Open": "Open",
"Paid": "Paid",
"Uncollectible": "Uncollectible",
"Void": "Void",
"Incomplete - Expired": "Incomplete - Expired"
}

View File

@@ -0,0 +1,77 @@
{
"Stripe": "Stripe",
"Online payment processing for internet businesses": "Online payment processing for internet businesses",
"Secret key acquired from your Stripe dashboard": "Secret key acquired from your Stripe dashboard",
"Create Customer": "Create Customer",
"Create Invoice": "Create Invoice",
"Search Customer": "Search Customer",
"Search Subscriptions": "Search Subscriptions",
"Retrieve Customer": "Retrieve Customer",
"Custom API Call": "Custom API Call",
"Create a customer in stripe": "Create a customer in stripe",
"Create an Invoice in stripe": "Create an Invoice in stripe",
"Search for a customer in stripe by email": "Search for a customer in stripe by email",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Search for subscriptions by price ID, status, customer ID and other filters, including customer details",
"Retrieve a customer in stripe by id": "Retrieve a customer in stripe by id",
"Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
"Email": "Email",
"Name": "Name",
"Description": "Description",
"Phone": "Phone",
"Address Line 1": "Address Line 1",
"Postal Code": "Postal Code",
"City": "City",
"State": "State",
"Country": "Country",
"Customer ID": "Customer ID",
"Currency": "Currency",
"Price IDs": "Price IDs",
"Subscription Status": "Subscription Status",
"Created After": "Created After",
"Created Before": "Created Before",
"Limit": "Limit",
"Fetch All Results": "Fetch All Results",
"Include Customer Details": "Include Customer Details",
"ID": "ID",
"Method": "Method",
"Headers": "Headers",
"Query Parameters": "Query Parameters",
"Body": "Body",
"No Error on Failure": "No Error on Failure",
"Timeout (in seconds)": "Timeout (in seconds)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "Currency for the invoice (e.g., USD)",
"Description for the invoice": "Description for the invoice",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Filter by subscription status",
"Filter by specific customer ID (optional)": "Filter by specific customer ID (optional)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filter subscriptions created after this date (YYYY-MM-DD format)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filter subscriptions created before this date (YYYY-MM-DD format)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Maximum number of subscriptions to return (default: 100, set to 0 for all)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Fetch all matching subscriptions (ignores limit, may take longer for large datasets)",
"Fetch detailed customer information for each subscription": "Fetch detailed customer information for each subscription",
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
"All Statuses": "All Statuses",
"Active": "Tích cực",
"Past Due": "Past Due",
"Unpaid": "Unpaid",
"Canceled": "Canceled",
"Incomplete": "Incomplete",
"Incomplete Expired": "Incomplete Expired",
"Trialing": "Trialing",
"Paused": "Tạm dừng",
"GET": "GET",
"POST": "POST",
"PATCH": "PATCH",
"PUT": "PUT",
"DELETE": "DELETE",
"HEAD": "HEAD",
"New Payment": "New Payment",
"New Customer": "New Customer",
"Payment Failed": "Payment Failed",
"New Subscription": "New Subscription",
"Triggers when a new payment is made": "Triggers when a new payment is made",
"Triggers when a new customer is created": "Triggers when a new customer is created",
"Triggers when a payment fails": "Triggers when a payment fails",
"Triggers when a new subscription is made": "Triggers when a new subscription is made"
}

View File

@@ -0,0 +1,227 @@
{
"Online payment processing for internet businesses": "Online payment processing for internet businesses",
"Secret key acquired from your Stripe dashboard": "Secret key acquired from your Stripe dashboard",
"Create Customer": "Create Customer",
"Create Invoice": "Create Invoice",
"Search Customer": "Search Customer",
"Search Subscriptions": "Search Subscriptions",
"Retrieve Customer": "Retrieve Customer",
"Update Customer": "Update Customer",
"Create Payment (Payment Intent)": "Create Payment (Payment Intent)",
"Create Product": "Create Product",
"Create Price": "Create Price",
"Create Subscription": "Create Subscription",
"Cancel Subscription": "Cancel Subscription",
"Retrieve an Invoice": "Retrieve an Invoice",
"Retrieve a Payout": "Retrieve a Payout",
"Create a Refund": "Create a Refund",
"Create Payment Link": "Create Payment Link",
"Deactivate Payment Link": "Deactivate Payment Link",
"Find Payment (by Payment Intent ID)": "Find Payment (by Payment Intent ID)",
"Find Invoice": "Find Invoice",
"Custom API Call": "自定义 API 呼叫",
"Create a customer in stripe": "Create a customer in stripe",
"Create an Invoice in stripe": "Create an Invoice in stripe",
"Search for a customer in stripe by email": "Search for a customer in stripe by email",
"Search for subscriptions by price ID, status, customer ID and other filters, including customer details": "Search for subscriptions by price ID, status, customer ID and other filters, including customer details",
"Retrieve a customer in stripe by id": "Retrieve a customer in stripe by id",
"Modify an existing customers details.": "Modify an existing customers details.",
"Creates a new payment intent to start a payment flow.": "Creates a new payment intent to start a payment flow.",
"Create a new product object in Stripe.": "Create a new product object in Stripe.",
"Create a price (one-time or recurring), associated with a product.": "Create a price (one-time or recurring), associated with a product.",
"Start a subscription for a customer with specified items/prices.": "Start a subscription for a customer with specified items/prices.",
"Cancel an existing subscription, either immediately or at the end of the current billing period.": "Cancel an existing subscription, either immediately or at the end of the current billing period.",
"Retrieves the details of an existing invoice by its ID.": "Retrieves the details of an existing invoice by its ID.",
"Retrieves the details of an existing payout by its ID.": "Retrieves the details of an existing payout by its ID.",
"Create a full or partial refund for a payment.": "Create a full or partial refund for a payment.",
"Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.": "Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.",
"Disable or deactivate a Payment Link so it can no longer be used.": "Disable or deactivate a Payment Link so it can no longer be used.",
"Retrieves the details of a payment by its unique Payment Intent ID.": "Retrieves the details of a payment by its unique Payment Intent ID.",
"Finds an invoice by its unique ID.": "Finds an invoice by its unique ID.",
"Make a custom API call to a specific endpoint": "将一个自定义 API 调用到一个特定的终点",
"Email": "电子邮件地址",
"Name": "名称",
"Description": "描述",
"Phone": "Phone",
"Address Line 1": "Address Line 1",
"Postal Code": "Postal Code",
"City": "City",
"State": "State",
"Country": "Country",
"Customer ID": "Customer ID",
"Currency": "Currency",
"Price IDs": "Price IDs",
"Subscription Status": "Subscription Status",
"Created After": "Created After",
"Created Before": "Created Before",
"Limit": "Limit",
"Fetch All Results": "Fetch All Results",
"Include Customer Details": "Include Customer Details",
"ID": "ID",
"Customer": "Customer",
"Amount": "Amount",
"Payment Method ID": "Payment Method ID",
"Confirm Payment Immediately": "Confirm Payment Immediately",
"Return URL": "Return URL",
"Receipt Email": "Receipt Email",
"Product Name": "Product Name",
"Active": "使用中",
"Image URLs": "Image URLs",
"Product URL": "Product URL",
"Metadata": "Metadata",
"Product": "Product",
"Unit Amount": "Unit Amount",
"Billing Interval": "Billing Interval",
"Interval Count": "Interval Count",
"Subscription Items": "Subscription Items",
"Collection Method": "Collection Method",
"Days Until Due": "Days Until Due",
"Trial Period (Days)": "Trial Period (Days)",
"Default Payment Method ID": "Default Payment Method ID",
"Subscription": "订阅",
"Cancel at Period End": "Cancel at Period End",
"Invoice": "Invoice",
"Payout": "Payout",
"Payment Intent": "Payment Intent",
"Reason": "Reason",
"Line Items": "Line Items",
"After Completion Behavior": "After Completion Behavior",
"Redirect URL": "重定向网址",
"Allow Promotion Codes": "Allow Promotion Codes",
"Billing Address Collection": "Billing Address Collection",
"Payment Link": "Payment Link",
"Method": "方法",
"Headers": "信头",
"Query Parameters": "查询参数",
"Body": "正文内容",
"Response is Binary ?": "Response is Binary ?",
"No Error on Failure": "失败时没有错误",
"Timeout (in seconds)": "超时(秒)",
"Stripe Customer ID": "Stripe Customer ID",
"Currency for the invoice (e.g., USD)": "Currency for the invoice (e.g., USD)",
"Description for the invoice": "Description for the invoice",
"Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)": "Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)",
"Filter by subscription status": "Filter by subscription status",
"Filter by specific customer ID (optional)": "Filter by specific customer ID (optional)",
"Filter subscriptions created after this date (YYYY-MM-DD format)": "Filter subscriptions created after this date (YYYY-MM-DD format)",
"Filter subscriptions created before this date (YYYY-MM-DD format)": "Filter subscriptions created before this date (YYYY-MM-DD format)",
"Maximum number of subscriptions to return (default: 100, set to 0 for all)": "Maximum number of subscriptions to return (default: 100, set to 0 for all)",
"Fetch all matching subscriptions (ignores limit, may take longer for large datasets)": "Fetch all matching subscriptions (ignores limit, may take longer for large datasets)",
"Fetch detailed customer information for each subscription": "Fetch detailed customer information for each subscription",
"The amount to charge, in a decimal format (e.g., 10.50 for $10.50).": "The amount to charge, in a decimal format (e.g., 10.50 for $10.50).",
"The three-letter ISO code for the currency.": "The three-letter ISO code for the currency.",
"The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.": "The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.",
"If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.": "If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.",
"The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.": "The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.",
"The email address to send a receipt to. This will override the customer's email address.": "The email address to send a receipt to. This will override the customer's email address.",
"The products name, meant to be displayable to the customer.": "The products name, meant to be displayable to the customer.",
"The products description, meant to be displayable to the customer.": "The products description, meant to be displayable to the customer.",
"Whether the product is currently available for purchase. Defaults to true.": "Whether the product is currently available for purchase. Defaults to true.",
"A list of up to 8 URLs of images for this product.": "A list of up to 8 URLs of images for this product.",
"A publicly-accessible online page for this product.": "A publicly-accessible online page for this product.",
"A set of key-value pairs to store additional information about the product.": "A set of key-value pairs to store additional information about the product.",
"The price amount as a decimal, for example, 25.50 for $25.50.": "The price amount as a decimal, for example, 25.50 for $25.50.",
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.": "Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.",
"The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.": "The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.",
"A list of prices to subscribe the customer to.": "A list of prices to subscribe the customer to.",
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.": "How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.",
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.": "Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.",
"Integer representing the number of trial days the customer receives before the subscription bills for the first time.": "Integer representing the number of trial days the customer receives before the subscription bills for the first time.",
"ID of the default payment method for the subscription (e.g., `pm_...`).": "ID of the default payment method for the subscription (e.g., `pm_...`).",
"If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.": "If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.",
"The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.": "The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.",
"An optional reason for the refund.": "An optional reason for the refund.",
"A set of key-value pairs to store additional information about the refund.": "A set of key-value pairs to store additional information about the refund.",
"The products and quantities to include in the payment link.": "The products and quantities to include in the payment link.",
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.": "Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.",
"The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".": "The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to \"Redirect to URL\".",
"Enables the user to enter a promotion code on the Payment Link page.": "Enables the user to enter a promotion code on the Payment Link page.",
"Describes whether Checkout should collect the customers billing address.": "Describes whether Checkout should collect the customers billing address.",
"Authorization headers are injected automatically from your connection.": "授权头自动从您的连接中注入。",
"Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
"All Statuses": "All Statuses",
"Past Due": "Past Due",
"Unpaid": "Unpaid",
"Canceled": "Canceled",
"Incomplete": "Incomplete",
"Incomplete Expired": "Incomplete Expired",
"Trialing": "Trialing",
"Paused": "已暂停",
"US Dollar": "US Dollar",
"Euro": "Euro",
"Pound Sterling": "Pound Sterling",
"Australian Dollar": "Australian Dollar",
"Canadian Dollar": "Canadian Dollar",
"Swiss Franc": "Swiss Franc",
"Chinese Yuan": "Chinese Yuan",
"Japanese Yen": "Japanese Yen",
"Indian Rupee": "Indian Rupee",
"Singapore Dollar": "Singapore Dollar",
"One-Time": "One-Time",
"Daily": "Daily",
"Weekly": "Weekly",
"Monthly": "Monthly",
"Yearly": "Yearly",
"Charge Automatically": "Charge Automatically",
"Send Invoice": "Send Invoice",
"Duplicate": "Duplicate",
"Fraudulent": "Fraudulent",
"Requested by Customer": "Requested by Customer",
"Show Confirmation Page": "Show Confirmation Page",
"Redirect to URL": "Redirect to URL",
"Auto": "Auto",
"Required": "Required",
"GET": "获取",
"POST": "帖子",
"PATCH": "PATCH",
"PUT": "弹出",
"DELETE": "删除",
"HEAD": "黑色",
"New Payment": "New Payment",
"New Customer": "New Customer",
"Payment Failed": "Payment Failed",
"New Subscription": "New Subscription",
"New Charge": "New Charge",
"New Invoice": "New Invoice",
"Invoice Payment Failed": "Invoice Payment Failed",
"Canceled Subscription": "Canceled Subscription",
"New Refund": "New Refund",
"New Dispute": "New Dispute",
"New Payment Link": "New Payment Link",
"Updated Subscription": "Updated Subscription",
"Checkout Session Completed": "Checkout Session Completed",
"Triggers when a new payment is made": "Triggers when a new payment is made",
"Triggers when a new customer is created": "Triggers when a new customer is created",
"Triggers when a payment fails": "Triggers when a payment fails",
"Triggers when a new subscription is made": "Triggers when a new subscription is made",
"Fires when a charge is successfully completed.": "Fires when a charge is successfully completed.",
"Fires when an invoice is created. Supports filters like status, customer, subscription.": "Fires when an invoice is created. Supports filters like status, customer, subscription.",
"Fires when a payment against an invoice fails.": "Fires when a payment against an invoice fails.",
"Fires when a subscription is canceled.": "Fires when a subscription is canceled.",
"Fires when a charge is refunded (full or partial).": "Fires when a charge is refunded (full or partial).",
"Fires when a customer disputes a charge.": "Fires when a customer disputes a charge.",
"Fires when a new Payment Link is created.": "Fires when a new Payment Link is created.",
"Fires when an existing subscription is changed.": "Fires when an existing subscription is changed.",
"Fires when a Stripe Checkout Session is successfully completed.": "Fires when a Stripe Checkout Session is successfully completed.",
"Status": "状态",
"Subscription ID": "Subscription ID",
"Charge ID": "Charge ID",
"Payment Intent ID": "Payment Intent ID",
"New Status": "New Status",
"Only trigger for invoices with this status.": "Only trigger for invoices with this status.",
"Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).": "Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).",
"Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).": "Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).",
"Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).": "Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).",
"Only trigger for refunds related to this Charge ID (e.g., `ch_...`).": "Only trigger for refunds related to this Charge ID (e.g., `ch_...`).",
"Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).": "Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).",
"Only trigger for disputes related to this Charge ID (e.g., `ch_...`).": "Only trigger for disputes related to this Charge ID (e.g., `ch_...`).",
"Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).": "Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).",
"Only trigger when the subscription is updated to this status.": "Only trigger when the subscription is updated to this status.",
"Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).": "Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).",
"Draft": "草稿",
"Open": "Open",
"Paid": "Paid",
"Uncollectible": "Uncollectible",
"Void": "Void",
"Incomplete - Expired": "Incomplete - Expired"
}

View File

@@ -0,0 +1,103 @@
import { createCustomApiCallAction } from '@activepieces/pieces-common';
import { PieceAuth, createPiece } from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { stripeCreateCustomer } from './lib/actions/create-customer';
import { stripeCreateInvoice } from './lib/actions/create-invoice';
import { stripeRetrieveCustomer } from './lib/actions/retrieve-customer';
import { stripeSearchCustomer } from './lib/actions/search-customer';
import { stripeNewCustomer } from './lib/trigger/new-customer';
import { stripeNewPayment } from './lib/trigger/new-payment';
import { stripeNewSubscription } from './lib/trigger/new-subscription';
import { stripePaymentFailed } from './lib/trigger/payment-failed';
import { stripeSearchSubscriptions } from './lib/actions/search-subscriptions';
import { stripeNewCharge } from './lib/trigger/new-charge';
import { stripeNewInvoice } from './lib/trigger/new-invoice';
import { stripeInvoicePaymentFailed } from './lib/trigger/invoice-payment-failed';
import { stripeCanceledSubscription } from './lib/trigger/canceled-subscription';
import { stripeNewRefund } from './lib/trigger/new-refund';
import { stripeNewDispute } from './lib/trigger/new-dispute';
import { stripeNewPaymentLink } from './lib/trigger/new-payment-link';
import { stripeUpdatedSubscription } from './lib/trigger/updated-subscription';
import { stripeCheckoutSessionCompleted } from './lib/trigger/checkout-session-completed';
import { stripeUpdateCustomer } from './lib/actions/update-customer';
import { stripeCreatePaymentIntent } from './lib/actions/create-payment-intent';
import { stripeCreateProduct } from './lib/actions/create-product';
import { stripeCreatePrice } from './lib/actions/create-price';
import { stripeCreateSubscription } from './lib/actions/create-subscription';
import { stripeCancelSubscription } from './lib/actions/cancel-subscription';
import { stripeRetrieveInvoice } from './lib/actions/retrieve-invoice';
import { stripeRetrievePayout } from './lib/actions/retrieve-payout';
import { stripeCreateRefund } from './lib/actions/create-refund';
import { stripeCreatePaymentLink } from './lib/actions/create-payment-link';
import { stripeDeactivatePaymentLink } from './lib/actions/deactivate-payment-link';
import { stripeRetrievePaymentIntent } from './lib/actions/retrieve-payment-intent';
import { stripeFindInvoice } from './lib/actions/find-invoice';
export const stripeAuth = PieceAuth.SecretText({
displayName: 'Secret API Key',
required: true,
description: 'Secret key acquired from your Stripe dashboard',
});
export const stripe = createPiece({
displayName: 'Stripe',
description: 'Online payment processing for internet businesses',
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/stripe.png',
authors: [
'lldiegon',
'doskyft',
'kishanprmr',
'MoShizzle',
'AbdulTheActivePiecer',
'khaledmashaly',
'abuaboud',
'Prabhukiran161',
'sanket-a11y'
],
categories: [PieceCategory.COMMERCE, PieceCategory.PAYMENT_PROCESSING],
auth: stripeAuth,
actions: [
stripeCreateCustomer,
stripeCreateInvoice,
stripeSearchCustomer,
stripeSearchSubscriptions,
stripeRetrieveCustomer,
stripeUpdateCustomer,
stripeCreatePaymentIntent,
stripeCreateProduct,
stripeCreatePrice,
stripeCreateSubscription,
stripeCancelSubscription,
stripeRetrieveInvoice,
stripeRetrievePayout,
stripeCreateRefund,
stripeCreatePaymentLink,
stripeDeactivatePaymentLink,
stripeRetrievePaymentIntent,
stripeFindInvoice,
createCustomApiCallAction({
baseUrl: () => 'https://api.stripe.com/v1',
auth: stripeAuth,
authMapping: async (auth) => ({
Authorization: `Bearer ${auth.secret_text}`,
}),
}),
],
triggers: [
stripeNewPayment,
stripeNewCustomer,
stripePaymentFailed,
stripeNewSubscription,
stripeNewCharge,
stripeNewInvoice,
stripeInvoicePaymentFailed,
stripeCanceledSubscription,
stripeNewRefund,
stripeNewDispute,
stripeNewPaymentLink,
stripeUpdatedSubscription,
stripeCheckoutSessionCompleted,
],
});

View File

@@ -0,0 +1,34 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { stripeAuth } from '../..';
import { stripeCommon, getClient } from '../common';
export const stripeCancelSubscription = createAction({
name: 'cancel_subscription',
auth: stripeAuth,
displayName: 'Cancel Subscription',
description:
'Cancel an existing subscription, either immediately or at the end of the current billing period.',
props: {
subscription: stripeCommon.subscription,
cancel_at_period_end: Property.Checkbox({
displayName: 'Cancel at Period End',
description:
'If true, the subscription remains active until the end of the current billing period. If false, it cancels immediately.',
required: false,
defaultValue: false,
}),
},
async run(context) {
const { subscription, cancel_at_period_end } = context.propsValue;
const client = getClient(context.auth.secret_text);
if (cancel_at_period_end) {
return await client.subscriptions.update(subscription, {
cancel_at_period_end: true,
});
} else {
return await client.subscriptions.cancel(subscription);
}
},
});

View File

@@ -0,0 +1,80 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
export const stripeCreateCustomer = createAction({
name: 'create_customer',
auth: stripeAuth,
displayName: 'Create Customer',
description: 'Create a customer in stripe',
props: {
email: Property.ShortText({
displayName: 'Email',
description: undefined,
required: true,
}),
name: Property.ShortText({
displayName: 'Name',
required: true,
}),
description: Property.LongText({
displayName: 'Description',
required: false,
}),
phone: Property.ShortText({
displayName: 'Phone',
required: false,
}),
line1: Property.ShortText({
displayName: 'Address Line 1',
required: false,
}),
postal_code: Property.ShortText({
displayName: 'Postal Code',
required: false,
}),
city: Property.ShortText({
displayName: 'City',
required: false,
}),
state: Property.ShortText({
displayName: 'State',
required: false,
}),
country: Property.ShortText({
displayName: 'Country',
required: false,
}),
},
async run(context) {
const customer = {
email: context.propsValue.email,
name: context.propsValue.name,
description: context.propsValue.description,
phone: context.propsValue.phone,
address: {
line1: context.propsValue.line1,
postal_code: context.propsValue.postal_code,
city: context.propsValue.city,
state: context.propsValue.state,
country: context.propsValue.country,
},
};
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: 'https://api.stripe.com/v1/customers',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
email: customer.email,
name: customer.name,
description: customer.description,
phone: customer.phone,
address: customer.address,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,49 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
export const stripeCreateInvoice = createAction({
name: 'create_invoice',
auth: stripeAuth,
displayName: 'Create Invoice',
description: 'Create an Invoice in stripe',
props: {
customer_id: Property.ShortText({
displayName: 'Customer ID',
description: 'Stripe Customer ID',
required: true,
}),
currency: Property.ShortText({
displayName: 'Currency',
description: 'Currency for the invoice (e.g., USD)',
required: true,
}),
description: Property.LongText({
displayName: 'Description',
description: 'Description for the invoice',
required: false,
}),
},
async run(context) {
const invoice = {
customer: context.propsValue.customer_id,
currency: context.propsValue.currency,
description: context.propsValue.description,
};
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: 'https://api.stripe.com/v1/invoices',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
customer: invoice.customer,
currency: invoice.currency,
description: invoice.description,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,124 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeCreatePaymentIntent = createAction({
name: 'create_payment_intent',
auth: stripeAuth,
displayName: 'Create Payment (Payment Intent)',
description: 'Creates a new payment intent to start a payment flow.',
props: {
amount: Property.Number({
displayName: 'Amount',
description:
'The amount to charge, in a decimal format (e.g., 10.50 for $10.50).',
required: true,
}),
currency: Property.StaticDropdown({
displayName: 'Currency',
description: 'The three-letter ISO code for the currency.',
required: true,
options: {
options: [
{ label: 'US Dollar', value: 'usd' },
{ label: 'Euro', value: 'eur' },
{ label: 'Pound Sterling', value: 'gbp' },
{ label: 'Australian Dollar', value: 'aud' },
{ label: 'Canadian Dollar', value: 'cad' },
{ label: 'Swiss Franc', value: 'chf' },
{ label: 'Chinese Yuan', value: 'cny' },
{ label: 'Japanese Yen', value: 'jpy' },
{ label: 'Indian Rupee', value: 'inr' },
{ label: 'Singapore Dollar', value: 'sgd' },
],
},
}),
customer: stripeCommon.customer,
payment_method: Property.ShortText({
displayName: 'Payment Method ID',
description:
'The ID of the Payment Method to attach (e.g., `pm_...`). Required if you want to confirm the payment immediately.',
required: false,
}),
confirm: Property.Checkbox({
displayName: 'Confirm Payment Immediately',
description:
'If true, Stripe will attempt to charge the provided payment method. A `Payment Method ID` is required.',
required: false,
defaultValue: false,
}),
return_url: Property.ShortText({
displayName: 'Return URL',
description:
'The URL to redirect your customer back to after they authenticate their payment. Required when confirming the payment.',
required: false,
}),
description: Property.LongText({
displayName: 'Description',
required: false,
}),
receipt_email: Property.ShortText({
displayName: 'Receipt Email',
description:
"The email address to send a receipt to. This will override the customer's email address.",
required: false,
}),
},
async run(context) {
const {
amount,
currency,
customer,
payment_method,
confirm,
return_url,
description,
receipt_email,
} = context.propsValue;
if (confirm && !payment_method) {
throw new Error(
"A Payment Method ID is required when 'Confirm Payment' is set to true."
);
}
if (confirm && !return_url) {
throw new Error(
"A Return URL is required when 'Confirm Payment' is set to true."
);
}
const amountInCents = Math.round(amount * 100);
const body: { [key: string]: unknown } = {
amount: amountInCents,
currency: currency,
};
if (customer) body.customer = customer;
if (payment_method) body.payment_method = payment_method;
if (confirm) body.confirm = confirm;
if (return_url) body.return_url = return_url;
if (description) body.description = description;
if (receipt_email) body.receipt_email = receipt_email;
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: `${stripeCommon.baseUrl}/payment_intents`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: body,
});
return response.body;
},
});

View File

@@ -0,0 +1,102 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { stripeAuth } from '../..';
import { getClient } from '../common';
import { Stripe } from 'stripe';
export const stripeCreatePaymentLink = createAction({
name: 'create_payment_link',
auth: stripeAuth,
displayName: 'Create Payment Link',
description:
'Creates a shareable, Stripe-hosted payment link for one-time purchases or subscriptions.',
props: {
line_items: Property.Array({
displayName: 'Line Items',
description:
'The products and quantities to include in the payment link.',
required: true,
properties: {
price: Property.ShortText({
displayName: 'Price ID',
description:
'The ID of the price object (e.g., price_1J2X3Y4Z...). Find this in your Stripe Dashboard under Products.',
required: true,
}),
quantity: Property.Number({
displayName: 'Quantity',
required: true,
}),
},
}),
after_completion_type: Property.StaticDropdown({
displayName: 'After Completion Behavior',
description:
"Controls the behavior after the purchase is complete. Defaults to showing Stripe's hosted confirmation page.",
required: false,
options: {
options: [
{ label: 'Show Confirmation Page', value: 'hosted_confirmation' },
{ label: 'Redirect to URL', value: 'redirect' },
],
},
}),
after_completion_redirect_url: Property.ShortText({
displayName: 'Redirect URL',
description:
'The URL to redirect the customer to after a successful purchase. Only used if the behavior is set to "Redirect to URL".',
required: false,
}),
allow_promotion_codes: Property.Checkbox({
displayName: 'Allow Promotion Codes',
description:
'Enables the user to enter a promotion code on the Payment Link page.',
required: false,
}),
billing_address_collection: Property.StaticDropdown({
displayName: 'Billing Address Collection',
description:
'Describes whether Checkout should collect the customers billing address.',
required: false,
options: {
options: [
{ label: 'Auto', value: 'auto' },
{ label: 'Required', value: 'required' },
],
},
}),
metadata: Property.Json({
displayName: 'Metadata',
required: false,
}),
},
async run(context) {
const client = getClient(context.auth.secret_text);
const props = context.propsValue;
const params: Stripe.PaymentLinkCreateParams = {
line_items: props.line_items as { price: string; quantity: number }[],
allow_promotion_codes: props.allow_promotion_codes,
billing_address_collection: props.billing_address_collection as
| 'auto'
| 'required'
| undefined,
metadata: props.metadata as Record<string, string> | undefined,
};
if (props.after_completion_type) {
params.after_completion = {
type: props.after_completion_type as 'hosted_confirmation' | 'redirect',
};
if (
props.after_completion_type === 'redirect' &&
props.after_completion_redirect_url
) {
params.after_completion.redirect = {
url: props.after_completion_redirect_url,
};
}
}
return await client.paymentLinks.create(params);
},
});

View File

@@ -0,0 +1,105 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeCreatePrice = createAction({
name: 'create_price',
auth: stripeAuth,
displayName: 'Create Price',
description:
'Create a price (one-time or recurring), associated with a product.',
props: {
product: stripeCommon.product,
unit_amount: Property.Number({
displayName: 'Unit Amount',
description:
'The price amount as a decimal, for example, 25.50 for $25.50.',
required: true,
}),
currency: Property.StaticDropdown({
displayName: 'Currency',
description: 'The three-letter ISO code for the currency.',
required: true,
options: {
options: [
{ label: 'US Dollar', value: 'usd' },
{ label: 'Euro', value: 'eur' },
{ label: 'Pound Sterling', value: 'gbp' },
{ label: 'Indian Rupee', value: 'inr' },
{ label: 'Australian Dollar', value: 'aud' },
{ label: 'Canadian Dollar', value: 'cad' },
{ label: 'Swiss Franc', value: 'chf' },
{ label: 'Chinese Yuan', value: 'cny' },
{ label: 'Japanese Yen', value: 'jpy' },
{ label: 'Singapore Dollar', value: 'sgd' },
],
},
}),
recurring_interval: Property.StaticDropdown({
displayName: 'Billing Interval',
description:
"Specify the billing frequency. Select 'One-Time' for a single, non-recurring payment.",
required: true,
defaultValue: 'one_time',
options: {
options: [
{ label: 'One-Time', value: 'one_time' },
{ label: 'Daily', value: 'day' },
{ label: 'Weekly', value: 'week' },
{ label: 'Monthly', value: 'month' },
{ label: 'Yearly', value: 'year' },
],
},
}),
recurring_interval_count: Property.Number({
displayName: 'Interval Count',
description:
'The number of intervals between subscription billings (e.g., for billing every 3 months, set Interval to Monthly and Interval Count to 3). Only used for recurring prices.',
required: false,
}),
},
async run(context) {
const {
product,
unit_amount,
currency,
recurring_interval,
recurring_interval_count,
} = context.propsValue;
const unitAmountInCents = Math.round(unit_amount * 100);
const body: { [key: string]: unknown } = {
product: product,
unit_amount: unitAmountInCents,
currency: currency,
};
if (recurring_interval !== 'one_time') {
body['recurring[interval]'] = recurring_interval;
if (recurring_interval_count) {
body['recurring[interval_count]'] = recurring_interval_count;
}
}
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: `${stripeCommon.baseUrl}/prices`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: body,
});
return response.body;
},
});

View File

@@ -0,0 +1,89 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeCreateProduct = createAction({
name: 'create_product',
auth: stripeAuth,
displayName: 'Create Product',
description: 'Create a new product object in Stripe.',
props: {
name: Property.ShortText({
displayName: 'Product Name',
description:
'The products name, meant to be displayable to the customer.',
required: true,
}),
description: Property.LongText({
displayName: 'Description',
description:
'The products description, meant to be displayable to the customer.',
required: false,
}),
active: Property.Checkbox({
displayName: 'Active',
description:
'Whether the product is currently available for purchase. Defaults to true.',
required: false,
}),
images: Property.Array({
displayName: 'Image URLs',
description: 'A list of up to 8 URLs of images for this product.',
required: false,
}),
url: Property.ShortText({
displayName: 'Product URL',
description: 'A publicly-accessible online page for this product.',
required: false,
}),
metadata: Property.Json({
displayName: 'Metadata',
description:
'A set of key-value pairs to store additional information about the product.',
required: false,
}),
},
async run(context) {
const { name, description, active, images, url, metadata } =
context.propsValue;
const body: { [key: string]: unknown } = {
name: name,
};
if (description) body.description = description;
if (active !== undefined) body.active = active;
if (url) body.url = url;
if (images && Array.isArray(images)) {
images.forEach((image, index) => {
body[`images[${index}]`] = image;
});
}
if (metadata && typeof metadata === 'object') {
Object.keys(metadata).forEach((key) => {
body[`metadata[${key}]`] = (metadata as Record<string, string>)[key];
});
}
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: `${stripeCommon.baseUrl}/products`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: body,
});
return response.body;
},
});

View File

@@ -0,0 +1,76 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeCreateRefund = createAction({
name: 'create_refund',
auth: stripeAuth,
displayName: 'Create a Refund',
description: 'Create a full or partial refund for a payment.',
props: {
payment_intent: stripeCommon.paymentIntent,
amount: Property.Number({
displayName: 'Amount',
description:
'The amount to refund (e.g., 12.99). If left blank, a full refund will be issued.',
required: false,
}),
reason: Property.StaticDropdown({
displayName: 'Reason',
description: 'An optional reason for the refund.',
required: false,
options: {
options: [
{ label: 'Duplicate', value: 'duplicate' },
{ label: 'Fraudulent', value: 'fraudulent' },
{ label: 'Requested by Customer', value: 'requested_by_customer' },
],
},
}),
metadata: Property.Json({
displayName: 'Metadata',
description:
'A set of key-value pairs to store additional information about the refund.',
required: false,
}),
},
async run(context) {
const { payment_intent, amount, reason, metadata } = context.propsValue;
const body: { [key: string]: unknown } = {
payment_intent: payment_intent,
};
if (amount !== undefined && amount !== null) {
body.amount = Math.round(amount * 100);
}
if (reason) {
body.reason = reason;
}
if (metadata && typeof metadata === 'object') {
Object.keys(metadata).forEach((key) => {
body[`metadata[${key}]`] = (metadata as Record<string, string>)[key];
});
}
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: `${stripeCommon.baseUrl}/refunds`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: body,
});
return response.body;
},
});

View File

@@ -0,0 +1,123 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeCreateSubscription = createAction({
name: 'create_subscription',
auth: stripeAuth,
displayName: 'Create Subscription',
description:
'Start a subscription for a customer with specified items/prices.',
props: {
customer: stripeCommon.customer,
items: Property.Array({
displayName: 'Subscription Items',
description: 'A list of prices to subscribe the customer to.',
required: true,
properties: {
price: Property.ShortText({
displayName: 'Price ID',
description:
'The ID of the price object (e.g., price_...). You can find this in your Stripe Dashboard under Products.',
required: true,
}),
quantity: Property.Number({
displayName: 'Quantity',
description:
'The number of units of this price to subscribe to. Defaults to 1.',
required: false,
}),
},
}),
collection_method: Property.StaticDropdown({
displayName: 'Collection Method',
description:
"How to collect payment. 'charge_automatically' will try to bill the default payment method. 'send_invoice' will email an invoice.",
required: false,
options: {
options: [
{ label: 'Charge Automatically', value: 'charge_automatically' },
{ label: 'Send Invoice', value: 'send_invoice' },
],
},
}),
days_until_due: Property.Number({
displayName: 'Days Until Due',
description:
"Number of days before an invoice is due. Required if Collection Method is 'Send Invoice'.",
required: false,
}),
trial_period_days: Property.Number({
displayName: 'Trial Period (Days)',
description:
'Integer representing the number of trial days the customer receives before the subscription bills for the first time.',
required: false,
}),
default_payment_method: Property.ShortText({
displayName: 'Default Payment Method ID',
description:
'ID of the default payment method for the subscription (e.g., `pm_...`).',
required: false,
}),
metadata: Property.Json({
displayName: 'Metadata',
required: false,
}),
},
async run(context) {
const {
customer,
items,
collection_method,
days_until_due,
trial_period_days,
default_payment_method,
metadata,
} = context.propsValue;
const body: Record<string, unknown> = {
customer,
collection_method,
days_until_due,
trial_period_days,
default_payment_method,
metadata,
};
Object.keys(body).forEach((key) => {
if (body[key] === undefined || body[key] === null) {
delete body[key];
}
});
if (items && Array.isArray(items)) {
items.forEach((item, index) => {
const typedItem = item as { price: string; quantity?: number };
body[`items[${index}][price]`] = typedItem.price;
if (typedItem.quantity) {
body[`items[${index}][quantity]`] = typedItem.quantity;
}
});
}
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: `${stripeCommon.baseUrl}/subscriptions`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: body,
});
return response.body;
},
});

View File

@@ -0,0 +1,21 @@
import { createAction } from '@activepieces/pieces-framework';
import { stripeAuth } from '../..';
import { stripeCommon, getClient } from '../common';
export const stripeDeactivatePaymentLink = createAction({
name: 'deactivate_payment_link',
auth: stripeAuth,
displayName: 'Deactivate Payment Link',
description:
'Disable or deactivate a Payment Link so it can no longer be used.',
props: {
payment_link_id: stripeCommon.paymentLink,
},
async run(context) {
const { payment_link_id } = context.propsValue;
const client = getClient(context.auth.secret_text);
return await client.paymentLinks.update(payment_link_id, {
active: false,
});
},
});

View File

@@ -0,0 +1,32 @@
import { createAction } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeFindInvoice = createAction({
name: 'find_invoice',
auth: stripeAuth,
displayName: 'Find Invoice',
description: 'Finds an invoice by its unique ID.',
props: {
invoice_id: stripeCommon.invoice,
},
async run(context) {
const { invoice_id } = context.propsValue;
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${stripeCommon.baseUrl}/invoices/${invoice_id}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,37 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
AuthenticationType,
httpClient,
HttpMethod,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
export const stripeRetrieveCustomer = createAction({
name: 'retrieve_customer',
auth: stripeAuth,
displayName: 'Retrieve Customer',
description: 'Retrieve a customer in stripe by id',
props: {
id: Property.ShortText({
displayName: 'ID',
description: undefined,
required: true,
}),
},
async run(context) {
const customer = {
id: context.propsValue.id,
};
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `https://api.stripe.com/v1/customers/${customer.id}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,32 @@
import { createAction } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeRetrieveInvoice = createAction({
name: 'retrieve_invoice',
auth: stripeAuth,
displayName: 'Retrieve an Invoice',
description: 'Retrieves the details of an existing invoice by its ID.',
props: {
invoice_id: stripeCommon.invoice,
},
async run(context) {
const { invoice_id } = context.propsValue;
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${stripeCommon.baseUrl}/invoices/${invoice_id}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,33 @@
import { createAction } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeRetrievePaymentIntent = createAction({
name: 'retrieve_payment_intent',
auth: stripeAuth,
displayName: 'Find Payment (by Payment Intent ID)',
description:
'Retrieves the details of a payment by its unique Payment Intent ID.',
props: {
payment_intent_id: stripeCommon.paymentIntent,
},
async run(context) {
const { payment_intent_id } = context.propsValue;
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${stripeCommon.baseUrl}/payment_intents/${payment_intent_id}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,32 @@
import { createAction } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeRetrievePayout = createAction({
name: 'retrieve_payout',
auth: stripeAuth,
displayName: 'Retrieve a Payout',
description: 'Retrieves the details of an existing payout by its ID.',
props: {
payout_id: stripeCommon.payout,
},
async run(context) {
const { payout_id } = context.propsValue;
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${stripeCommon.baseUrl}/payouts/${payout_id}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
});
return response.body;
},
});

View File

@@ -0,0 +1,34 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
export const stripeSearchCustomer = createAction({
name: 'search_customer',
auth: stripeAuth,
displayName: 'Search Customer',
description: 'Search for a customer in stripe by email',
props: {
email: Property.ShortText({
displayName: 'Email',
description: undefined,
required: true,
}),
},
async run(context) {
const customer = {
email: context.propsValue.email,
};
const response = await httpClient.sendRequest({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/customers/search',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
query: 'email:' + "'" + customer.email + "'",
},
});
return response.body;
},
});

View File

@@ -0,0 +1,230 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import Stripe from 'stripe';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
interface AugmentedSubscriptionOutput extends Stripe.Subscription {
customer: string | Stripe.Customer | Stripe.DeletedCustomer;
}
const statusOptions = [
{ label: 'All Statuses', value: '' },
{ label: 'Active', value: 'active' },
{ label: 'Past Due', value: 'past_due' },
{ label: 'Unpaid', value: 'unpaid' },
{ label: 'Canceled', value: 'canceled' },
{ label: 'Incomplete', value: 'incomplete' },
{ label: 'Incomplete Expired', value: 'incomplete_expired' },
{ label: 'Trialing', value: 'trialing' },
{ label: 'Paused', value: 'paused' },
]
export const stripeSearchSubscriptions = createAction({
name: 'search_subscriptions',
auth: stripeAuth,
displayName: 'Search Subscriptions',
description: 'Search for subscriptions by price ID, status, customer ID and other filters, including customer details',
props: {
price_ids: Property.LongText({
displayName: 'Price IDs',
description: 'Comma-separated list of price IDs to filter by (e.g., price_1ABC123, price_2DEF456)',
required: false,
}),
status: Property.StaticDropdown({
displayName: 'Subscription Status',
description: 'Filter by subscription status',
required: false,
options: {
options: statusOptions
},
}),
customer_id: Property.ShortText({
displayName: 'Customer ID',
description: 'Filter by specific customer ID (optional)',
required: false,
}),
created_after: Property.DateTime({
displayName: 'Created After',
description: 'Filter subscriptions created after this date (YYYY-MM-DD format)',
required: false,
}),
created_before: Property.DateTime({
displayName: 'Created Before',
description: 'Filter subscriptions created before this date (YYYY-MM-DD format)',
required: false,
}),
limit: Property.Number({
displayName: 'Limit',
description: 'Maximum number of subscriptions to return (default: 100, set to 0 for all)',
required: false,
defaultValue: 100,
}),
fetch_all: Property.Checkbox({
displayName: 'Fetch All Results',
description: 'Fetch all matching subscriptions (ignores limit, may take longer for large datasets)',
required: false,
defaultValue: false,
}),
include_customer_details: Property.Checkbox({
displayName: 'Include Customer Details',
description: 'Fetch detailed customer information for each subscription',
required: false,
defaultValue: true,
}),
},
async run(context) {
const {
price_ids,
status,
customer_id,
created_after,
created_before,
limit = 100,
fetch_all = false,
include_customer_details = true,
} = context.propsValue;
const buildQueryParams = (startingAfter?: string): URLSearchParams => {
const queryParams = new URLSearchParams();
queryParams.append('limit', '100');
queryParams.append('expand[]', 'data.items.data.price');
if (include_customer_details) {
queryParams.append('expand[]', 'data.customer');
}
if (status) {
queryParams.append('status', status);
}
if (customer_id) {
queryParams.append('customer', customer_id);
}
if (created_after) {
const afterTimestamp = Math.floor(new Date(created_after).getTime() / 1000);
queryParams.append('created[gte]', afterTimestamp.toString());
}
if (created_before) {
const beforeTimestamp = Math.floor(new Date(created_before).getTime() / 1000);
queryParams.append('created[lte]', beforeTimestamp.toString());
}
if (startingAfter) {
queryParams.append('starting_after', startingAfter);
}
return queryParams;
};
let allSubscriptions: Stripe.Subscription[] = [];
let hasMore = true;
let startingAfter: string | undefined;
let requestCount = 0;
const maxRequests = fetch_all ? 50 : Math.ceil(limit / 100);
while (hasMore && requestCount < maxRequests) {
const queryParams = buildQueryParams(startingAfter);
const subscriptionsResponse = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${stripeCommon.baseUrl}/subscriptions?${queryParams.toString()}`,
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
});
if (!subscriptionsResponse.body) {
throw new Error('Failed to fetch subscriptions from Stripe');
}
const subscriptions = subscriptionsResponse.body.data as Stripe.Subscription[];
allSubscriptions = allSubscriptions.concat(subscriptions);
hasMore = subscriptionsResponse.body.has_more;
requestCount++;
if (hasMore && subscriptions.length > 0) {
startingAfter = subscriptions[subscriptions.length - 1].id;
}
if (!fetch_all && allSubscriptions.length >= limit) {
allSubscriptions = allSubscriptions.slice(0, limit);
break;
}
}
let filteredSubscriptions = allSubscriptions;
if (price_ids && price_ids.trim()) {
const priceIdArray = price_ids
.split(',')
.map(id => id.trim())
.filter(id => id.length > 0);
if (priceIdArray.length > 0) {
filteredSubscriptions = filteredSubscriptions.filter((subscription: Stripe.Subscription) => {
return subscription.items.data.some((item: Stripe.SubscriptionItem) =>
item.price && typeof item.price === 'object' && priceIdArray.includes(item.price.id)
);
});
}
}
const finalSubscriptions: AugmentedSubscriptionOutput[] = await Promise.all(
filteredSubscriptions.map(async (subscription: Stripe.Subscription) => {
const resultSubscription: AugmentedSubscriptionOutput = {
...subscription,
};
if (include_customer_details) {
if (typeof subscription.customer === 'object' && subscription.customer !== null && !('deleted' in subscription.customer && subscription.customer.deleted)) {
resultSubscription.customer = subscription.customer as Stripe.Customer;
} else if (typeof subscription.customer === 'string') {
try {
const customerResponse = await httpClient.sendRequest({
method: HttpMethod.GET,
url: `${stripeCommon.baseUrl}/customers/${subscription.customer}`,
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
},
});
resultSubscription.customer = customerResponse.body as Stripe.Customer
} catch (error) {
console.warn(`Failed to fetch customer details for ${subscription.customer}:`, error);
}
}
}
return resultSubscription;
})
);
return {
success: true,
count: finalSubscriptions.length,
total_fetched: allSubscriptions.length,
requests_made: requestCount,
has_more_available: hasMore && !fetch_all,
pagination_info: {
limit_requested: fetch_all ? 'All' : limit,
fetch_all_enabled: fetch_all,
max_requests_limit: maxRequests,
},
subscriptions: finalSubscriptions,
filters_applied: {
price_ids: price_ids ? price_ids.split(',').map(id => id.trim()).filter(id => id.length > 0) : null,
status: status || null,
customer_id: customer_id || null,
created_after: created_after || null,
created_before: created_before || null,
limit: limit,
fetch_all: fetch_all,
include_customer_details: include_customer_details,
},
};
},
});

View File

@@ -0,0 +1,92 @@
import { createAction, Property } from '@activepieces/pieces-framework';
import {
httpClient,
HttpMethod,
AuthenticationType,
} from '@activepieces/pieces-common';
import { stripeAuth } from '../..';
import { stripeCommon } from '../common';
export const stripeUpdateCustomer = createAction({
name: 'update_customer',
auth: stripeAuth,
displayName: 'Update Customer',
description: 'Modify an existing customers details.',
props: {
customer: stripeCommon.customer,
email: Property.ShortText({
displayName: 'Email',
required: false,
}),
name: Property.ShortText({
displayName: 'Name',
required: false,
}),
description: Property.LongText({
displayName: 'Description',
required: false,
}),
phone: Property.ShortText({
displayName: 'Phone',
required: false,
}),
line1: Property.ShortText({
displayName: 'Address Line 1',
required: false,
}),
postal_code: Property.ShortText({
displayName: 'Postal Code',
required: false,
}),
city: Property.ShortText({
displayName: 'City',
required: false,
}),
state: Property.ShortText({
displayName: 'State',
required: false,
}),
country: Property.ShortText({
displayName: 'Country',
required: false,
}),
},
async run(context) {
const { customer, ...propsValue } = context.propsValue;
const body: { [key: string]: unknown } = {};
if (propsValue.name) body.name = propsValue.name;
if (propsValue.email) body.email = propsValue.email;
if (propsValue.description) body.description = propsValue.description;
if (propsValue.phone) body.phone = propsValue.phone;
const address: { [key: string]: string } = {};
if (propsValue.line1) address.line1 = propsValue.line1;
if (propsValue.city) address.city = propsValue.city;
if (propsValue.state) address.state = propsValue.state;
if (propsValue.postal_code) address.postal_code = propsValue.postal_code;
if (propsValue.country) address.country = propsValue.country;
if (Object.keys(address).length > 0) {
body.address = address;
}
const response = await httpClient.sendRequest({
method: HttpMethod.POST,
url: `https://api.stripe.com/v1/customers/${customer}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: context.auth.secret_text,
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: body,
});
return response.body;
},
});

View File

@@ -0,0 +1,487 @@
import {
HttpRequest,
HttpMethod,
AuthenticationType,
httpClient,
} from '@activepieces/pieces-common';
import {
Property,
DropdownState,
PiecePropValueSchema
} from '@activepieces/pieces-framework';
import { Stripe } from 'stripe';
import { stripeAuth } from '../..';
import {
StripeCustomerSearchResult,
StripePaymentIntentSearchResult,
StripePayout,
StripeProductSearchResult,
} from './types';
const baseUrl = 'https://api.stripe.com/v1';
export const getClient = (apiKey: string): Stripe => {
return new Stripe(apiKey, {
apiVersion: '2025-05-28.basil',
});
};
export const stripeCommon = {
baseUrl: baseUrl,
subscribeWebhook: async (
eventName: string,
webhookUrl: string,
apiKey: string
): Promise<{ id: string }> => {
const request: HttpRequest = {
method: HttpMethod.POST,
url: `${baseUrl}/webhook_endpoints`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
enabled_events: [eventName],
url: webhookUrl,
},
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: apiKey,
},
queryParams: {},
};
const { body: webhook } = await httpClient.sendRequest<{ id: string }>(
request
);
return webhook;
},
unsubscribeWebhook: async (webhookId: string, apiKey: string) => {
const request: HttpRequest = {
method: HttpMethod.DELETE,
url: `${baseUrl}/webhook_endpoints/${webhookId}`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: apiKey,
},
};
return await httpClient.sendRequest(request);
},
invoice: Property.Dropdown({
auth: stripeAuth,
displayName: 'Invoice',
required: true,
refreshers: [],
options: async ({ auth }): Promise<DropdownState<string>> => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your Stripe account first',
};
}
try {
const client = getClient(
auth.secret_text
);
const invoices = await client.invoices.list({
limit: 100,
expand: ['data.customer'],
});
return {
disabled: false,
options: invoices.data
.map((invoice) => {
const customer = invoice.customer as Stripe.Customer | null;
const customerName =
customer?.name || customer?.email || 'Unknown Customer';
const amount = (invoice.total / 100).toFixed(2);
const label = `Invoice #${
invoice.number || invoice.id
} for ${customerName} (${amount} ${invoice.currency.toUpperCase()})`;
return {
value: invoice.id,
label: label,
};
})
.filter(
(option): option is { value: string; label: string } =>
option.value !== undefined && option.value !== null
),
};
} catch (error) {
console.error('Failed to load Stripe invoices:', error);
return {
disabled: true,
options: [],
placeholder: 'Error loading invoices. Check connection.',
};
}
},
}),
customer: Property.Dropdown({
auth: stripeAuth,
displayName: 'Customer',
required: true,
refreshers: [],
options: async ({ auth, searchValue }): Promise<DropdownState<string>> => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account',
};
}
const request: HttpRequest = {
method: HttpMethod.GET,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: auth.secret_text,
},
url: searchValue
? `${baseUrl}/customers/search`
: `${baseUrl}/customers`,
queryParams: searchValue
? { query: `name~"${searchValue}" OR email~"${searchValue}"` }
: { limit: '100' },
};
const response = await httpClient.sendRequest<{
data: StripeCustomerSearchResult[];
}>(request);
if (response.status === 200) {
return {
disabled: false,
options: response.body.data.map(
(customer: StripeCustomerSearchResult) => ({
value: customer.id,
label: `${customer.name || customer.id} (${
customer.email || 'No Email'
})`,
})
),
};
}
return {
disabled: true,
options: [],
placeholder: "Couldn't load customers",
};
},
}),
product: Property.Dropdown({
auth: stripeAuth,
displayName: 'Product',
required: true,
refreshers: [],
options: async ({ auth, searchValue }): Promise<DropdownState<string>> => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account',
};
}
let query = "active:'true'";
if (searchValue) {
query += ` AND name~"${searchValue}"`;
}
const response = await httpClient.sendRequest<{
data: StripeProductSearchResult[];
}>({
method: HttpMethod.GET,
url: `${baseUrl}/products/search`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: auth.secret_text,
},
queryParams: {
query: query,
},
});
if (response.status === 200) {
return {
disabled: false,
options: response.body.data.map(
(prod: StripeProductSearchResult) => ({
value: prod.id,
label: prod.name,
})
),
};
}
return {
disabled: true,
options: [],
placeholder: "Couldn't load products",
};
},
}),
price: Property.Dropdown({
auth: stripeAuth,
displayName: 'Price',
required: true,
refreshers: [],
options: async ({ auth, searchValue }) => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account',
};
}
const response = await httpClient.sendRequest<{
data: {
id: string;
nickname: string | null;
product: { name: string };
}[];
}>({
method: HttpMethod.GET,
url: `${baseUrl}/prices/search`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: auth.secret_text,
},
queryParams: {
query: `active:'true' AND type:'recurring' AND (product.name~"${
searchValue || ''
}" OR nickname~"${searchValue || ''}")`,
expand: 'data.product',
},
});
if (response.status === 200) {
return {
disabled: false,
options: response.body.data.map((price) => {
const label = price.nickname
? `${price.nickname} (${price.product.name})`
: price.product.name;
return {
value: price.id,
label: label,
};
}),
};
}
return {
disabled: true,
options: [],
placeholder: "Couldn't load prices",
};
},
}),
subscription: Property.Dropdown({
auth: stripeAuth,
displayName: 'Subscription',
required: true,
refreshers: [],
options: async ({ auth }): Promise<DropdownState<string>> => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account first',
};
}
try {
const client = getClient(
auth.secret_text
);
const subscriptions = await client.subscriptions.list({
limit: 100,
status: 'active',
expand: ['data.customer'],
});
return {
disabled: false,
options: subscriptions.data.map((sub) => {
const customer = sub.customer as Stripe.Customer | null;
const customerInfo =
customer?.name || customer?.email || 'Unknown Customer';
const label = `Subscription for ${customerInfo} (${sub.id})`;
return {
value: sub.id,
label: label,
};
}),
};
} catch (error) {
console.error('Failed to load Stripe subscriptions:', error);
return {
disabled: true,
options: [],
placeholder: "Couldn't load subscriptions. See console.",
};
}
},
}),
payout: Property.Dropdown({
auth: stripeAuth,
displayName: 'Payout',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account',
};
}
const response = await httpClient.sendRequest<{ data: StripePayout[] }>({
method: HttpMethod.GET,
url: `${baseUrl}/payouts`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: auth.secret_text,
},
queryParams: {
limit: '100',
},
});
if (response.status === 200) {
return {
disabled: false,
options: response.body.data.map((payout) => {
const arrivalDate = new Date(
payout.arrival_date * 1000
).toLocaleDateString();
const amount = (payout.amount / 100).toFixed(2);
const label = `Payout on ${arrivalDate} - ${amount} ${payout.currency.toUpperCase()} (${
payout.status
})`;
return {
value: payout.id,
label: label,
};
}),
};
}
return {
disabled: true,
options: [],
placeholder: "Couldn't load payouts",
};
},
}),
paymentIntent: Property.Dropdown({
auth: stripeAuth,
displayName: 'Payment Intent',
required: true,
refreshers: [],
options: async ({ auth, searchValue }): Promise<DropdownState<string>> => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account',
};
}
let query = "status:'succeeded'";
if (searchValue) {
query += ` AND customer.email~"${searchValue}"`;
}
const response = await httpClient.sendRequest<{
data: StripePaymentIntentSearchResult[];
}>({
method: HttpMethod.GET,
url: `${baseUrl}/payment_intents/search`,
authentication: {
type: AuthenticationType.BEARER_TOKEN,
token: auth.secret_text,
},
queryParams: {
query: query,
'expand[]': 'data.customer',
},
});
if (response.status === 200) {
return {
disabled: false,
options: response.body.data.map(
(intent: StripePaymentIntentSearchResult) => {
const customerInfo =
intent.customer?.name ||
intent.customer?.email ||
'Unknown Customer';
const amount = (intent.amount / 100).toFixed(2);
const label = `Payment from ${customerInfo} - ${amount} ${intent.currency.toUpperCase()}`;
return {
value: intent.id,
label: label,
};
}
),
};
}
return {
disabled: true,
options: [],
placeholder: "Couldn't load payment intents",
};
},
}),
paymentLink: Property.Dropdown({
auth: stripeAuth,
displayName: 'Payment Link',
required: true,
refreshers: [],
options: async ({ auth }) => {
if (!auth) {
return {
disabled: true,
options: [],
placeholder: 'Please connect your account',
};
}
try {
const client = getClient(auth.secret_text);
const paymentLinks = await client.paymentLinks.list({
active: true,
limit: 100,
});
return {
disabled: false,
options: paymentLinks.data.map((link) => ({
value: link.id,
label: link.url,
})),
};
} catch (e) {
return {
disabled: true,
options: [],
placeholder: "Couldn't load payment links",
};
}
},
}),
};

View File

@@ -0,0 +1,60 @@
export interface StripeWebhookInformation {
webhookId: string;
}
export interface StripeCustomerSearchResult {
id: string;
name: string | null;
email: string | null;
}
export interface StripeProductSearchResult {
id: string;
name: string;
}
export interface StripePriceSearchResult {
id: string;
nickname: string | null;
product: {
name: string;
};
}
export interface StripeSubscriptionSearchResult {
id: string;
customer: {
name: string;
email: string;
};
}
export interface StripeInvoiceSearchResult {
id: string;
number: string | null;
customer: { name: string | null; email: string | null } | null;
total: number;
currency: string;
}
export interface StripePaymentIntentSearchResult {
id: string;
amount: number;
currency: string;
customer: { name: string | null; email: string | null } | null;
description: string | null;
}
export interface StripePayout {
id: string;
amount: number;
currency: string;
arrival_date: number;
status: string;
destination: string;
}
export interface StripePaymentLink {
id: string;
url: string;
}

View File

@@ -0,0 +1,134 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeCanceledSubscription = createTrigger({
auth: stripeAuth,
name: 'canceled_subscription',
displayName: 'Canceled Subscription',
description: 'Fires when a subscription is canceled.',
props: {
customer: Property.ShortText({
displayName: 'Customer ID',
description:
'Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).',
required: false,
}),
},
sampleData: {
id: 'sub_1MlPf9LkdIwHu7ixB6VIYRyX',
object: 'subscription',
application: null,
application_fee_percent: null,
billing_cycle_anchor: 1678768838,
cancel_at_period_end: false,
canceled_at: 1678768842,
cancellation_details: {
comment: 'User requested cancellation via support.',
feedback: 'missing_features',
reason: 'cancellation_requested',
},
collection_method: 'charge_automatically',
created: 1678768838,
currency: 'usd',
customer: 'cus_NWSaVkvdacCUi4',
ended_at: 1678768842,
items: {
object: 'list',
data: [
{
id: 'si_NWSaWTp80M123q',
object: 'subscription_item',
price: {
id: 'price_1MlPf7LkdIwHu7ixgcbP7cwE',
object: 'price',
active: true,
currency: 'usd',
product: 'prod_NWSaMgipulx8IQ',
type: 'recurring',
unit_amount: 1099,
},
quantity: 1,
},
],
},
latest_invoice: 'in_1MlPf9LkdIwHu7ixEo6hdgCw',
livemode: false,
metadata: {},
start_date: 1678768838,
status: 'canceled',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'customer.subscription.deleted',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>(
'_canceled_subscription_trigger',
{
webhookId: webhook.id,
}
);
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_canceled_subscription_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/subscriptions',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
status: 'canceled',
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const subscriptionObject = payloadBody.data.object;
const { customer } = context.propsValue;
if (customer && subscriptionObject['customer'] !== customer) {
return [];
}
return [subscriptionObject];
},
});

View File

@@ -0,0 +1,110 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { isEmpty } from '@activepieces/shared';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeCheckoutSessionCompleted = createTrigger({
auth: stripeAuth,
name: 'checkout_session_completed',
displayName: 'Checkout Session Completed',
description:
'Fires when a Stripe Checkout Session is successfully completed.',
props: {
customer: Property.ShortText({
displayName: 'Customer ID',
description:
'Only trigger for checkout sessions created by this customer ID (e.g., `cus_...`).',
required: false,
}),
},
sampleData: {
id: 'cs_test_a11YYufWQzNY63zpQ6QSNRQhkUpVph4WRmzW0zWJO2znZKdVujZ0N0S22u',
object: 'checkout.session',
amount_subtotal: 2198,
amount_total: 2198,
created: 1679600215,
currency: 'usd',
customer: 'cus_NWSaVkvdacCUi4',
customer_details: {
email: 'jenny.rosen@example.com',
name: 'Jenny Rosen',
phone: null,
},
livemode: false,
mode: 'payment',
payment_intent: 'pi_12345ABC',
payment_status: 'paid',
status: 'complete',
success_url: 'https://example.com/success',
url: null,
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'checkout.session.completed',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>(
'_checkout_session_completed_trigger',
{
webhookId: webhook.id,
}
);
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_checkout_session_completed_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/sessions',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
status: 'complete',
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const sessionObject = payloadBody.data.object;
const { customer } = context.propsValue;
if (customer && sessionObject['customer'] !== customer) {
return [];
}
return [sessionObject];
},
});

View File

@@ -0,0 +1,121 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeInvoicePaymentFailed = createTrigger({
auth: stripeAuth,
name: 'invoice_payment_failed',
displayName: 'Invoice Payment Failed',
description: 'Fires when a payment against an invoice fails.',
props: {
customer: Property.ShortText({
displayName: 'Customer ID',
description:
'Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).',
required: false,
}),
},
sampleData: {
id: 'in_1MtHbELkdIwHu7ixl4OzzPMv',
object: 'invoice',
customer: 'cus_NeZwdNtLEOXuvB',
status: 'open',
amount_due: 1500,
amount_paid: 0,
amount_remaining: 1500,
attempt_count: 1,
attempted: true,
billing_reason: 'subscription_cycle',
collection_method: 'charge_automatically',
created: 1680644467,
currency: 'usd',
customer_email: 'jennyrosen@example.com',
customer_name: 'Jenny Rosen',
hosted_invoice_url: 'https://invoice.stripe.com/i/acct_...',
last_finalization_error: {
code: 'card_declined',
doc_url: 'https://stripe.com/docs/error-codes/card-declined',
message: 'Your card was declined.',
param: '',
payment_intent: {
id: 'pi_123',
object: 'payment_intent',
},
type: 'card_error',
},
livemode: false,
next_payment_attempt: 1681251667,
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'invoice.payment_failed',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>(
'_invoice_payment_failed_trigger',
{
webhookId: webhook.id,
}
);
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_invoice_payment_failed_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/invoices',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
status: 'failed',
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const invoiceObject = payloadBody.data.object;
const { customer } = context.propsValue;
if (customer && invoiceObject['customer'] !== customer) {
return [];
}
return [invoiceObject];
},
});

View File

@@ -0,0 +1,101 @@
import { createTrigger, TriggerStrategy } from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: unknown;
};
};
export const stripeNewCharge = createTrigger({
auth: stripeAuth,
name: 'new_charge',
displayName: 'New Charge',
description: 'Fires when a charge is successfully completed.',
props: {},
sampleData: {
id: 'ch_3MmlLrLkdIwHu7ix0snN0B15',
object: 'charge',
amount: 1099,
amount_captured: 1099,
amount_refunded: 0,
application: null,
application_fee: null,
application_fee_amount: null,
balance_transaction: 'txn_3MmlLrLkdIwHu7ix0uke3Ezy',
billing_details: {
address: {
city: null,
country: null,
line1: null,
line2: null,
postal_code: null,
state: null,
},
email: 'customer@example.com',
name: 'John Doe',
phone: null,
},
captured: true,
created: 1679090539,
currency: 'usd',
customer: 'cus_ABC123',
description: 'My First Test Charge',
disputed: false,
paid: true,
payment_intent: 'pi_123',
payment_method: 'pm_123',
receipt_url: 'https://pay.stripe.com/receipts/...',
refunded: false,
status: 'succeeded',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'charge.succeeded',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>('_new_charge_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_new_charge_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/charges',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
return [payloadBody.data.object];
},
});

View File

@@ -0,0 +1,94 @@
import { createTrigger } from '@activepieces/pieces-framework';
import { TriggerStrategy } from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
export const stripeNewCustomer = createTrigger({
auth: stripeAuth,
name: 'new_customer',
displayName: 'New Customer',
description: 'Triggers when a new customer is created',
props: {},
sampleData: {
id: 'cus_NGtyEf4hNGTj3p',
object: 'customer',
address: null,
balance: 0,
created: 1675180509,
currency: null,
default_currency: null,
default_source: null,
delinquent: false,
description: null,
discount: null,
email: 'jane@example.com',
invoice_prefix: 'B7162248',
invoice_settings: {
custom_fields: null,
default_payment_method: null,
footer: null,
rendering_options: null,
},
livemode: false,
metadata: {},
name: 'John Doe',
next_invoice_sequence: 1,
phone: null,
preferred_locales: [],
shipping: null,
tax_exempt: 'none',
test_clock: null,
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'customer.created',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<WebhookInformation>('_new_customer_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const response = await context.store?.get<WebhookInformation>(
'_new_customer_trigger'
);
if (response !== null && response !== undefined) {
await stripeCommon.unsubscribeWebhook(response.webhookId, context.auth.secret_text);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/customers',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as PayloadBody;
return [payloadBody.data.object];
},
});
type PayloadBody = {
data: {
object: unknown;
};
};
interface WebhookInformation {
webhookId: string;
}

View File

@@ -0,0 +1,117 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeNewDispute = createTrigger({
auth: stripeAuth,
name: 'new_dispute',
displayName: 'New Dispute',
description: 'Fires when a customer disputes a charge.',
props: {
charge: Property.ShortText({
displayName: 'Charge ID',
description:
'Only trigger for disputes related to this Charge ID (e.g., `ch_...`).',
required: false,
}),
payment_intent: Property.ShortText({
displayName: 'Payment Intent ID',
description:
'Only trigger for disputes related to this Payment Intent ID (e.g., `pi_...`).',
required: false,
}),
},
sampleData: {
id: 'du_1MtJUT2eZvKYlo2CNaw2HvEv',
object: 'dispute',
amount: 1000,
balance_transactions: [],
charge: 'ch_1AZtxr2eZvKYlo2CJDX8whov',
created: 1680651737,
currency: 'usd',
evidence_details: {
due_by: 1682294399,
has_evidence: false,
past_due: false,
submission_count: 0,
},
is_charge_refundable: true,
livemode: false,
metadata: {},
payment_intent: 'pi_1AZtxr2eZvKYlo2CJDX8whov',
reason: 'general',
status: 'needs_response',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'charge.dispute.created',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>('_new_dispute_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_new_dispute_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/disputes',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const disputeObject = payloadBody.data.object;
const { charge, payment_intent } = context.propsValue;
if (charge && disputeObject['charge'] !== charge) {
return [];
}
if (payment_intent && disputeObject['payment_intent'] !== payment_intent) {
return [];
}
return [disputeObject];
},
});

View File

@@ -0,0 +1,132 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { isEmpty } from '@activepieces/shared';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeNewInvoice = createTrigger({
auth: stripeAuth,
name: 'new_invoice',
displayName: 'New Invoice',
description:
'Fires when an invoice is created. Supports filters like status, customer, subscription.',
props: {
status: Property.StaticDropdown({
displayName: 'Status',
description: 'Only trigger for invoices with this status.',
required: false,
options: {
options: [
{ label: 'Draft', value: 'draft' },
{ label: 'Open', value: 'open' },
{ label: 'Paid', value: 'paid' },
{ label: 'Uncollectible', value: 'uncollectible' },
{ label: 'Void', value: 'void' },
],
},
}),
customer: Property.ShortText({
displayName: 'Customer ID',
description:
'Only trigger for invoices belonging to this customer ID (e.g., `cus_...`).',
required: false,
}),
subscription: Property.ShortText({
displayName: 'Subscription ID',
description:
'Only trigger for invoices belonging to this subscription ID (e.g., `sub_...`).',
required: false,
}),
},
sampleData: {
id: 'in_1MtHbELkdIwHu7ixl4OzzPMv',
object: 'invoice',
customer: 'cus_NeZwdNtLEOXuvB',
subscription: 'sub_12345ABC',
status: 'paid',
amount_due: 999,
amount_paid: 999,
amount_remaining: 0,
billing_reason: 'subscription_cycle',
collection_method: 'charge_automatically',
created: 1680644467,
currency: 'usd',
customer_email: 'jennyrosen@example.com',
customer_name: 'Jenny Rosen',
hosted_invoice_url: 'https://invoice.stripe.com/i/acct_...',
invoice_pdf: 'https://pay.stripe.com/invoice/acct_.../pdf',
livemode: false,
number: 'ABC-123-456',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'invoice.created',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>('_new_invoice_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_new_invoice_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/invoices',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const invoiceObject = payloadBody.data.object;
const { status, customer, subscription } = context.propsValue;
if (status && invoiceObject['status'] !== status) {
return [];
}
if (customer && invoiceObject['customer'] !== customer) {
return [];
}
if (subscription && invoiceObject['subscription'] !== subscription) {
return [];
}
return [invoiceObject];
},
});

View File

@@ -0,0 +1,87 @@
import { createTrigger, TriggerStrategy } from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: unknown;
};
};
export const stripeNewPaymentLink = createTrigger({
auth: stripeAuth,
name: 'new_payment_link',
displayName: 'New Payment Link',
description: 'Fires when a new Payment Link is created.',
props: {},
sampleData: {
id: 'plink_1MoC3ULkdIwHu7ixZjtGpVl2',
object: 'payment_link',
active: true,
after_completion: {
hosted_confirmation: {
custom_message: null,
},
type: 'hosted_confirmation',
},
allow_promotion_codes: false,
currency: 'usd',
customer_creation: 'if_required',
livemode: false,
metadata: {},
payment_method_collection: 'always',
url: 'https://buy.stripe.com/test_cN25nr0iZ7bUa7meUY',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'payment_link.created',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>(
'_new_payment_link_trigger',
{
webhookId: webhook.id,
}
);
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_new_payment_link_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/payment_links',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
return [payloadBody.data.object];
},
});

View File

@@ -0,0 +1,161 @@
import { createTrigger } from '@activepieces/pieces-framework';
import { TriggerStrategy } from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
export const stripeNewPayment = createTrigger({
auth: stripeAuth,
name: 'new_payment',
displayName: 'New Payment',
description: 'Triggers when a new payment is made',
props: {},
type: TriggerStrategy.WEBHOOK,
sampleData: {
id: 'ch_3MWM7aKZ0dZRqLEK1soCKVrq',
object: 'charge',
amount: 10000,
amount_captured: 10000,
amount_refunded: 0,
application: null,
application_fee: null,
application_fee_amount: null,
balance_transaction: 'txn_3MWM7aKZ0dZRqLEK1VyE8QH1',
billing_details: {
address: {
city: null,
country: 'DE',
line1: null,
line2: null,
postal_code: null,
state: null,
},
email: 'test@gmail.com',
name: 'Test user',
phone: null,
},
calculated_statement_descriptor: 'WWW.ACTIVEPIECES.COM',
captured: true,
created: 1675180355,
currency: 'usd',
customer: 'cus_NGtvUQ18FJXcGI',
description: 'Subscription creation',
destination: null,
dispute: null,
disputed: false,
failure_balance_transaction: null,
failure_code: null,
failure_message: null,
fraud_details: {},
invoice: 'in_1MWM7ZKZ0dZRqLEKQbrgSBnh',
livemode: false,
metadata: {},
on_behalf_of: null,
order: null,
outcome: {
network_status: 'approved_by_network',
reason: null,
risk_level: 'normal',
risk_score: 64,
seller_message: 'Payment complete.',
type: 'authorized',
},
paid: true,
payment_intent: 'pi_3MWM7aKZ0dZRqLEK1BsblcVI',
payment_method: 'pm_1MWM8MKZ0dZRqLEKnIH41f76',
payment_method_details: {
card: {
brand: 'visa',
checks: {
address_line1_check: null,
address_postal_code_check: null,
cvc_check: 'pass',
},
country: 'US',
exp_month: 12,
exp_year: 2034,
fingerprint: 't8SMsmS4h2vvODpN',
funding: 'credit',
installments: null,
last4: '4242',
mandate: null,
network: 'visa',
three_d_secure: null,
wallet: null,
},
type: 'card',
},
receipt_email: null,
receipt_number: null,
receipt_url:
'https://pay.stripe.com/receipts/invoices/CAcaFwoVYWNjdF8xS214ZEtLWjBkWlJxTEVLKMXy5J4GMgZcuppYWF06LBZEoiAhZ6H7EoJ3bN-BMHCXdaW-_i-ywhSIG9wPGTmtE0CdpD75s1hIyprK?s=ap',
refunded: false,
refunds: {
object: 'list',
data: [],
has_more: false,
total_count: 0,
url: '/v1/charges/ch_3MWM7aKZ0dZRqLEK1soCKVrq/refunds',
},
review: null,
shipping: null,
source: null,
source_transfer: null,
statement_descriptor: null,
statement_descriptor_suffix: null,
status: 'succeeded',
transfer_data: null,
transfer_group: null,
},
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'charge.succeeded',
context.webhookUrl!,
context.auth.secret_text
);
await context.store?.put<WebhookInformation>('_new_payment_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const response = await context.store?.get<WebhookInformation>(
'_new_payment_trigger'
);
if (response !== null && response !== undefined) {
await stripeCommon.unsubscribeWebhook(response.webhookId, context.auth.secret_text);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/payment_intents',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
status: 'succeeded',
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as PayloadBody;
return [payloadBody.data.object];
},
});
type PayloadBody = {
data: {
object: unknown;
};
};
interface WebhookInformation {
webhookId: string;
}

View File

@@ -0,0 +1,109 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeNewRefund = createTrigger({
auth: stripeAuth,
name: 'new_refund',
displayName: 'New Refund',
description: 'Fires when a charge is refunded (full or partial).',
props: {
charge: Property.ShortText({
displayName: 'Charge ID',
description:
'Only trigger for refunds related to this Charge ID (e.g., `ch_...`).',
required: false,
}),
payment_intent: Property.ShortText({
displayName: 'Payment Intent ID',
description:
'Only trigger for refunds related to this Payment Intent ID (e.g., `pi_...`).',
required: false,
}),
},
sampleData: {
id: 're_1Nispe2eZvKYlo2Cd31jOCgZ',
object: 'refund',
amount: 1000,
balance_transaction: 'txn_1Nispe2eZvKYlo2CYezqFhEx',
charge: 'ch_1NirD82eZvKYlo2CIvbtLWuY',
created: 1692942318,
currency: 'usd',
metadata: {},
payment_intent: 'pi_1GszsK2eZvKYlo2CfhZyoZLp',
reason: 'requested_by_customer',
receipt_number: null,
status: 'succeeded',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'refund.created',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>('_new_refund_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_new_refund_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/checkout/refunds',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const refundObject = payloadBody.data.object;
const { charge, payment_intent } = context.propsValue;
if (charge && refundObject['charge'] !== charge) {
return [];
}
if (payment_intent && refundObject['payment_intent'] !== payment_intent) {
return [];
}
return [refundObject];
},
});

View File

@@ -0,0 +1,203 @@
import { createTrigger } from '@activepieces/pieces-framework';
import { TriggerStrategy } from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
export const stripeNewSubscription = createTrigger({
auth: stripeAuth,
name: 'new_subscription',
displayName: 'New Subscription',
description: 'Triggers when a new subscription is made',
props: {},
type: TriggerStrategy.WEBHOOK,
sampleData: {
id: 'sub_1MWMJXKZ0dZRqLEKJX80JXfv',
object: 'subscription',
application: null,
application_fee_percent: null,
automatic_tax: {
enabled: true,
},
billing_cycle_anchor: 1675181047,
billing_thresholds: null,
cancel_at: null,
cancel_at_period_end: false,
canceled_at: null,
collection_method: 'charge_automatically',
created: 1675181047,
currency: 'usd',
current_period_end: 1677600247,
current_period_start: 1675181047,
customer: 'cus_NGtvUQ18FJXcGI',
days_until_due: null,
default_payment_method: 'pm_1MWM8MKZ0dZRqLEKnIH41f76',
default_source: null,
default_tax_rates: [],
description: null,
discount: null,
ended_at: null,
items: {
object: 'list',
data: [
{
id: 'si_NGu7pb7hS3Rps3',
object: 'subscription_item',
billing_thresholds: null,
created: 1675181048,
metadata: {},
plan: {
id: 'price_1MWLz3KZ0dZRqLEK06gRMHCF',
object: 'plan',
active: true,
aggregate_usage: null,
amount: 10000,
amount_decimal: '10000',
billing_scheme: 'per_unit',
created: 1675179777,
currency: 'usd',
interval: 'month',
interval_count: 1,
livemode: false,
metadata: {},
nickname: null,
product: 'prod_NGtm3AlvaGjaLN',
tiers_mode: null,
transform_usage: null,
trial_period_days: null,
usage_type: 'licensed',
},
price: {
id: 'price_1MWLz3KZ0dZRqLEK06gRMHCF',
object: 'price',
active: true,
billing_scheme: 'per_unit',
created: 1675179777,
currency: 'usd',
custom_unit_amount: null,
livemode: false,
lookup_key: null,
metadata: {},
nickname: null,
product: 'prod_NGtm3AlvaGjaLN',
recurring: {
aggregate_usage: null,
interval: 'month',
interval_count: 1,
trial_period_days: null,
usage_type: 'licensed',
},
tax_behavior: 'exclusive',
tiers_mode: null,
transform_quantity: null,
type: 'recurring',
unit_amount: 10000,
unit_amount_decimal: '10000',
},
quantity: 1,
subscription: 'sub_1MWMJXKZ0dZRqLEKJX80JXfv',
tax_rates: [],
},
],
has_more: false,
total_count: 1,
url: '/v1/subscription_items?subscription=sub_1MWMJXKZ0dZRqLEKJX80JXfv',
},
latest_invoice: 'in_1MWMJXKZ0dZRqLEKIu4a51u7',
livemode: false,
metadata: {},
next_pending_invoice_item_invoice: null,
on_behalf_of: null,
pause_collection: null,
payment_settings: {
payment_method_options: null,
payment_method_types: null,
save_default_payment_method: 'off',
},
pending_invoice_item_interval: null,
pending_setup_intent: null,
pending_update: null,
plan: {
id: 'price_1MWLz3KZ0dZRqLEK06gRMHCF',
object: 'plan',
active: true,
aggregate_usage: null,
amount: 10000,
amount_decimal: '10000',
billing_scheme: 'per_unit',
created: 1675179777,
currency: 'usd',
interval: 'month',
interval_count: 1,
livemode: false,
metadata: {},
nickname: null,
product: 'prod_NGtm3AlvaGjaLN',
tiers_mode: null,
transform_usage: null,
trial_period_days: null,
usage_type: 'licensed',
},
quantity: 1,
schedule: null,
start_date: 1675181047,
status: 'active',
test_clock: null,
transfer_data: null,
trial_end: null,
trial_start: null,
},
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'customer.subscription.created',
context.webhookUrl!,
context.auth.secret_text
);
await context.store?.put<WebhookInformation>(
'_new_customer_subscription_trigger',
{
webhookId: webhook.id,
}
);
},
async onDisable(context) {
const response = await context.store?.get<WebhookInformation>(
'_new_customer_subscription_trigger'
);
if (response !== null && response !== undefined) {
await stripeCommon.unsubscribeWebhook(response.webhookId, context.auth.secret_text);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/subscriptions',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as PayloadBody;
return [payloadBody.data.object];
},
});
type PayloadBody = {
data: {
object: unknown;
};
};
interface WebhookInformation {
webhookId: string;
}

View File

@@ -0,0 +1,208 @@
import { createTrigger } from '@activepieces/pieces-framework';
import { TriggerStrategy } from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
export const stripePaymentFailed = createTrigger({
auth: stripeAuth,
name: 'payment_failed',
displayName: 'Payment Failed',
description: 'Triggers when a payment fails',
props: {},
sampleData: {
id: 'ch_3MWMPQKZ0dZRqLEK063rxD7q',
object: 'charge',
amount: 100000,
amount_captured: 0,
amount_refunded: 0,
application: null,
application_fee: null,
application_fee_amount: null,
balance_transaction: null,
billing_details: {
address: {
city: null,
country: null,
line1: null,
line2: null,
postal_code: '12321',
state: null,
},
email: null,
name: null,
phone: null,
},
calculated_statement_descriptor: 'WWW.ACTIVEPIECES.COM',
captured: false,
created: 1675181413,
currency: 'usd',
customer: 'cus_NGtvUQ18FJXcGI',
description: 'Failed Payment',
destination: null,
dispute: null,
disputed: false,
failure_balance_transaction: null,
failure_code: 'card_declined',
failure_message: 'Your card was declined.',
fraud_details: {},
invoice: null,
livemode: false,
metadata: {},
on_behalf_of: null,
order: null,
outcome: {
network_status: 'declined_by_network',
reason: 'generic_decline',
risk_level: 'normal',
risk_score: 60,
seller_message:
'The bank did not return any further details with this decline.',
type: 'issuer_declined',
},
paid: false,
payment_intent: 'pi_3MWMPQKZ0dZRqLEK0Nsc6WhL',
payment_method: 'src_1MWMPQKZ0dZRqLEKuQ83wmZI',
payment_method_details: {
card: {
brand: 'visa',
checks: {
address_line1_check: null,
address_postal_code_check: 'pass',
cvc_check: 'pass',
},
country: 'US',
exp_month: 12,
exp_year: 2031,
fingerprint: 'mtYxM2Q4edpEt8Pw',
funding: 'credit',
installments: null,
last4: '0341',
mandate: null,
network: 'visa',
three_d_secure: null,
wallet: null,
},
type: 'card',
},
receipt_email: null,
receipt_number: null,
receipt_url: null,
refunded: false,
refunds: {
object: 'list',
data: [],
has_more: false,
total_count: 0,
url: '/v1/charges/ch_3MWMPQKZ0dZRqLEK063rxD7q/refunds',
},
review: null,
shipping: null,
source: {
id: 'src_1MWMPQKZ0dZRqLEKuQ83wmZI',
object: 'source',
amount: null,
card: {
exp_month: 12,
exp_year: 2031,
last4: '0341',
country: 'US',
brand: 'Visa',
address_zip_check: 'pass',
cvc_check: 'pass',
funding: 'credit',
fingerprint: 'mtYxM2Q4edpEt8Pw',
three_d_secure: 'optional',
name: null,
address_line1_check: null,
tokenization_method: null,
dynamic_last4: null,
},
client_secret: 'src_client_secret_TlLkl6IvhCvmbx8Cz12YNDVb',
created: 1675181413,
currency: null,
flow: 'none',
livemode: false,
metadata: {},
owner: {
address: {
city: null,
country: null,
line1: null,
line2: null,
postal_code: '12321',
state: null,
},
email: null,
name: null,
phone: null,
verified_address: null,
verified_email: null,
verified_name: null,
verified_phone: null,
},
statement_descriptor: null,
status: 'chargeable',
type: 'card',
usage: 'reusable',
},
source_transfer: null,
statement_descriptor: 'www.activepieces.com',
statement_descriptor_suffix: null,
status: 'failed',
transfer_data: null,
transfer_group: null,
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'charge.failed',
context.webhookUrl,
context.auth.secret_text
);
await context.store?.put<WebhookInformation>('_payment_failed_trigger', {
webhookId: webhook.id,
});
},
async onDisable(context) {
const response = await context.store?.get<WebhookInformation>(
'_payment_failed_trigger'
);
if (response !== null && response !== undefined) {
await stripeCommon.unsubscribeWebhook(response.webhookId, context.auth.secret_text);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/charges',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
status: 'failed',
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as PayloadBody;
return [payloadBody.data.object];
},
});
type PayloadBody = {
data: {
object: unknown;
};
};
interface WebhookInformation {
webhookId: string;
}

View File

@@ -0,0 +1,147 @@
import {
createTrigger,
TriggerStrategy,
Property,
} from '@activepieces/pieces-framework';
import { stripeCommon } from '../common';
import { StripeWebhookInformation } from '../common/types';
import { stripeAuth } from '../..';
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
import { isEmpty } from '@activepieces/shared';
type StripeWebhookPayload = {
data: {
object: {
[key: string]: unknown;
};
};
};
export const stripeUpdatedSubscription = createTrigger({
auth: stripeAuth,
name: 'updated_subscription',
displayName: 'Updated Subscription',
description: 'Fires when an existing subscription is changed.',
props: {
status: Property.StaticDropdown({
displayName: 'New Status',
description:
'Only trigger when the subscription is updated to this status.',
required: false,
options: {
options: [
{ label: 'Incomplete', value: 'incomplete' },
{ label: 'Incomplete - Expired', value: 'incomplete_expired' },
{ label: 'Trialing', value: 'trialing' },
{ label: 'Active', value: 'active' },
{ label: 'Past Due', value: 'past_due' },
{ label: 'Canceled', value: 'canceled' },
{ label: 'Unpaid', value: 'unpaid' },
{ label: 'Paused', value: 'paused' },
],
},
}),
customer: Property.ShortText({
displayName: 'Customer ID',
description:
'Only trigger for subscriptions belonging to this customer ID (e.g., `cus_...`).',
required: false,
}),
},
sampleData: {
id: 'sub_1MowQVLkdIwHu7ixeRlqHVzs',
object: 'subscription',
application: null,
application_fee_percent: null,
automatic_tax: {
enabled: false,
},
billing_cycle_anchor: 1679609767,
cancel_at_period_end: false,
canceled_at: null,
collection_method: 'charge_automatically',
created: 1679609767,
currency: 'usd',
customer: 'cus_Na6dX7aXxi11N4',
items: {
object: 'list',
data: [
{
id: 'si_Na6dzxczY5fwHx',
object: 'subscription_item',
price: {
id: 'price_1MowQULkdIwHu7ixraBm864M',
object: 'price',
product: 'prod_Na6dGcTsmU0I4R',
unit_amount: 2000,
},
quantity: 1,
},
],
},
latest_invoice: 'in_1MowQWLkdIwHu7ixuzkSPfKd',
livemode: false,
metadata: { plan: 'premium' },
start_date: 1679609767,
status: 'active',
},
type: TriggerStrategy.WEBHOOK,
async onEnable(context) {
const webhook = await stripeCommon.subscribeWebhook(
'customer.subscription.updated',
context.webhookUrl,
context.auth.secret_text
);
await context.store.put<StripeWebhookInformation>(
'_updated_subscription_trigger',
{
webhookId: webhook.id,
}
);
},
async onDisable(context) {
const webhookInfo = await context.store.get<StripeWebhookInformation>(
'_updated_subscription_trigger'
);
if (webhookInfo !== null && webhookInfo !== undefined) {
await stripeCommon.unsubscribeWebhook(
webhookInfo.webhookId,
context.auth.secret_text
);
}
},
async test(context) {
const response = await httpClient.sendRequest<{ data: { id: string }[] }>({
method: HttpMethod.GET,
url: 'https://api.stripe.com/v1/charges',
headers: {
Authorization: 'Bearer ' + context.auth.secret_text,
'Content-Type': 'application/x-www-form-urlencoded',
},
queryParams: {
status: 'failed',
limit: '5',
},
});
if (isEmpty(response.body) || isEmpty(response.body.data)) return [];
return response.body.data;
},
async run(context) {
const payloadBody = context.payload.body as StripeWebhookPayload;
const subscriptionObject = payloadBody.data.object;
const { status, customer } = context.propsValue;
if (status && subscriptionObject['status'] !== status) {
return [];
}
if (customer && subscriptionObject['customer'] !== customer) {
return [];
}
return [subscriptionObject];
},
});

View File

@@ -0,0 +1,16 @@
{
"extends": "../../../../tsconfig.base.json",
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
}
],
"compilerOptions": {
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
}
}

View File

@@ -0,0 +1,11 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "../../../../dist/out-tsc",
"declaration": true,
"types": ["node"]
},
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
"include": ["src/**/*.ts"]
}