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:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"extends": [
|
||||
"../../../../.eslintrc.base.json"
|
||||
],
|
||||
"ignorePatterns": [
|
||||
"!**/*"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx",
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.ts",
|
||||
"*.tsx"
|
||||
],
|
||||
"rules": {}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"*.js",
|
||||
"*.jsx"
|
||||
],
|
||||
"rules": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# pieces-cashfree-payments
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
|
||||
## Building
|
||||
|
||||
Run `nx build pieces-cashfree-payments` to build the library.
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "@activepieces/piece-cashfree-payments",
|
||||
"version": "0.0.2",
|
||||
"type": "commonjs",
|
||||
"main": "./src/index.js",
|
||||
"types": "./src/index.d.ts",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "pieces-cashfree-payments",
|
||||
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
||||
"sourceRoot": "packages/pieces/community/cashfree-payments/src",
|
||||
"projectType": "library",
|
||||
"release": {
|
||||
"version": {
|
||||
"manifestRootsToUpdate": [
|
||||
"dist/{projectRoot}"
|
||||
],
|
||||
"currentVersionResolver": "git-tag",
|
||||
"fallbackCurrentVersionResolver": "disk"
|
||||
}
|
||||
},
|
||||
"tags": [],
|
||||
"targets": {
|
||||
"build": {
|
||||
"executor": "@nx/js:tsc",
|
||||
"outputs": [
|
||||
"{options.outputPath}"
|
||||
],
|
||||
"options": {
|
||||
"outputPath": "dist/packages/pieces/community/cashfree-payments",
|
||||
"tsConfig": "packages/pieces/community/cashfree-payments/tsconfig.lib.json",
|
||||
"packageJson": "packages/pieces/community/cashfree-payments/package.json",
|
||||
"main": "packages/pieces/community/cashfree-payments/src/index.ts",
|
||||
"assets": [
|
||||
"packages/pieces/community/cashfree-payments/*.md",
|
||||
{
|
||||
"input": "packages/pieces/community/cashfree-payments/src/i18n",
|
||||
"output": "./src/i18n",
|
||||
"glob": "**/!(i18n.json)"
|
||||
}
|
||||
],
|
||||
"buildableProjectDepsInPackageJsonType": "dependencies",
|
||||
"updateBuildableProjectDepsInPackageJson": true
|
||||
}
|
||||
},
|
||||
"nx-release-publish": {
|
||||
"options": {
|
||||
"packageRoot": "dist/{projectRoot}"
|
||||
}
|
||||
},
|
||||
"lint": {
|
||||
"executor": "@nx/eslint:lint",
|
||||
"outputs": [
|
||||
"{options.outputFile}"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Cashfree Payments Integration für die Abwicklung von Zahlungen, Rückerstattungen und die Verwaltung von Zahlungslinks und Zahlungsmitteln.",
|
||||
"Cashfree Client ID": "Cashfree Kunden-ID",
|
||||
"Cashfree Client Secret": "Cashfree Kundengeheimnis",
|
||||
"Your Cashfree Client ID": "Ihre Cashfree Kunden-ID",
|
||||
"Your Cashfree Client Secret": "Ihr Cashfree-Kundengeheimnis",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "Bestellung erstellen",
|
||||
"Create Payment Link": "Zahlungslink erstellen",
|
||||
"Create Refund": "Erstattung erstellen",
|
||||
"Cancel Payment Link": "Zahlungslink abbrechen",
|
||||
"Fetch Payment Link Details": "Zahlungslink Details abrufen",
|
||||
"Create Cashgram": "Cashgramm erstellen",
|
||||
"Get Orders for Payment Link": "Bestellungen für Zahlungslink erhalten",
|
||||
"Get All Refunds for Order": "Alle Erstattungen für die Bestellung erhalten",
|
||||
"Deactivate Cashgram": "Cashgram deaktivieren",
|
||||
"Creates an order in Cashfree Payment Gateway": "Erstellt eine Bestellung im Cashfree Payment Gateway",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Erstellt einen Zahlungslink im Cashfree Zahlungs-Gateway",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Eine Rückerstattung einer Bargeldbestellung kann erst innerhalb von sechs Monaten nach der ursprünglichen Transaktion eingeleitet werden.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Kündigen Sie einen Zahlungslink im Cashfree Zahlungs-Gateway. Nur Links im ACTIV-Status können storniert werden.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "Alle Details und den Status eines Zahlungslinks im Cashfree Zahlungs-Gateway anzeigen",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Erstellen Sie ein Cashgramm für sofortige Geldüberweisungen mit Cashfree",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "Alle Bestelldetails für einen Zahlungslink im Cashfree Zahlungs-Gateway anzeigen",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Rufe alle Rückerstattungen ab, die gegen eine Bestellung im Cashfree Payment Gateway bearbeitet werden",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Deaktivieren Sie ein Cashgramm, um weitere Einzahlungen mit Cashfree zu verhindern",
|
||||
"Environment": "Umgebung",
|
||||
"Order Amount": "Bestellbetrag",
|
||||
"Order Currency": "Bestellwährung",
|
||||
"Customer ID": "Kunden-ID",
|
||||
"Customer Phone": "Kunden-Telefon",
|
||||
"Customer Email": "Kunden-E-Mail",
|
||||
"Customer Name": "Kundenname",
|
||||
"Customer Bank Account Number": "Kontonummer",
|
||||
"Customer Bank IFSC": "Kundenbank-IFSC",
|
||||
"Customer Bank Code": "Kundenbank-Code",
|
||||
"Order ID": "Bestell-ID",
|
||||
"Order Note": "Bestellnotiz",
|
||||
"Order Expiry Time": "Auftragsablaufzeit",
|
||||
"Return URL": "Retouren-URL",
|
||||
"Notify URL": "URL benachrichtigen",
|
||||
"Payment Methods": "Zahlungsarten",
|
||||
"Cart Name": "Warenkorb Name",
|
||||
"Customer Note": "Kundennotiz",
|
||||
"Shipping Charge": "Versandkosten",
|
||||
"Shipping - Full Name": "Versand - Voller Name",
|
||||
"Shipping - Country": "Versand - Land",
|
||||
"Shipping - City": "Versand - Stadt",
|
||||
"Shipping - State": "Versand - Bundesland",
|
||||
"Shipping - Pincode": "Versand - Pincode",
|
||||
"Shipping - Address Line 1": "Versand - Adresse 1",
|
||||
"Shipping - Address Line 2": "Versand - Adresse Zeile 2",
|
||||
"Billing - Full Name": "Abrechnung - Voller Name",
|
||||
"Billing - Country": "Abrechnung - Land",
|
||||
"Billing - City": "Rechnung - Stadt",
|
||||
"Billing - State": "Abrechnung - Status",
|
||||
"Billing - Pincode": "Abrechnung - Pincode",
|
||||
"Billing - Address Line 1": "Abrechnung - Adresse 1",
|
||||
"Billing - Address Line 2": "Abrechnung - Adresse 2",
|
||||
"Terminal Type": "Terminaltyp",
|
||||
"Terminal ID": "Terminal-ID",
|
||||
"Terminal Phone Number": "Terminaltelefonnummer",
|
||||
"Terminal Name": "Terminalname",
|
||||
"Terminal Address": "Terminal-Adresse",
|
||||
"Terminal Note": "Terminalnotiz",
|
||||
"Enable One Click Checkout": "Ein-Klick-Checkout aktivieren",
|
||||
"Enable Verify and Pay": "Verifizieren und bezahlen aktivieren",
|
||||
"Order Tags": "Bestell-Tags",
|
||||
"Link Amount": "Link-Betrag",
|
||||
"Link Currency": "Währung verknüpfen",
|
||||
"Link Purpose": "Linkzweck",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Teilzahlungen aktivieren",
|
||||
"Minimum Partial Amount": "Minimaler Teilbetrag",
|
||||
"Link Expiry Time": "Verfallszeit des Links",
|
||||
"Send SMS Notification": "SMS-Benachrichtigung senden",
|
||||
"Send Email Notification": "E-Mail-Benachrichtigung senden",
|
||||
"Auto Reminders": "Automatische Erinnerung",
|
||||
"UPI Intent": "UPI Absicht",
|
||||
"Link Notes": "Link-Notizen",
|
||||
"Order Splits": "Bestellaufteilung",
|
||||
"Refund Amount": "Erstattungsbetrag",
|
||||
"Refund ID": "Erstattungs-ID",
|
||||
"Refund Note": "Erstattungsnotiz",
|
||||
"Refund Speed": "Erstattungsgeschwindigkeit",
|
||||
"Refund Splits": "Rückerstattungsteilung",
|
||||
"Custom Tags": "Eigene Tags",
|
||||
"Request ID": "Anfrage-ID",
|
||||
"Idempotency Key": "Idempotenzschlüssel",
|
||||
"Payment Link ID": "Zahlungslink ID",
|
||||
"Cashgram ID": "Cashgram-ID",
|
||||
"Amount": "Betrag",
|
||||
"Contact Name": "Kontaktname",
|
||||
"Phone Number": "Telefonnummer",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "E-Mail",
|
||||
"Remarks": "Anmerkungen",
|
||||
"Notify Customer": "Kunde benachrichtigen",
|
||||
"Order Status Filter": "Bestellstatus Filter",
|
||||
"Choose the environment for API calls": "Wählen Sie die Umgebung für API-Aufrufe",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Rechnungsbetrag für die Bestellung. Geben Sie bis zu zwei Dezimalstellen (z. B. 10.15 bedeutet Rs 10 und 15 Paisa)",
|
||||
"Currency for the order": "Währung für die Bestellung",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "Ein eindeutiger Identifikator für den Kunden. Verwenden Sie nur alphanumerische Werte (3-50 Zeichen)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Kundennummer (mindestens 10 Ziffern). Für internationale Nummern, Präfix mit +",
|
||||
"Customer email address (3-100 characters)": "E-Mail-Adresse des Kunden (3-100 Zeichen)",
|
||||
"Name of the customer (3-100 characters)": "Name des Kunden (3-100 Zeichen)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Bankkonto des Kunden. Erforderlich für TPV (Drittanbieter-Überprüfung) (3-20 Zeichen)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Kundenbank IFSC. Benötigt für TPV (Dritte Überprüfung)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Kundenbank-Code. Benötigt für Nettobankzahlungen mit TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Bestellungs-Identifikator in Ihrem System. Alphanumerisch, \"_\" und \"-\" nur (3-45 Zeichen). Wird automatisch generiert, wenn nicht angegeben",
|
||||
"Order note for reference (3-200 characters)": "Bestellungsnotiz für Referenz (3-200 Zeichen)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL zur Weiterleitung nach Zahlungsabschluss (max. 250 Zeichen)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "HTTPS-URL für Server-zu-Server Benachrichtigungen (max. 250 Zeichen)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Komma-getrennte Werte: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer",
|
||||
"Name of the cart": "Name des Warenkorbs",
|
||||
"Note from customer": "Notiz vom Kunden",
|
||||
"Shipping charges for the order": "Versandkosten für die Bestellung",
|
||||
"Full name for shipping address": "Vollständiger Name für Lieferadresse",
|
||||
"Country for shipping address": "Land für Lieferadresse",
|
||||
"City for shipping address": "Stadt für Lieferadresse",
|
||||
"State for shipping address": "Land für Lieferadresse",
|
||||
"Pincode for shipping address": "Pincode für Lieferadresse",
|
||||
"Primary address line for shipping": "Primäre Adresse für den Versand",
|
||||
"Secondary address line for shipping": "Sekundäre Adresszeile für den Versand",
|
||||
"Full name for billing address": "Vollständiger Name für Rechnungsadresse",
|
||||
"Country for billing address": "Land für Rechnungsadresse",
|
||||
"City for billing address": "Stadt für Rechnungsadresse",
|
||||
"State for billing address": "Bundesland für Rechnungsadresse",
|
||||
"Pincode for billing address": "Pincode für Rechnungsadresse",
|
||||
"Primary address line for billing": "Primäre Adresszeile für Abrechnung",
|
||||
"Secondary address line for billing": "Sekundäre Adresszeile für Abrechnung",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Typ des Terminals (z.B. SPOS) für SoftPOS-Orders (4-10 Zeichen)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "Terminal ID für Händlerreferenz (3-100 Zeichen)",
|
||||
"Mobile number of the terminal/agent/storefront": "Mobilnummer des Terminals/Agent/Schaufensters",
|
||||
"Name of terminal/agent/storefront": "Name des Terminals/Agent/Schaufensters",
|
||||
"Location of terminal": "Standort des Terminals",
|
||||
"Note given by merchant while creating the terminal": "Notiz vom Händler beim Erstellen des Terminals",
|
||||
"Enable One Click Checkout feature": "Ein-Klick-Checkout-Funktion aktivieren",
|
||||
"Enable Verify and Pay feature": "Überprüfen und Bezahlen aktivieren",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Benutzerdefinierte Tags als JSON-Objekt. Beispiel: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximal 10 Tags",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Betrag der mit diesem Link gesammelt werden soll. Geben Sie bis zu zwei Dezimalstellen für die Zahlung",
|
||||
"Currency for the payment link": "Währung für den Zahlungslink",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "Eine kurze Beschreibung, für die die Zahlung abgeholt werden muss (max. 500 Zeichen)",
|
||||
"Customer phone number (required)": "Kunden-Telefonnummer (erforderlich)",
|
||||
"Customer email address": "E-Mail-Adresse des Kunden",
|
||||
"Customer name": "Kundenname",
|
||||
"Customer bank account number": "Kontonummer des Kunden",
|
||||
"Customer bank IFSC code": "Kundenbank-IFSC-Code",
|
||||
"Customer bank code for net banking": "Kundenbankcode für Netto-Banking",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Eindeutiger Bezeichner für den Link. Alphanumerisch, \"-\" und \"_\" nur (max. 50 Zeichen). Automatisch generiert, wenn nicht angegeben",
|
||||
"Allow customers to make partial payments for the link": "Kunden erlauben Teilzahlungen für den Link zu tätigen",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Mindestbetrag in erster Rate (erforderlich, wenn Teilzahlungen aktiviert sind)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "ISO 8601 Format. Beispiel: 2021-07-02T10:20:12+05:30. Standard ist 30 Tage",
|
||||
"Send SMS notification to customer phone": "SMS-Benachrichtigung an Kundentelefon senden",
|
||||
"Send email notification to customer email": "E-Mail-Benachrichtigung an Kunden senden",
|
||||
"Send automatic reminders to customers for payment collection": "Automatische Erinnerungen an Kunden zur Zahlungsabholung senden",
|
||||
"HTTPS URL for server-to-server notifications": "HTTPS-URL für Server-zu-Server-Benachrichtigungen",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL zum Umleiten nach Zahlungsabschluss (max. 250 Zeichen)",
|
||||
"Directly open UPI Intent flow on mobile devices": "UPI Intent Flow direkt auf mobilen Geräten öffnen",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Komma-getrennte Werte: cc,dc,ccc,ppc,nb,upi,paypal,app. Leer lassen für alle Methoden",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Schlüssel-Wert Paare als JSON. Maximal 5 Schlüssel-Wert Paare. Beispiel: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "JSON-Array für Easy Split. Beispiel: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "Die ID, die Ihre Bestellung eindeutig identifiziert",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Erstatteter Betrag. Sollte kleiner oder gleich dem Transaktionsbetrag sein. (Dezimalstellen erlaubt)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "Eine eindeutige ID, der die Erstattung zugeordnet werden soll. Geben Sie alphanumerische Werte (3-40 Zeichen) an",
|
||||
"A refund note for your reference (3-100 characters)": "Eine Erstattungsnotiz für Ihre Referenz (3-100 Zeichen)",
|
||||
"Speed at which the refund is processed": "Geschwindigkeit, mit der die Rückerstattung bearbeitet wird",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "JSON-Array für Lieferantensplits. Beispiel: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"Prozent\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Benutzerdefinierte Tags im JSON-Format {\"key\":\"value\"}. Maximal 10 Tags erlaubt. Beispiel: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "Anfrage-ID für den API-Aufruf. Kann verwendet werden, um technische Probleme zu lösen",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "Schlüssel im UUID-Format der Seuchenwirkung, um doppelte Aktionen zu vermeiden, wenn die Anfrage versagt oder mal aus dem Netz ist",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "Die Zahlungslink-ID, die Sie abbrechen möchten. Nur ACTIVE Links können storniert werden.",
|
||||
"The payment link ID for which you want to view the details": "Die Zahlungslink-ID, für die Sie die Details ansehen möchten",
|
||||
"UUID format idempotency key for request deduplication": "UUID-Format idempotenzschlüssel für die Verdoppelung von Anfragen",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "Eindeutige ID des Cashgramms. Alphanumerisch, Unterstrich (_) und Bindestrich (-) erlaubt (35 Zeichenlimit)",
|
||||
"Amount to be transferred (minimum 1.00)": "Zu übertragender Betrag (mindestens 1.00)",
|
||||
"Name of the contact": "Name des Kontakts",
|
||||
"Phone number of the contact": "Telefonnummer des Kontakts",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Ablaufdatum des Kassenverweiss. Format: JJJ/MM/DD (maximal 30 Tage nach Erstellung)",
|
||||
"Email of the contact": "E-Mail des Kontakts",
|
||||
"Specify remarks, if any": "Anmerkungen, falls vorhanden",
|
||||
"If enabled, a link is sent to customer phone and email": "Wenn aktiviert, wird ein Link an Kunden-Telefon und E-Mail gesendet",
|
||||
"The payment link ID for which you want to view the order details": "Die Zahlungslink-ID für die Sie die Bestelldetails ansehen möchten",
|
||||
"Filter orders by status (default is PAID)": "Bestellungen nach Status filtern (Standard ist PAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID des zu deaktivierenden Cashgramms. Alphanumerische und Unterstriche (_) zulässig (35 Zeichenlimit)",
|
||||
"Sandbox": "Sandbox",
|
||||
"Production": "Produktion",
|
||||
"Indian Rupee (INR)": "Indische Rupie (INR)",
|
||||
"US Dollar (USD)": "US Dollar (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "Britisches Pfund (GBP)",
|
||||
"State Bank of India (3003)": "Staatliche Bank von Indien (3003)",
|
||||
"HDFC Bank (3005)": "HDFC Bank (3005)",
|
||||
"ICICI Bank (3006)": "ICICI Bank (3006)",
|
||||
"Axis Bank (3010)": "Achsenbank (3010)",
|
||||
"Punjab National Bank (3012)": "Nationalbank Punjab (3012)",
|
||||
"Bank of Baroda (3016)": "Bank of Baroda (3016)",
|
||||
"Canara Bank (3019)": "Canara Bank (3019)",
|
||||
"Union Bank of India (3020)": "Union Bank of India (3020)",
|
||||
"Bank of India (3021)": "Bank of India (3021)",
|
||||
"Central Bank of India (3022)": "Zentralbank Indiens (3022)",
|
||||
"Indian Bank (3023)": "Indische Bank (3023)",
|
||||
"Indian Overseas Bank (3024)": "Indische Überseebank (3024)",
|
||||
"UCO Bank (3026)": "UCO Bank (3026)",
|
||||
"Bank of Maharashtra (3027)": "Bank von Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "IDBI Bank (3029)",
|
||||
"Federal Bank (3030)": "Bundesbank (3030)",
|
||||
"South Indian Bank (3031)": "Südindische Bank (3031)",
|
||||
"IndusInd Bank (3032)": "IndusInd Bank (3032)",
|
||||
"YES Bank (3033)": "JA-Bank (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Kotak Mahindra Bank (7001)",
|
||||
"Standard": "Standard",
|
||||
"Instant": "Sofort",
|
||||
"All Orders": "Alle Bestellungen",
|
||||
"Paid Orders Only": "Nur bezahlte Bestellungen"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Integración de pagos libres de efectivo para procesar pagos, reembolsos y administración de enlaces de pago y cashgrams.",
|
||||
"Cashfree Client ID": "ID de cliente sin efectivo",
|
||||
"Cashfree Client Secret": "Cliente libre de efectivo secreto",
|
||||
"Your Cashfree Client ID": "Tu ID de cliente sin efectivo",
|
||||
"Your Cashfree Client Secret": "Tu secreto de cliente libre de efectivo",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "Crear pedido",
|
||||
"Create Payment Link": "Crear enlace de pago",
|
||||
"Create Refund": "Crear reembolso",
|
||||
"Cancel Payment Link": "Cancelar enlace de pago",
|
||||
"Fetch Payment Link Details": "Obtener detalles del enlace de pago",
|
||||
"Create Cashgram": "Crear Cashgrama",
|
||||
"Get Orders for Payment Link": "Obtener pedidos para el enlace de pago",
|
||||
"Get All Refunds for Order": "Obtener todos los reembolsos del pedido",
|
||||
"Deactivate Cashgram": "Desactivar Cashgram",
|
||||
"Creates an order in Cashfree Payment Gateway": "Crea un pedido en la pasarela de pago sin efectivo",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Crea un enlace de pago en la pasarela de pago sin efectivo",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Inicia un reembolso de una orden sin efectivo. Los reembolsos sólo pueden iniciarse dentro de los seis meses siguientes a la transacción original.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Cancelar un enlace de pago en la pasarela de pago sin efectivo. Sólo los enlaces en estado ACTIVE pueden ser cancelados.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "Ver todos los detalles y el estado de un enlace de pago en la pasarela de pago sin efectivo",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Crea un Cashgram para transferencias instantáneas de dinero sin efectivo",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "Ver todos los detalles del pedido para un enlace de pago en Cashfree Payment Gateway",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Obtener todos los reembolsos procesados contra un pedido en una pasarela de pago sin efectivo",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Desactivar un Cashgram para evitar más reembolsos usando Cashfree",
|
||||
"Environment": "Entorno",
|
||||
"Order Amount": "Importe del pedido",
|
||||
"Order Currency": "Moneda del pedido",
|
||||
"Customer ID": "ID del cliente",
|
||||
"Customer Phone": "Teléfono cliente",
|
||||
"Customer Email": "Email del cliente",
|
||||
"Customer Name": "Nombre del cliente",
|
||||
"Customer Bank Account Number": "Número de cuenta bancaria del cliente",
|
||||
"Customer Bank IFSC": "Banco IFSC",
|
||||
"Customer Bank Code": "Código bancario del cliente",
|
||||
"Order ID": "ID del pedido",
|
||||
"Order Note": "Nota del pedido",
|
||||
"Order Expiry Time": "Tiempo de expiración del pedido",
|
||||
"Return URL": "URL de retorno",
|
||||
"Notify URL": "Notificar URL",
|
||||
"Payment Methods": "Métodos de pago",
|
||||
"Cart Name": "Nombre Carrito",
|
||||
"Customer Note": "Nota del cliente",
|
||||
"Shipping Charge": "Cargo de envío",
|
||||
"Shipping - Full Name": "Envío - Nombre completo",
|
||||
"Shipping - Country": "Envío - País",
|
||||
"Shipping - City": "Envío - Ciudad",
|
||||
"Shipping - State": "Envío - Estado",
|
||||
"Shipping - Pincode": "Envío - Pincode",
|
||||
"Shipping - Address Line 1": "Envío - Línea de dirección 1",
|
||||
"Shipping - Address Line 2": "Envío - Línea de dirección 2",
|
||||
"Billing - Full Name": "Facturación - Nombre completo",
|
||||
"Billing - Country": "Facturación - País",
|
||||
"Billing - City": "Facturación - Ciudad",
|
||||
"Billing - State": "Facturación - Estado",
|
||||
"Billing - Pincode": "Facturación - Pincode",
|
||||
"Billing - Address Line 1": "Facturación - Línea de dirección 1",
|
||||
"Billing - Address Line 2": "Facturación - Línea de dirección 2",
|
||||
"Terminal Type": "Tipo de terminal",
|
||||
"Terminal ID": "ID de terminal",
|
||||
"Terminal Phone Number": "Número de teléfono de terminal",
|
||||
"Terminal Name": "Nombre de terminal",
|
||||
"Terminal Address": "Dirección de terminal",
|
||||
"Terminal Note": "Nota de Terminal",
|
||||
"Enable One Click Checkout": "Habilitar pago con un clic",
|
||||
"Enable Verify and Pay": "Habilitar Verificar y Pagar",
|
||||
"Order Tags": "Etiquetas de pedido",
|
||||
"Link Amount": "Cantidad de enlace",
|
||||
"Link Currency": "Vincular moneda",
|
||||
"Link Purpose": "Propósito de enlace",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Habilitar pagos parciales",
|
||||
"Minimum Partial Amount": "Cantidad mínima parcial",
|
||||
"Link Expiry Time": "Tiempo de caducidad del enlace",
|
||||
"Send SMS Notification": "Enviar notificación por SMS",
|
||||
"Send Email Notification": "Enviar notificación por email",
|
||||
"Auto Reminders": "Auto-recordatorios",
|
||||
"UPI Intent": "Intento UPI",
|
||||
"Link Notes": "Enlazar notas",
|
||||
"Order Splits": "Dividir Pedidos",
|
||||
"Refund Amount": "Importe del reembolso",
|
||||
"Refund ID": "ID de reembolso",
|
||||
"Refund Note": "Nota de reembolso",
|
||||
"Refund Speed": "Velocidad de reembolso",
|
||||
"Refund Splits": "Dividir Reembolso",
|
||||
"Custom Tags": "Etiquetas personalizadas",
|
||||
"Request ID": "ID de Solicitud",
|
||||
"Idempotency Key": "Clave Idemy",
|
||||
"Payment Link ID": "ID de enlace de pago",
|
||||
"Cashgram ID": "ID de Cashgram",
|
||||
"Amount": "Cantidad",
|
||||
"Contact Name": "Nombre de contacto",
|
||||
"Phone Number": "Número de teléfono",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "E-mail",
|
||||
"Remarks": "Comentarios",
|
||||
"Notify Customer": "Notificar al cliente",
|
||||
"Order Status Filter": "Filtro de estado de pedido",
|
||||
"Choose the environment for API calls": "Elija el entorno para las llamadas API",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Cantidad de factura para el pedido. Proporcione hasta dos decimales (por ejemplo, 10,15 significa Rs 10 y 15 paisa)",
|
||||
"Currency for the order": "Moneda para el pedido",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "Un identificador único para el cliente. Utilice sólo valores alfanuméricos (3-50 caracteres)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Número de teléfono del cliente (mínimo 10 dígitos). Para números internacionales, prefijo +",
|
||||
"Customer email address (3-100 characters)": "Dirección de correo electrónico del cliente (3-100 caracteres)",
|
||||
"Name of the customer (3-100 characters)": "Nombre del cliente (3-100 caracteres)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Cuenta bancaria de cliente. Requerida para TPV (verificación de terceros)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Banco de clientes IFSC. Requerido para TPV (verificación de terceros)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Código bancario del cliente. Requerido para pagos bancarios netos con TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Identificador de orden en su sistema. Alfanumérico, \"_\" y \"-\" sólo (3-45 caracteres). Se generará automáticamente si no se proporciona",
|
||||
"Order note for reference (3-200 characters)": "Nota del pedido para referencia (3-200 caracteres)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL para redirigir al cliente después de completar el pago (máx. 250 caracteres)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "URL HTTPS para notificaciones de servidor a servidor (máximo 250 caracteres)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Valores separados por comas: cc,dc,ccc,ppc,Text,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer",
|
||||
"Name of the cart": "Nombre del carrito",
|
||||
"Note from customer": "Nota del cliente",
|
||||
"Shipping charges for the order": "Gastos de envío para el pedido",
|
||||
"Full name for shipping address": "Nombre completo para la dirección de envío",
|
||||
"Country for shipping address": "País para la dirección de envío",
|
||||
"City for shipping address": "Ciudad para la dirección de envío",
|
||||
"State for shipping address": "Estado para la dirección de envío",
|
||||
"Pincode for shipping address": "Código PIN para la dirección de envío",
|
||||
"Primary address line for shipping": "Línea de dirección principal para el envío",
|
||||
"Secondary address line for shipping": "Línea de dirección secundaria para el envío",
|
||||
"Full name for billing address": "Nombre completo para la dirección de facturación",
|
||||
"Country for billing address": "País para la dirección de facturación",
|
||||
"City for billing address": "Ciudad para dirección de facturación",
|
||||
"State for billing address": "Estado para la dirección de facturación",
|
||||
"Pincode for billing address": "Pincode para la dirección de facturación",
|
||||
"Primary address line for billing": "Línea de dirección principal para facturación",
|
||||
"Secondary address line for billing": "Línea de dirección secundaria para facturación",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Tipo de terminal (por ejemplo, SPOS) para órdenes SoftPOS (4-10 caracteres)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "ID de terminal para referencia de comerciante (3-100 caracteres)",
|
||||
"Mobile number of the terminal/agent/storefront": "Número de teléfono móvil del terminal/agente/escaparate",
|
||||
"Name of terminal/agent/storefront": "Nombre del terminal/agent/escaparate",
|
||||
"Location of terminal": "Ubicación del terminal",
|
||||
"Note given by merchant while creating the terminal": "Nota dada por el comerciante al crear el terminal",
|
||||
"Enable One Click Checkout feature": "Activar función de pago con un clic",
|
||||
"Enable Verify and Pay feature": "Activar la función de verificación y pago",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Etiquetas personalizadas como objeto JSON. Ejemplo: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Máximo 10 etiquetas",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Cantidad a recoger usando este enlace. Proporcione hasta dos decimales para paise",
|
||||
"Currency for the payment link": "Moneda para el enlace de pago",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "Una breve descripción para la que el pago debe ser recolectado (máximo 500 caracteres)",
|
||||
"Customer phone number (required)": "Número de teléfono del cliente (requerido)",
|
||||
"Customer email address": "Dirección de correo electrónico del cliente",
|
||||
"Customer name": "Nombre del cliente",
|
||||
"Customer bank account number": "Número de cuenta bancaria",
|
||||
"Customer bank IFSC code": "Código IFSC del banco del cliente",
|
||||
"Customer bank code for net banking": "Código bancario del cliente para la banca neta",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Identificador único para el enlace. Alfanumérico, \"-\" y \"_\" sólo (máximo 50 caracteres). Autogenerado si no se proporciona",
|
||||
"Allow customers to make partial payments for the link": "Permitir a los clientes realizar pagos parciales por el enlace",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Monto mínimo en la primera cuota (requerido si los pagos parciales están habilitados)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "Formato ISO 8601. Ejemplo: 2021-07-02T10:20:12+05:30. Por defecto es de 30 días",
|
||||
"Send SMS notification to customer phone": "Enviar notificación SMS al teléfono del cliente",
|
||||
"Send email notification to customer email": "Enviar notificación por correo electrónico al correo electrónico del cliente",
|
||||
"Send automatic reminders to customers for payment collection": "Enviar recordatorios automáticos a los clientes para cobrar pagos",
|
||||
"HTTPS URL for server-to-server notifications": "URL HTTPS para notificaciones de servidor a servidor",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL para redirigir al usuario después de completar el pago (máx. 250 caracteres)",
|
||||
"Directly open UPI Intent flow on mobile devices": "Abrir directamente el flujo de Intentos UPI en dispositivos móviles",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Valores separados por comas: cc,dc,ccc,ppc,Text,upi,paypal,app. Dejar en blanco para todos los métodos",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Pares de valor de clave como JSON. Máximo 5 pares clave-valor. Ejemplo: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "Arreglo JSON para Easy Sdivis. Ejemplo: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "El ID que identifica su pedido de forma única",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Monto a ser reembolsado. Debe ser menor o igual al monto de la transacción. (Decimales permitidos)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "Un ID único para asociar el reembolso. Proporciona valores alfanuméricos (3-40 caracteres)",
|
||||
"A refund note for your reference (3-100 characters)": "Una nota de reembolso para su referencia (3-100 caracteres)",
|
||||
"Speed at which the refund is processed": "Velocidad a la que se procesa el reembolso",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "Arreglo JSON para dividir proveedores. Ejemplo: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Etiquetas personalizadas en formato JSON {\"key\":\"valor\"}. Máximo 10 etiquetas permitidas. Ejemplo: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "Solicitud de ID para la llamada API. Se puede utilizar para resolver problemas de tecnología",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "Formato UUID de clave idema para evitar acciones duplicadas si la solicitud falla o se agota el tiempo",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "El ID del enlace de pago que desea cancelar. Sólo los enlaces ACTIVOS pueden ser cancelados.",
|
||||
"The payment link ID for which you want to view the details": "El ID del enlace de pago para el que desea ver los detalles",
|
||||
"UUID format idempotency key for request deduplication": "Formato UUID de clave idemocucy para la solicitud deduplicación",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "ID única del Cashgram. Alfanumérico, guión bajo (_), y guiones (-) permitidos (límite de 35 caracteres)",
|
||||
"Amount to be transferred (minimum 1.00)": "Cantidad a transferir (mínimo 1.00)",
|
||||
"Name of the contact": "Nombre del contacto",
|
||||
"Phone number of the contact": "Número de teléfono del contacto",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Fecha para expirar el enlace de cashgrama. Formato: AAAA/MM/DD (máximo 30 días desde la creación)",
|
||||
"Email of the contact": "Email del contacto",
|
||||
"Specify remarks, if any": "Especificar comentarios, si hay",
|
||||
"If enabled, a link is sent to customer phone and email": "Si está activado, se envía un enlace al teléfono y al correo electrónico del cliente",
|
||||
"The payment link ID for which you want to view the order details": "El ID del enlace de pago para el cual desea ver los detalles del pedido",
|
||||
"Filter orders by status (default is PAID)": "Filtrar pedidos por estado (por defecto es PAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID del Cashgram a ser desactivado. Alfanumérico y guión bajo (_) permitido (límite de 35 caracteres)",
|
||||
"Sandbox": "Caja de arena",
|
||||
"Production": "Producción",
|
||||
"Indian Rupee (INR)": "Rupía india (INR)",
|
||||
"US Dollar (USD)": "Dólar US (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "Libra Británica (GBP)",
|
||||
"State Bank of India (3003)": "Banco estatal de la India (3003)",
|
||||
"HDFC Bank (3005)": "Banco HDFC (3005)",
|
||||
"ICICI Bank (3006)": "Banco ICICI (3006)",
|
||||
"Axis Bank (3010)": "Banco Eje (3010)",
|
||||
"Punjab National Bank (3012)": "Banco Nacional Punjab (3012)",
|
||||
"Bank of Baroda (3016)": "Banco de Baroda (3016)",
|
||||
"Canara Bank (3019)": "Banco Canara (3019)",
|
||||
"Union Bank of India (3020)": "Banco de Unión de la India (3020)",
|
||||
"Bank of India (3021)": "Banco de la India (3021)",
|
||||
"Central Bank of India (3022)": "Banco Central de la India (3022)",
|
||||
"Indian Bank (3023)": "Banco indio (3023)",
|
||||
"Indian Overseas Bank (3024)": "Banco Indio de Ultramar (3024)",
|
||||
"UCO Bank (3026)": "Banco UCO (3026)",
|
||||
"Bank of Maharashtra (3027)": "Banco de Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "Banco IDBI (3029)",
|
||||
"Federal Bank (3030)": "Banco Federal (3030)",
|
||||
"South Indian Bank (3031)": "Banco South Indian (3031)",
|
||||
"IndusInd Bank (3032)": "Banco IndusInd (3032)",
|
||||
"YES Bank (3033)": "Banco SI (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Banco Mahindra de Kotak (7001)",
|
||||
"Standard": "Estándar",
|
||||
"Instant": "Instantáneo",
|
||||
"All Orders": "Todos los pedidos",
|
||||
"Paid Orders Only": "Sólo pedidos pagados"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Intégration des paiements sans espèces pour le traitement des paiements, des remboursements et la gestion des liens de paiement et des cashgrammes.",
|
||||
"Cashfree Client ID": "ID client sans espèces",
|
||||
"Cashfree Client Secret": "Secret client gratuit",
|
||||
"Your Cashfree Client ID": "Votre identifiant client Cashfree",
|
||||
"Your Cashfree Client Secret": "Votre secret client Cashfree",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "Créer une commande",
|
||||
"Create Payment Link": "Créer un lien de paiement",
|
||||
"Create Refund": "Créer un remboursement",
|
||||
"Cancel Payment Link": "Annuler le lien de paiement",
|
||||
"Fetch Payment Link Details": "Récupérer les détails du lien de paiement",
|
||||
"Create Cashgram": "Créer un cashgramme",
|
||||
"Get Orders for Payment Link": "Obtenir des commandes pour le lien de paiement",
|
||||
"Get All Refunds for Order": "Recevoir tous les remboursements pour la commande",
|
||||
"Deactivate Cashgram": "Désactiver Cashgram",
|
||||
"Creates an order in Cashfree Payment Gateway": "Crée une commande dans la passerelle de paiement sans espèces",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Crée un lien de paiement dans la passerelle de paiement sans espèces",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Lancez un remboursement pour une commande sans espèces. Les remboursements ne peuvent être effectués que dans les six mois suivant la transaction initiale.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Annuler un lien de paiement dans la passerelle de paiement sans espèces. Seuls les liens dans le statut ACTIVE peuvent être annulés.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "Voir tous les détails et l'état d'un lien de paiement dans la passerelle de paiement sans espèces",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Créer un cashgram pour les transferts d'argent instantanés en utilisant Cashfree",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "Voir tous les détails de la commande pour un lien de paiement dans la passerelle de paiement sans espèces",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Récupérer tous les remboursements traités sur une commande dans la passerelle de paiement sans espèces",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Désactivez un Cashgram pour éviter de nouveaux remboursements en utilisant Cashfree",
|
||||
"Environment": "Environnement",
|
||||
"Order Amount": "Montant de la commande",
|
||||
"Order Currency": "Devise de la commande",
|
||||
"Customer ID": "ID du client",
|
||||
"Customer Phone": "Téléphone du client",
|
||||
"Customer Email": "E-mail du client",
|
||||
"Customer Name": "Nom du client",
|
||||
"Customer Bank Account Number": "Numéro de compte bancaire du client",
|
||||
"Customer Bank IFSC": "La banque de clients IFSC",
|
||||
"Customer Bank Code": "Code bancaire du client",
|
||||
"Order ID": "ID de la commande",
|
||||
"Order Note": "Note de la commande",
|
||||
"Order Expiry Time": "Date d'expiration de la commande",
|
||||
"Return URL": "URL de retour",
|
||||
"Notify URL": "URL de notification",
|
||||
"Payment Methods": "Moyens de paiement",
|
||||
"Cart Name": "Nom du panier",
|
||||
"Customer Note": "Note client",
|
||||
"Shipping Charge": "Frais de livraison",
|
||||
"Shipping - Full Name": "Expédition - Nom complet",
|
||||
"Shipping - Country": "Expédition - Pays",
|
||||
"Shipping - City": "Expédition - Ville",
|
||||
"Shipping - State": "Expédition - État",
|
||||
"Shipping - Pincode": "Expédition - Code Pin",
|
||||
"Shipping - Address Line 1": "Expédition - Adresse ligne 1",
|
||||
"Shipping - Address Line 2": "Expédition - Adresse ligne 2",
|
||||
"Billing - Full Name": "Facturation - Nom complet",
|
||||
"Billing - Country": "Facturation - Pays",
|
||||
"Billing - City": "Facturation - Ville",
|
||||
"Billing - State": "Facturation - État",
|
||||
"Billing - Pincode": "Facturation - Code PIN",
|
||||
"Billing - Address Line 1": "Facturation - Adresse ligne 1",
|
||||
"Billing - Address Line 2": "Facturation - Adresse ligne 2",
|
||||
"Terminal Type": "Type de terminal",
|
||||
"Terminal ID": "ID du Terminal",
|
||||
"Terminal Phone Number": "Numéro de téléphone du terminal",
|
||||
"Terminal Name": "Nom du terminal",
|
||||
"Terminal Address": "Adresse du Terminal",
|
||||
"Terminal Note": "Note du terminal",
|
||||
"Enable One Click Checkout": "Activer la commande en un clic",
|
||||
"Enable Verify and Pay": "Activer la vérification et le paiement",
|
||||
"Order Tags": "Tags de la commande",
|
||||
"Link Amount": "Lier le montant",
|
||||
"Link Currency": "Lier une devise",
|
||||
"Link Purpose": "Objet du lien",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Activer les paiements partiels",
|
||||
"Minimum Partial Amount": "Montant partiel minimum",
|
||||
"Link Expiry Time": "Temps d'expiration du lien",
|
||||
"Send SMS Notification": "Envoyer une notification par SMS",
|
||||
"Send Email Notification": "Envoyer une notification par e-mail",
|
||||
"Auto Reminders": "Rappels automatiques",
|
||||
"UPI Intent": "Intention de l'UPI",
|
||||
"Link Notes": "Lier les notes",
|
||||
"Order Splits": "Splits de la commande",
|
||||
"Refund Amount": "Montant du remboursement",
|
||||
"Refund ID": "ID de remboursement",
|
||||
"Refund Note": "Note de remboursement",
|
||||
"Refund Speed": "Vitesse de remboursement",
|
||||
"Refund Splits": "Remboursement des fractions",
|
||||
"Custom Tags": "Tags personnalisés",
|
||||
"Request ID": "ID de la requête",
|
||||
"Idempotency Key": "Clé de puissance démoniaque",
|
||||
"Payment Link ID": "ID du lien de paiement",
|
||||
"Cashgram ID": "ID du cashgramme",
|
||||
"Amount": "Montant",
|
||||
"Contact Name": "Nom du contact",
|
||||
"Phone Number": "Numéro de téléphone",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "Courriel",
|
||||
"Remarks": "Remarques",
|
||||
"Notify Customer": "Notifier le client",
|
||||
"Order Status Filter": "Filtre de statut de commande",
|
||||
"Choose the environment for API calls": "Choisir l'environnement pour les appels API",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Montant de la facture pour l'ordre. Fournir jusqu'à deux décimales (par exemple, 10,15 signifie Rs 10 et 15 paisa)",
|
||||
"Currency for the order": "Devise de la commande",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "Un identifiant unique pour le client. Utilisez uniquement des valeurs alphanumériques (3-50 caractères)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Numéro de téléphone du client (minimum 10 chiffres). Pour les numéros internationaux, préfixe avec +",
|
||||
"Customer email address (3-100 characters)": "Adresse e-mail du client (3-100 caractères)",
|
||||
"Name of the customer (3-100 characters)": "Nom du client (3-100 caractères)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Compte bancaire du client. Requis pour TPV (Vérification tierce) (3-20 caractères)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Banque du client IFSC. Requis pour TPV (Vérification de tiers)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Code de la banque du client. Requis pour les paiements bancaires nets avec TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Identifiant de commande dans votre système. Alphanumérique, \"_\" et \"-\" seulement (3-45 caractères). Sera généré automatiquement si non fourni",
|
||||
"Order note for reference (3-200 characters)": "Note de commande pour référence (3-200 caractères)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL pour rediriger le client après la fin du paiement (max 250 caractères)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "URL HTTPS pour les notifications du serveur à serveur (max 250 caractères)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Valeurs séparées par des virgules : cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer",
|
||||
"Name of the cart": "Nom du panier",
|
||||
"Note from customer": "Note du client",
|
||||
"Shipping charges for the order": "Frais d'expédition pour la commande",
|
||||
"Full name for shipping address": "Nom complet pour l'adresse de livraison",
|
||||
"Country for shipping address": "Pays pour l'adresse de livraison",
|
||||
"City for shipping address": "Ville pour l'adresse de livraison",
|
||||
"State for shipping address": "État pour l'adresse de livraison",
|
||||
"Pincode for shipping address": "Code PIN pour l'adresse de livraison",
|
||||
"Primary address line for shipping": "Ligne d'adresse principale pour l'expédition",
|
||||
"Secondary address line for shipping": "Ligne d'adresse secondaire pour l'expédition",
|
||||
"Full name for billing address": "Nom complet pour l'adresse de facturation",
|
||||
"Country for billing address": "Pays pour l'adresse de facturation",
|
||||
"City for billing address": "Ville pour l'adresse de facturation",
|
||||
"State for billing address": "État de l'adresse de facturation",
|
||||
"Pincode for billing address": "Code PIN pour l'adresse de facturation",
|
||||
"Primary address line for billing": "Ligne d'adresse principale pour la facturation",
|
||||
"Secondary address line for billing": "Ligne d'adresse secondaire pour la facturation",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Type de terminal (par exemple, SPOS) pour les ordres SoftPOS (4-10 caractères)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "ID du terminal pour la référence marchande (3-100 caractères)",
|
||||
"Mobile number of the terminal/agent/storefront": "Numéro de téléphone mobile du terminal/agent/vitrine",
|
||||
"Name of terminal/agent/storefront": "Nom du terminal/agent/vitrine",
|
||||
"Location of terminal": "Localisation du terminal",
|
||||
"Note given by merchant while creating the terminal": "Note donnée par le marchand lors de la création du terminal",
|
||||
"Enable One Click Checkout feature": "Activer la fonctionnalité de paiement en un clic",
|
||||
"Enable Verify and Pay feature": "Activer la fonction de vérification et de paiement",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Tags personnalisés en tant qu'objet JSON. Exemple: {\"product\":\"Ordinateur\",\"city\":\"Bangalore\"}. Maximum 10 tags",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Montant à collecter en utilisant ce lien. Fournir jusqu'à deux décimales pour paise",
|
||||
"Currency for the payment link": "Devise du lien de paiement",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "Une brève description pour laquelle le paiement doit être collecté (max 500 caractères)",
|
||||
"Customer phone number (required)": "Numéro de téléphone du client (obligatoire)",
|
||||
"Customer email address": "Adresse e-mail du client",
|
||||
"Customer name": "Nom du client",
|
||||
"Customer bank account number": "Numéro de compte bancaire du client",
|
||||
"Customer bank IFSC code": "Code IFSC de la banque client",
|
||||
"Customer bank code for net banking": "Code bancaire du client pour la banque nette",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Identifiant unique pour le lien. Alphanumérique, \"-\" et \"_\" uniquement (max 50 caractères). Généré automatiquement si non fourni",
|
||||
"Allow customers to make partial payments for the link": "Autoriser les clients à effectuer des paiements partiels pour le lien",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Montant minimum du premier versement (requis si les paiements partiels sont activés)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "Format ISO. 8601. Exemple: 2021-07-02T10:20:12+05:30. La valeur par défaut est 30 jours",
|
||||
"Send SMS notification to customer phone": "Envoyer une notification par SMS au téléphone du client",
|
||||
"Send email notification to customer email": "Envoyer une notification par courriel au client",
|
||||
"Send automatic reminders to customers for payment collection": "Envoyer des rappels automatiques aux clients pour la collecte des paiements",
|
||||
"HTTPS URL for server-to-server notifications": "URL HTTPS pour les notifications du serveur au serveur",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL pour rediriger l'utilisateur après la fin du paiement (max 250 caractères)",
|
||||
"Directly open UPI Intent flow on mobile devices": "Ouvrir directement le flux UPI Intent sur les appareils mobiles",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Valeurs séparées par des virgules : cc,dc,ccc,ppc,nb,upi,paypal,app. Laisser vide pour toutes les méthodes",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Paires de valeur clé en JSON. 5 paires de valeur clé. Exemple: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "Tableau JSON pour Easy Split. Exemple: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "L'ID qui identifie votre commande de manière unique",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Montant à rembourser. Doit être inférieur ou égal au montant de la transaction. (Décimales autorisés)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "Un ID unique avec lequel associer le remboursement. Fournissez des valeurs alphanumériques (3-40 caractères)",
|
||||
"A refund note for your reference (3-100 characters)": "Une note de remboursement pour votre référence (3-100 caractères)",
|
||||
"Speed at which the refund is processed": "Vitesse à laquelle le remboursement est traité",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "Tableau JSON pour les séparations de vendeurs. Exemple: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Tags personnalisés au format JSON {\"key\":\"value\"}. 10 tags maximum autorisés. Exemple: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "ID de requête pour l'appel API. Peut être utilisé pour résoudre les problèmes de technologie",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "UUID formate la clé idempotency pour éviter les actions dupliquées si la requête échoue ou si les temps sont écoulés",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "L'ID du lien de paiement que vous souhaitez annuler. Seuls les liens ACTIF peuvent être annulés.",
|
||||
"The payment link ID for which you want to view the details": "L'ID du lien de paiement pour lequel vous souhaitez voir les détails",
|
||||
"UUID format idempotency key for request deduplication": "Format UUID clé idempotency pour la déduplication de requête",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "ID unique du cashgramme. Alphanumérique, trait de soulignement (_) et trait d'union (-) autorisé (limite de 35 caractères)",
|
||||
"Amount to be transferred (minimum 1.00)": "Montant à transférer (minimum 1,00)",
|
||||
"Name of the contact": "Nom du contact",
|
||||
"Phone number of the contact": "Numéro de téléphone du contact",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Date d'expiration du lien de cashgramme. Format: AAA/MM/JJ (maximum 30 jours à partir de la création)",
|
||||
"Email of the contact": "Courriel du contact",
|
||||
"Specify remarks, if any": "Spécifiez les remarques, le cas échéant",
|
||||
"If enabled, a link is sent to customer phone and email": "Si activé, un lien est envoyé au téléphone du client et à l'e-mail",
|
||||
"The payment link ID for which you want to view the order details": "L'ID du lien de paiement pour lequel vous souhaitez voir les détails de la commande",
|
||||
"Filter orders by status (default is PAID)": "Filtrer les commandes par statut (PAID par défaut)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID de la cashgram à désactiver. Alphanumérique et tiret bas (_) autorisés (35 caractères)",
|
||||
"Sandbox": "Bac à sable",
|
||||
"Production": "Production",
|
||||
"Indian Rupee (INR)": "Roupie indienne (INR)",
|
||||
"US Dollar (USD)": "Dollar US (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "Livre sterling (GBP)",
|
||||
"State Bank of India (3003)": "Banque d'Etat de l'Inde (3003)",
|
||||
"HDFC Bank (3005)": "Banque HDFC (3005)",
|
||||
"ICICI Bank (3006)": "Banque ICI (3006)",
|
||||
"Axis Bank (3010)": "Axis Bank (3010)",
|
||||
"Punjab National Bank (3012)": "Banque nationale du Pendjab (3012)",
|
||||
"Bank of Baroda (3016)": "Banque de Baroda (3016)",
|
||||
"Canara Bank (3019)": "Banque Canara (3019)",
|
||||
"Union Bank of India (3020)": "Union Bank of India (3020)",
|
||||
"Bank of India (3021)": "Banque d'Inde (3021)",
|
||||
"Central Bank of India (3022)": "Banque centrale de l'Inde (3022)",
|
||||
"Indian Bank (3023)": "Banque indienne (3023)",
|
||||
"Indian Overseas Bank (3024)": "Banque indienne d'outre-mer (3024)",
|
||||
"UCO Bank (3026)": "Banque UCO (3026)",
|
||||
"Bank of Maharashtra (3027)": "Banque du Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "Banque IDBI (3029)",
|
||||
"Federal Bank (3030)": "Banque Fédérale (3030)",
|
||||
"South Indian Bank (3031)": "Banque d'Inde du Sud (3031)",
|
||||
"IndusInd Bank (3032)": "<unk> Ind Bank (3032)",
|
||||
"YES Bank (3033)": "YES Bank (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Banque Mahindra (7001) Kotak",
|
||||
"Standard": "Standard",
|
||||
"Instant": "Instantané",
|
||||
"All Orders": "Toutes les commandes",
|
||||
"Paid Orders Only": "Commandes payées uniquement"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "支払い、払い戻し、支払いリンクやキャッシュグラムの管理のための現金払い戻し統合。",
|
||||
"Cashfree Client ID": "キャッシュフリーのクライアントID",
|
||||
"Cashfree Client Secret": "キャッシュフリーのクライアントシークレット",
|
||||
"Your Cashfree Client ID": "キャッシュフリーのクライアントID",
|
||||
"Your Cashfree Client Secret": "キャッシュフリーのクライアントシークレット",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "注文を作成",
|
||||
"Create Payment Link": "支払いリンクを作成",
|
||||
"Create Refund": "払い戻しを作成",
|
||||
"Cancel Payment Link": "支払いリンクをキャンセル",
|
||||
"Fetch Payment Link Details": "支払いリンクの詳細を取得",
|
||||
"Create Cashgram": "キャッシュグラムを作成",
|
||||
"Get Orders for Payment Link": "支払いリンクの注文を取得",
|
||||
"Get All Refunds for Order": "注文のすべての払い戻しを受け取る",
|
||||
"Deactivate Cashgram": "キャッシュグラムを無効にする",
|
||||
"Creates an order in Cashfree Payment Gateway": "キャッシュフリーペイメントゲートウェイで注文を作成します",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "キャッシュフリーペイメントゲートウェイで支払いリンクを作成します",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "キャッシュフリー注文の払い戻しを開始します。払い戻しは元のトランザクションから6ヶ月以内に開始できます。",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "決済ゲートウェイの決済リンクをキャンセルします。アクティブ・ステータスのリンクのみキャンセルできます。",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "キャッシュフリーペイメントゲートウェイの支払いリンクの詳細とステータスを表示する",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "キャッシュフリーで即座に送金できるキャッシュグラムを作成する",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "キャッシュフリーペイメントゲートウェイの支払リンクのすべての注文詳細を表示",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "キャッシュフリーペイメントゲートウェイで注文処理された全ての返金を取得",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "キャッシュフリーによる更なる償還を防ぐため、キャッシュグラムを無効にする",
|
||||
"Environment": "環境",
|
||||
"Order Amount": "注文金額",
|
||||
"Order Currency": "注文通貨",
|
||||
"Customer ID": "顧客 ID",
|
||||
"Customer Phone": "お客様電話番号",
|
||||
"Customer Email": "顧客のメールアドレス",
|
||||
"Customer Name": "顧客名",
|
||||
"Customer Bank Account Number": "顧客銀行口座番号",
|
||||
"Customer Bank IFSC": "Customer Bank IFSC",
|
||||
"Customer Bank Code": "お客様の銀行コード",
|
||||
"Order ID": "注文ID",
|
||||
"Order Note": "注文メモ",
|
||||
"Order Expiry Time": "注文有効期限",
|
||||
"Return URL": "返品URL",
|
||||
"Notify URL": "通知URL",
|
||||
"Payment Methods": "お支払い方法",
|
||||
"Cart Name": "カート名",
|
||||
"Customer Note": "顧客メモ",
|
||||
"Shipping Charge": "配送料金",
|
||||
"Shipping - Full Name": "配送 - フルネーム",
|
||||
"Shipping - Country": "配送 - 国",
|
||||
"Shipping - City": "配送 - 市",
|
||||
"Shipping - State": "配送 - 状態",
|
||||
"Shipping - Pincode": "配送 - Pincode",
|
||||
"Shipping - Address Line 1": "配送 - 住所1",
|
||||
"Shipping - Address Line 2": "配送 - 住所2",
|
||||
"Billing - Full Name": "請求 - フルネーム",
|
||||
"Billing - Country": "請求 - 国",
|
||||
"Billing - City": "Billing - City",
|
||||
"Billing - State": "請求 - 状態",
|
||||
"Billing - Pincode": "請求 - Pincode",
|
||||
"Billing - Address Line 1": "請求 - 住所1行目",
|
||||
"Billing - Address Line 2": "請求 - 住所2",
|
||||
"Terminal Type": "端末の種類",
|
||||
"Terminal ID": "端末ID",
|
||||
"Terminal Phone Number": "端末電話番号",
|
||||
"Terminal Name": "端末名",
|
||||
"Terminal Address": "端末の住所",
|
||||
"Terminal Note": "端末のメモ",
|
||||
"Enable One Click Checkout": "ワンクリックチェックアウトを有効にする",
|
||||
"Enable Verify and Pay": "確認と支払いを有効にする",
|
||||
"Order Tags": "注文タグ",
|
||||
"Link Amount": "リンク金額",
|
||||
"Link Currency": "通貨をリンク",
|
||||
"Link Purpose": "リンクの目的",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "部分支払いを有効にする",
|
||||
"Minimum Partial Amount": "最小部分量",
|
||||
"Link Expiry Time": "リンクの有効期限",
|
||||
"Send SMS Notification": "SMS通知を送信",
|
||||
"Send Email Notification": "メール通知を送信",
|
||||
"Auto Reminders": "自動通知",
|
||||
"UPI Intent": "UPIインテント",
|
||||
"Link Notes": "リンクノート",
|
||||
"Order Splits": "順序の分割",
|
||||
"Refund Amount": "払い戻し額",
|
||||
"Refund ID": "払い戻しID",
|
||||
"Refund Note": "払い戻しメモ",
|
||||
"Refund Speed": "返金速度",
|
||||
"Refund Splits": "払い戻しの分割数",
|
||||
"Custom Tags": "カスタムタグ",
|
||||
"Request ID": "要求ID",
|
||||
"Idempotency Key": "Idempotencyキー",
|
||||
"Payment Link ID": "支払リンクID",
|
||||
"Cashgram ID": "キャッシュグラム ID",
|
||||
"Amount": "金額",
|
||||
"Contact Name": "連絡先名",
|
||||
"Phone Number": "電話番号",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "Eメールアドレス",
|
||||
"Remarks": "備考",
|
||||
"Notify Customer": "顧客に通知する",
|
||||
"Order Status Filter": "注文ステータスフィルタ",
|
||||
"Choose the environment for API calls": "API 呼び出しの環境を選択してください",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "注文の請求額。小数点以下を2桁まで入力してください。(例:10.15 はRs 10 と 15 paisa)",
|
||||
"Currency for the order": "注文の通貨",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "顧客に一意の識別子です。英数字のみを使用してください (3〜50文字)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "お客様の電話番号(10桁以上)。国際番号の場合は、接頭辞に +",
|
||||
"Customer email address (3-100 characters)": "顧客メールアドレス (3-100文字)",
|
||||
"Name of the customer (3-100 characters)": "顧客の名前 (3-100文字)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "お客様の銀行口座。TPV(第三者認証)(3-20文字)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "顧客銀行 IFSC TPV に必要な(第三者認証)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "顧客の銀行コード。TPVによるネットバンキングの支払いに必要です。",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "システムの注文識別子。アルファベット、\"_\"と\"-\"のみ (3-45文字) が指定されていない場合は自動生成されます。",
|
||||
"Order note for reference (3-200 characters)": "注文番号 (3-200 文字)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "支払い完了後に顧客にリダイレクトするURL (最大250文字)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "サーバー間通知の HTTPS URL (最大 250 文字)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "カンマ区切りの値: cc,dc,cc,ppc,nb,upi,paypal,app,paylater,cardlessemi,ccemi,banktransfer",
|
||||
"Name of the cart": "カートの名前",
|
||||
"Note from customer": "顧客からのメモ",
|
||||
"Shipping charges for the order": "注文の配送料金",
|
||||
"Full name for shipping address": "配送先住所のフルネーム",
|
||||
"Country for shipping address": "配送先住所の国",
|
||||
"City for shipping address": "配送先住所の市区町村名",
|
||||
"State for shipping address": "配送先住所の状態",
|
||||
"Pincode for shipping address": "配送先住所のピンコード",
|
||||
"Primary address line for shipping": "配送先のプライマリアドレス",
|
||||
"Secondary address line for shipping": "配送先のセカンダリアドレス",
|
||||
"Full name for billing address": "請求先住所のフルネーム",
|
||||
"Country for billing address": "請求先住所の国",
|
||||
"City for billing address": "請求先住所の都市",
|
||||
"State for billing address": "請求先住所の状態",
|
||||
"Pincode for billing address": "Pincode for billing address",
|
||||
"Primary address line for billing": "請求先住所行",
|
||||
"Secondary address line for billing": "請求先のセカンダリアドレス",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "SoftPOS 注文の端末のタイプ (例: SPOS) (4-10 文字)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "マーチャントリファレンスのターミナル ID (3-100 文字)",
|
||||
"Mobile number of the terminal/agent/storefront": "端末/エージェント/ストアフロントの携帯番号",
|
||||
"Name of terminal/agent/storefront": "端末/エージェント/店舗名",
|
||||
"Location of terminal": "端末の場所",
|
||||
"Note given by merchant while creating the terminal": "端末の作成中にマーチャントが与えたメモ",
|
||||
"Enable One Click Checkout feature": "ワンクリックチェックアウト機能を有効にする",
|
||||
"Enable Verify and Pay feature": "確認と支払い機能を有効にする",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "JSON オブジェクトとしてカスタムタグ。例:{\"product\":\"Laptop\",\"city\":\"Bangalore\"}。最大 10 個のタグ",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "このリンクを使用して収集される金額。支払いのために最大2つの小数点以下を提供してください",
|
||||
"Currency for the payment link": "支払いリンクの通貨",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "支払いを受け取る必要がある簡単な説明(500文字まで)",
|
||||
"Customer phone number (required)": "顧客電話番号 (必須)",
|
||||
"Customer email address": "顧客のメールアドレス",
|
||||
"Customer name": "顧客名",
|
||||
"Customer bank account number": "顧客の銀行口座番号",
|
||||
"Customer bank IFSC code": "Customer bank IFSC code",
|
||||
"Customer bank code for net banking": "ネットバンキングのお客様の銀行コード",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "リンクの一意の識別子。アルファベット、\"-\" と \"_\" のみ (最大 50 文字) 自動生成されます。",
|
||||
"Allow customers to make partial payments for the link": "顧客にリンクの部分的な支払いを許可する",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "最初の分割払いの最小金額 (一部支払いが有効な場合は必須)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "ISO 8601形式。例:2021-07-02T10:20:12+05:30。標準は30日です。",
|
||||
"Send SMS notification to customer phone": "SMS通知を顧客の電話に送信",
|
||||
"Send email notification to customer email": "顧客のメールにメール通知を送信する",
|
||||
"Send automatic reminders to customers for payment collection": "自動リマインダーを顧客に送信して支払いコレクションを表示",
|
||||
"HTTPS URL for server-to-server notifications": "サーバー間通知の HTTPS URL",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "支払い完了後にユーザーをリダイレクトするURL (最大250文字)",
|
||||
"Directly open UPI Intent flow on mobile devices": "モバイルデバイスで UPI Intent flow を直接開く",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "カンマ区切りの値: cc,dc,ccc,ppc,nb,upi,paypal,app. すべてのメソッドは空白のままにする",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "JSON としてのキーと値のペア。最大 5 つのキーと値のペア。例: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "簡単な分割のためのJSON配列。例:[{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "注文を一意に識別するID",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "払い戻し金額。取引金額以下である必要があります。(小数点以下)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "返金に関連付けられるユニークなID。英数字を入力してください(3-40文字)",
|
||||
"A refund note for your reference (3-100 characters)": "ご参照の返金ノート (3〜100文字)",
|
||||
"Speed at which the refund is processed": "返金処理の速度",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "ベンダ分割のJSON配列。例:[{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "JSON 形式のカスタムタグ {\"key\":\"value\"}. 許可される最大10個のタグ. 例: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "API コールの ID をリクエストします。技術的な問題を解決するために使用できます。",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "リクエストが失敗した場合やタイムアウトした場合に重複するアクションを避けるためのUUID形式のidempotencyキー",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "キャンセルしたい支払リンクID。アクティブリンクのみキャンセルできます。",
|
||||
"The payment link ID for which you want to view the details": "詳細を表示したい支払リンクID",
|
||||
"UUID format idempotency key for request deduplication": "UUID format idempotency key for request deplicuplication",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "キャッシュグラムのユニークなID。アルファベット、アンダースコア(_)、ハイフン(-)を使用可能(35文字制限)",
|
||||
"Amount to be transferred (minimum 1.00)": "送金額(最低1.00)",
|
||||
"Name of the contact": "連絡先の名前",
|
||||
"Phone number of the contact": "連絡先の電話番号",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "キャッシュグラムリンクの有効期限が切れる日付。フォーマット:YYYY/MM/DD (作成から最大30日間)",
|
||||
"Email of the contact": "連絡先のメールアドレス",
|
||||
"Specify remarks, if any": "コメントを指定します。",
|
||||
"If enabled, a link is sent to customer phone and email": "有効にすると、リンクがお客様の電話とメールに送信されます",
|
||||
"The payment link ID for which you want to view the order details": "注文の詳細を表示する支払リンクID",
|
||||
"Filter orders by status (default is PAID)": "ステータスで注文をフィルター (デフォルトはPAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "無効にするキャッシュグラムのID。半角英数字とアンダースコア(_)は許可されています (35文字制限)",
|
||||
"Sandbox": "Sandbox",
|
||||
"Production": "Production",
|
||||
"Indian Rupee (INR)": "インド ルピー (INR)",
|
||||
"US Dollar (USD)": "米ドル (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "British Pound (GBP)",
|
||||
"State Bank of India (3003)": "インド州立銀行(3003)",
|
||||
"HDFC Bank (3005)": "HDFC バンク (3005)",
|
||||
"ICICI Bank (3006)": "ICICI Bank (3006)",
|
||||
"Axis Bank (3010)": "アクシスバンク (3010)",
|
||||
"Punjab National Bank (3012)": "パンジャブ国立銀行 (3012)",
|
||||
"Bank of Baroda (3016)": "Baroda 銀行(3016)",
|
||||
"Canara Bank (3019)": "カナラ・バンク(3019)",
|
||||
"Union Bank of India (3020)": "インド連合銀行(3020)",
|
||||
"Bank of India (3021)": "インド銀行(3021)",
|
||||
"Central Bank of India (3022)": "インド中央銀行(3022件)",
|
||||
"Indian Bank (3023)": "インディアン銀行 (3023)",
|
||||
"Indian Overseas Bank (3024)": "インド海外銀行(3024)",
|
||||
"UCO Bank (3026)": "UCO Bank (3026)",
|
||||
"Bank of Maharashtra (3027)": "マハラシュトラ銀行(3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "IDBI銀行(3029)",
|
||||
"Federal Bank (3030)": "Federal Bank (3030)",
|
||||
"South Indian Bank (3031)": "南インド銀行(3031)",
|
||||
"IndusInd Bank (3032)": "IndusInd Bank (3032)",
|
||||
"YES Bank (3033)": "YES銀行 (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Kotak Mahindra Bank (7001)",
|
||||
"Standard": "標準",
|
||||
"Instant": "インスタント",
|
||||
"All Orders": "すべての注文",
|
||||
"Paid Orders Only": "有料注文のみ"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Integratie van Cashfree betalingen voor het verwerken van betalingen, terugbetalingen en het beheren van betalingslinks en cashgrams.",
|
||||
"Cashfree Client ID": "Cashfree Client-ID",
|
||||
"Cashfree Client Secret": "Cashfree Client Secret",
|
||||
"Your Cashfree Client ID": "Uw Cashfree Client ID",
|
||||
"Your Cashfree Client Secret": "Uw Cashfree Client geheim",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "Bestelling aanmaken",
|
||||
"Create Payment Link": "Maak Payment Link",
|
||||
"Create Refund": "Restitutie aanmaken",
|
||||
"Cancel Payment Link": "Betalingslink annuleren",
|
||||
"Fetch Payment Link Details": "Ophalen Payment Link Details",
|
||||
"Create Cashgram": "Aanmaken Cashgram",
|
||||
"Get Orders for Payment Link": "Haal orders op voor Betalingslink",
|
||||
"Get All Refunds for Order": "Krijg alle terugbetalingen voor bestelling",
|
||||
"Deactivate Cashgram": "Cashgram deactiveren",
|
||||
"Creates an order in Cashfree Payment Gateway": "Maakt een bestelling aan in Cashfree Payment Gateway",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Maakt een betalingslink in Cashfree Payment Gateway",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Begin een terugbetaling voor een Cashfree order. Terugbetalingen kunnen slechts binnen zes maanden na de oorspronkelijke transactie worden gestart.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Annuleer een betalingslink in Cashfree Payment Gateway. Alleen koppelingen in ACTIVE status kunnen worden geannuleerd.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "Bekijk alle details en status van een betalingslink in Cashfree Payment Gateway",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Maak een Cashgram voor onmiddellijke geldovermakingen met behulp van Cashfree",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "Bekijk alle besteldetails voor een betalingslink in Cashfree Payment Gateway",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Haal alle restituties op die verwerkt zijn in een order in Cashfree Payment Gateway",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Deactiveer een Cashgram om verdere inwisselingen te voorkomen met behulp van Cashfree",
|
||||
"Environment": "Milieu",
|
||||
"Order Amount": "Bedrag bestelling",
|
||||
"Order Currency": "Bestelling valuta",
|
||||
"Customer ID": "Klant ID",
|
||||
"Customer Phone": "Telefoon klant",
|
||||
"Customer Email": "Klant e-mail",
|
||||
"Customer Name": "Klant naam",
|
||||
"Customer Bank Account Number": "Klant bank rekeningnummer",
|
||||
"Customer Bank IFSC": "IFSC klant",
|
||||
"Customer Bank Code": "Code klant",
|
||||
"Order ID": "Bestelling ID",
|
||||
"Order Note": "Bestelling notitie",
|
||||
"Order Expiry Time": "Vervaltijd bestelling",
|
||||
"Return URL": "Retour URL",
|
||||
"Notify URL": "Notificatie URL",
|
||||
"Payment Methods": "Betalingsmethoden",
|
||||
"Cart Name": "Winkelwagen naam",
|
||||
"Customer Note": "Opmerking klant",
|
||||
"Shipping Charge": "Verzendkosten kosten",
|
||||
"Shipping - Full Name": "Verzending - Volledige naam",
|
||||
"Shipping - Country": "Verzending - Land",
|
||||
"Shipping - City": "Verzending - Plaats",
|
||||
"Shipping - State": "Verzending - Staat",
|
||||
"Shipping - Pincode": "Verzending - Pincode",
|
||||
"Shipping - Address Line 1": "Verzending - Adresregel 1",
|
||||
"Shipping - Address Line 2": "Verzending - Adresregel 2",
|
||||
"Billing - Full Name": "Facturering - Volledige Naam",
|
||||
"Billing - Country": "Facturering - Land",
|
||||
"Billing - City": "Facturering - Plaats",
|
||||
"Billing - State": "Factuur - Provincie",
|
||||
"Billing - Pincode": "Factuur - Pincode",
|
||||
"Billing - Address Line 1": "Facturering - adres regel 1",
|
||||
"Billing - Address Line 2": "Facturering - Adresregel 2",
|
||||
"Terminal Type": "Terminal type",
|
||||
"Terminal ID": "Terminal ID",
|
||||
"Terminal Phone Number": "Terminal telefoonnummer",
|
||||
"Terminal Name": "Terminal Naam",
|
||||
"Terminal Address": "Terminal adres",
|
||||
"Terminal Note": "Terminal notitie",
|
||||
"Enable One Click Checkout": "Schakel One Click Checkout in",
|
||||
"Enable Verify and Pay": "Verificatie en betalen inschakelen",
|
||||
"Order Tags": "Tags bestellen",
|
||||
"Link Amount": "Link hoeveelheid",
|
||||
"Link Currency": "Valuta koppelen",
|
||||
"Link Purpose": "Link Doel",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Gedeeltelijke betalingen inschakelen",
|
||||
"Minimum Partial Amount": "Minimum gedeeltelijk bedrag",
|
||||
"Link Expiry Time": "Link Vervaltijd",
|
||||
"Send SMS Notification": "Stuur SMS Notificatie",
|
||||
"Send Email Notification": "Stuur e-mail notificatie",
|
||||
"Auto Reminders": "Automatische herinneringen",
|
||||
"UPI Intent": "UPI Intent",
|
||||
"Link Notes": "Link notities",
|
||||
"Order Splits": "Splits bestellen",
|
||||
"Refund Amount": "Restitutie bedrag",
|
||||
"Refund ID": "Restitutie ID",
|
||||
"Refund Note": "Restitutie notitie",
|
||||
"Refund Speed": "Restitutie snelheid",
|
||||
"Refund Splits": "Restitutie splitsingen",
|
||||
"Custom Tags": "Aangepaste tags",
|
||||
"Request ID": "ID aanvragen",
|
||||
"Idempotency Key": "Idempotentie Sleutel",
|
||||
"Payment Link ID": "Betalingslink ID",
|
||||
"Cashgram ID": "Cashgram ID",
|
||||
"Amount": "Hoeveelheid",
|
||||
"Contact Name": "Naam contactpersoon",
|
||||
"Phone Number": "Telefoon nummer",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "E-mail",
|
||||
"Remarks": "Opmerkingen",
|
||||
"Notify Customer": "Informeer klant",
|
||||
"Order Status Filter": "Sorteerstatus filter",
|
||||
"Choose the environment for API calls": "Kies de omgeving voor API-aanroepen",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Rekeningbedrag voor de bestelling. Geef tot maximaal twee decimalen (vb. 10.15 betekent Rs 10 en 15 paisa)",
|
||||
"Currency for the order": "Valuta voor de bestelling",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "Een unieke id voor de klant. Gebruik alleen alfanumerieke waarden (3-50 tekens)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Telefoonnummer klant (minimum 10 cijfers). Voor internationale nummers, prefix met +",
|
||||
"Customer email address (3-100 characters)": "E-mailadres klant (3-100 tekens)",
|
||||
"Name of the customer (3-100 characters)": "Naam van de klant (3-100 tekens)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Klant bankrekening. Vereist voor TPV (Verificatie derde) (3-20 tekens)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Klantenbank IFSC. Vereist voor TPV (verificatie door derden)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Klant bank code. Vereist voor netto bankbetalingen met TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Order-id in uw systeem. Alleen Alfanumeriek, \"_\" en \"-\" (3-45 tekens). Zal automatisch gegenereerd worden indien niet opgegeven",
|
||||
"Order note for reference (3-200 characters)": "Bestelnotitie voor referentie (3-200 tekens)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL om de klant te omleiden na voltooiing van de betaling (max 250 tekens)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "HTTPS URL voor server-naar-server meldingen (max 250 tekens)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Komma-gescheiden waarden: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,bankoverschrijving",
|
||||
"Name of the cart": "Naam van de winkelwagen",
|
||||
"Note from customer": "Notitie van klant",
|
||||
"Shipping charges for the order": "Verzendkosten voor de bestelling",
|
||||
"Full name for shipping address": "Volledige naam voor verzendadres",
|
||||
"Country for shipping address": "Land voor verzendadres",
|
||||
"City for shipping address": "Woonplaats voor verzendadres",
|
||||
"State for shipping address": "Staat voor verzendadres",
|
||||
"Pincode for shipping address": "Pincode voor verzendadres",
|
||||
"Primary address line for shipping": "Primaire adresregel voor verzending",
|
||||
"Secondary address line for shipping": "Secundaire adresregel voor verzending",
|
||||
"Full name for billing address": "Volledige naam voor het factuuradres",
|
||||
"Country for billing address": "Land voor factuuradres",
|
||||
"City for billing address": "Plaats voor het factuuradres",
|
||||
"State for billing address": "Staat voor het factuuradres",
|
||||
"Pincode for billing address": "Pincode voor het factuuradres",
|
||||
"Primary address line for billing": "Primaire adresregel voor facturering",
|
||||
"Secondary address line for billing": "Secundaire adresregel voor facturering",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Type terminal (bijv. SPOS) voor SoftPOS orders (4-10 tekens)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "Terminal ID voor handelaarsreferentie (3-100 tekens)",
|
||||
"Mobile number of the terminal/agent/storefront": "Mobiel nummer van de terminal/agent/storefront",
|
||||
"Name of terminal/agent/storefront": "Naam van terminal/agent/storefront",
|
||||
"Location of terminal": "Locatie van terminal",
|
||||
"Note given by merchant while creating the terminal": "Notitie gegeven door verkoper tijdens het maken van de terminal",
|
||||
"Enable One Click Checkout feature": "Schakel One Click Checkout functie in",
|
||||
"Enable Verify and Pay feature": "Schakel de functie Verificatie en Betaal in",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Aangepaste tags als JSON object. Voorbeeld: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximaal 10 tags",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Bedrag dat wordt verzameld met deze link. Geef tot twee decimalen om te plakken",
|
||||
"Currency for the payment link": "Valuta voor de betalingslink",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "Een korte beschrijving waarvoor de betaling moet worden geïnd (max 500 tekens)",
|
||||
"Customer phone number (required)": "Klant telefoonnummer (verplicht)",
|
||||
"Customer email address": "Klant e-mail adres",
|
||||
"Customer name": "Klant naam",
|
||||
"Customer bank account number": "Klant bankrekening nummer",
|
||||
"Customer bank IFSC code": "IFSC-code klant bank",
|
||||
"Customer bank code for net banking": "Code klant bank voor netto bankieren",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Unieke identifier voor de link. Alfanumeriek, \"-\" en \"_\" alleen (max 50 tekens). Automatisch gegenereerd indien niet opgegeven",
|
||||
"Allow customers to make partial payments for the link": "Sta klanten toe om gedeeltelijke betalingen te doen voor de link",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Minimaal bedrag in de eerste termijn (vereist als gedeeltelijke betalingen zijn ingeschakeld)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "ISO 8601 formaat. Voorbeeld: 2021-07-02T10:20:12+05:30. Standaard is 30 dagen",
|
||||
"Send SMS notification to customer phone": "Stuur een SMS-melding naar een klanttelefoon",
|
||||
"Send email notification to customer email": "Stuur e-mail notificatie naar de klant e-mail",
|
||||
"Send automatic reminders to customers for payment collection": "Stuur automatische herinneringen aan klanten voor het ontvangen van betaling",
|
||||
"HTTPS URL for server-to-server notifications": "HTTPS URL voor server-naar-server meldingen",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL om gebruiker door te verwijzen na voltooiing van de betaling (max 250 tekens)",
|
||||
"Directly open UPI Intent flow on mobile devices": "Direct UPI intent flow op mobiele apparaten openen",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Kommagescheiden waarden: cc,dc,ccc,ppc,nb,upi,paypal,app. Laat leeg voor alle methoden",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Key-value paren als JSON. Maximale 5 key-value paren. Voorbeeld: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "JSON array voor Easy Split. Voorbeeld: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "Het ID dat uw bestelling uniek identificeert",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Te betalen bedrag. Moet minder dan of gelijk zijn aan het transactiebedrag. (Decimalen toegestaan)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "Een unieke ID om de restitutie mee te koppelen. Geef alfanumerieke waarden (3-40 tekens)",
|
||||
"A refund note for your reference (3-100 characters)": "Een teruggavenotitie voor uw referentie (3-100 tekens)",
|
||||
"Speed at which the refund is processed": "Snelheid waarmee de restitutie wordt verwerkt",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "JSON array voor splitsingen. Voorbeeld: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Aangepaste Tags in JSON formaat {\"key\":\"value\"}. Maximum 10 tags toegestaan. Voorbeeld: {\"terugbetaling_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "Aanvraag ID voor de API-oproep. Kan worden gebruikt om technische problemen op te lossen",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "UUID formaat idempotency key om dubbele acties te voorkomen als de aanvraag mislukt of keer uit is",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "De betalings link ID die u wilt annuleren. Alleen ACTIVE links kunnen worden geannuleerd.",
|
||||
"The payment link ID for which you want to view the details": "De betalings link ID waarvoor u de details wilt bekijken",
|
||||
"UUID format idempotency key for request deduplication": "UUID formaat idempotency key voor verzoek deduplicatie",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "Unieke ID van de Cashgram. Alfanumeriek, underscore (_) en afbreekstreepje (-) toegestaan (35 tekens limiet)",
|
||||
"Amount to be transferred (minimum 1.00)": "Te overdragen bedrag (minimum 1.00)",
|
||||
"Name of the contact": "Naam van de contactpersoon",
|
||||
"Phone number of the contact": "Telefoonnummer van de contactpersoon",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Datum waarop de cashgram link verloopt. Formaat: JJJJJ/MM/DD (maximaal 30 dagen van creatie)",
|
||||
"Email of the contact": "E-mail van de contactpersoon",
|
||||
"Specify remarks, if any": "Geef opmerkingen, indien van toepassing,",
|
||||
"If enabled, a link is sent to customer phone and email": "Indien ingeschakeld wordt een link verzonden naar de telefoon en e-mail van de klant",
|
||||
"The payment link ID for which you want to view the order details": "De betalings link ID waarvoor u de orderdetails wilt bekijken",
|
||||
"Filter orders by status (default is PAID)": "Bestellingen filteren op status (standaard is PAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID van de Cashgram om te deactiveren. Alfanumeriek en onderstrepingsteken (_) toegestaan (35 tekens limiet)",
|
||||
"Sandbox": "Zanddoos",
|
||||
"Production": "Productie",
|
||||
"Indian Rupee (INR)": "Indiase Rupee (INR)",
|
||||
"US Dollar (USD)": "Amerikaanse Dollar (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "Britse pond (GBP)",
|
||||
"State Bank of India (3003)": "Staatbank van India (3003)",
|
||||
"HDFC Bank (3005)": "HDFC Bank (3005)",
|
||||
"ICICI Bank (3006)": "ICICICI Bank (3006)",
|
||||
"Axis Bank (3010)": "As bank (3010)",
|
||||
"Punjab National Bank (3012)": "Punjab Nationale Bank (3012)",
|
||||
"Bank of Baroda (3016)": "Bank van Baroda (3016)",
|
||||
"Canara Bank (3019)": "Canara Bank (3019)",
|
||||
"Union Bank of India (3020)": "Unie Bank van India (3020)",
|
||||
"Bank of India (3021)": "Bank van India (3021)",
|
||||
"Central Bank of India (3022)": "Centrale Bank van India (3022)",
|
||||
"Indian Bank (3023)": "Indische bank (3023)",
|
||||
"Indian Overseas Bank (3024)": "Indische overzeese bank (3024)",
|
||||
"UCO Bank (3026)": "UCO Bank (3026)",
|
||||
"Bank of Maharashtra (3027)": "Bank van Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "IDBI Bank (3029)",
|
||||
"Federal Bank (3030)": "Federal Bank (3030)",
|
||||
"South Indian Bank (3031)": "Zuid-Indische Bank (3031)",
|
||||
"IndusInd Bank (3032)": "IndusInd Bank (3032)",
|
||||
"YES Bank (3033)": "JA bank (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Kotak Mahindra bank (7001)",
|
||||
"Standard": "Standaard",
|
||||
"Instant": "Onmiddellijk",
|
||||
"All Orders": "Alle bestellingen",
|
||||
"Paid Orders Only": "Alleen betaalde bestellingen"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Integração de pagamentos em dinheiro para processar pagamentos, reembolsos e gerenciar links de pagamento e cashgramas.",
|
||||
"Cashfree Client ID": "ID de Cliente Cashfree",
|
||||
"Cashfree Client Secret": "Segredo do Cliente Cashfree",
|
||||
"Your Cashfree Client ID": "Sua ID de Cliente Cashfree",
|
||||
"Your Cashfree Client Secret": "Seu Segredo de Cliente Cashfree",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Conecte sua conta Cashfree\n\n Este conector requer credenciais de API Cashfree (ID do Cliente e Segredo do Cliente). Importante: cada produto Cashfree é um produto separado e requer suas próprias credenciais. Por exemplo, a API de pagamentos e a API de pagamentos precisam cada um dos seus pares de ID do cliente/Segredo do cliente.\n\n Crie duas conexões (recomendado)\n - Para clareza e segurança, recomendamos criar duas conexões de peças ativas separadas:\n 1. **Conexão de pagamento** — use o ID do cliente API de Pagamentos / Segredo do Cliente. Use esta conexão para ações relacionadas a pagamentos (criar ordem, links de pagamento, reembolsos, etc. .\n 2. **Pagamentos de conexão** — use o ID de cliente API do pagamento / Segredo do cliente. Use essa conexão para Cashgram e outras ações relacionadas a pagamentos.\n\n Quais chaves usar\n - API de pagamentos: use as credenciais geradas para o produto de pagamentos.\n - API de pagamentos (necessário para ações do Cashgram): use credenciais geradas a partir do painel de pagamentos.\n\n Como gerar chaves de API:\n 1. Entre na sua conta Cashfree e abra o painel *Pagos*.\n 2. No painel de navegação, selecione **Desenvolvedores**.\n 3. Clique em **Chaves API**.\n 4. Clique em **Gerar chaves de API** na tela de chaves de API.\n 5. A janela de **Novas chaves de API** exibe o ID do cliente e o Segredo do cliente.\n 6. Clique em **Baixar chaves de API** para salvar as chaves localmente. Mantenha estes segredos — não compartilhe-as.\n\n\n\n",
|
||||
"Create Order": "Criar pedido",
|
||||
"Create Payment Link": "Criar Link de Pagamento",
|
||||
"Create Refund": "Criar reembolso",
|
||||
"Cancel Payment Link": "Cancelar Link de Pagamento",
|
||||
"Fetch Payment Link Details": "Buscar Detalhes do Link de Pagamento",
|
||||
"Create Cashgram": "Criar Cashgram",
|
||||
"Get Orders for Payment Link": "Obter Pedidos para Link de Pagamento",
|
||||
"Get All Refunds for Order": "Obter todos os reembolsos para o pedido",
|
||||
"Deactivate Cashgram": "Desativar Cashgram",
|
||||
"Creates an order in Cashfree Payment Gateway": "Cria um pedido no Cashfree Gateway de Pagamento",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Cria um link para pagamento no Cashfree Gateway de Pagamento",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Inicie um reembolso por uma ordem de Cashfree. Reembolsos só podem ser iniciados dentro de seis meses após a transação original.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Cancele um link de pagamento no Gateway de Pagamento Cashfree. Apenas links no status ATIVO podem ser cancelados.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "Veja todos os detalhes e status de um link de pagamento no Cashfree Gateway",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Crie um Cashgram para transferências instantâneas de dinheiro usando Cashfree",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "Veja todos os detalhes do pedido para um link de pagamento no Cashfree Gateway",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Obter todos os reembolsos processados contra um pedido no Cashfree Gateway de Pagamento",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Desative um Cashgram para evitar mais resgates usando Cashfree",
|
||||
"Environment": "Seguros",
|
||||
"Order Amount": "Quantidade do pedido",
|
||||
"Order Currency": "Moeda do Pedido",
|
||||
"Customer ID": "ID do cliente",
|
||||
"Customer Phone": "Telefone do Cliente",
|
||||
"Customer Email": "E-mail do Cliente",
|
||||
"Customer Name": "Nome do cliente",
|
||||
"Customer Bank Account Number": "Número da conta bancária do cliente",
|
||||
"Customer Bank IFSC": "Banco de Clientes IFSC",
|
||||
"Customer Bank Code": "Código do banco do cliente",
|
||||
"Order ID": "ID da encomenda",
|
||||
"Order Note": "Observação do pedido",
|
||||
"Order Expiry Time": "Validade do pedido",
|
||||
"Return URL": "URL de retorno",
|
||||
"Notify URL": "URL de notificação",
|
||||
"Payment Methods": "Métodos de pagamento",
|
||||
"Cart Name": "Nome do Carrinho",
|
||||
"Customer Note": "Nota do Cliente",
|
||||
"Shipping Charge": "Custo de Envio",
|
||||
"Shipping - Full Name": "Envio - Nome Completo",
|
||||
"Shipping - Country": "Envio - País",
|
||||
"Shipping - City": "Envio - Cidade",
|
||||
"Shipping - State": "Envio - Estado",
|
||||
"Shipping - Pincode": "Entrega - Pincode",
|
||||
"Shipping - Address Line 1": "Envio - Endereço Linha 1",
|
||||
"Shipping - Address Line 2": "Envio - Endereço Linha 2",
|
||||
"Billing - Full Name": "Faturamento - Nome Completo",
|
||||
"Billing - Country": "Faturamento - País",
|
||||
"Billing - City": "Faturamento - Cidade",
|
||||
"Billing - State": "Faturamento - Estado",
|
||||
"Billing - Pincode": "Faturamento - Pincode",
|
||||
"Billing - Address Line 1": "Faturamento - Linha de Endereço 1",
|
||||
"Billing - Address Line 2": "Faturamento - Linha de Endereço 2",
|
||||
"Terminal Type": "Tipo de Terminal",
|
||||
"Terminal ID": "ID do Terminal",
|
||||
"Terminal Phone Number": "Número de telefone terminal",
|
||||
"Terminal Name": "Nome do Terminal",
|
||||
"Terminal Address": "Endereço do Terminal",
|
||||
"Terminal Note": "Nota do Terminal",
|
||||
"Enable One Click Checkout": "Habilitar Um Clique para Checkout",
|
||||
"Enable Verify and Pay": "Habilitar Verificação e Pagamento",
|
||||
"Order Tags": "Tags do Pedido",
|
||||
"Link Amount": "Valor do link",
|
||||
"Link Currency": "Vincular Moeda",
|
||||
"Link Purpose": "Finalidade do Link",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Habilitar pagamentos parciais",
|
||||
"Minimum Partial Amount": "Valor Parcial Mínimo",
|
||||
"Link Expiry Time": "Validade do link",
|
||||
"Send SMS Notification": "Enviar Notificação por SMS",
|
||||
"Send Email Notification": "Enviar Notificação por E-mail",
|
||||
"Auto Reminders": "Lembretes automáticos",
|
||||
"UPI Intent": "Envio UPI",
|
||||
"Link Notes": "Notas de ligação",
|
||||
"Order Splits": "Divisão de ordem",
|
||||
"Refund Amount": "Montante do reembolso",
|
||||
"Refund ID": "ID de reembolso",
|
||||
"Refund Note": "Nota de reembolso",
|
||||
"Refund Speed": "Velocidade de Reembolso",
|
||||
"Refund Splits": "Reembolso de divisões",
|
||||
"Custom Tags": "Tags personalizadas",
|
||||
"Request ID": "Solicitar ID",
|
||||
"Idempotency Key": "Chave de Idempotência",
|
||||
"Payment Link ID": "ID Link de Pagamento",
|
||||
"Cashgram ID": "ID do Cashgram",
|
||||
"Amount": "Quantidade",
|
||||
"Contact Name": "Nome do contato",
|
||||
"Phone Number": "Número de telefone",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "e-mail",
|
||||
"Remarks": "Observações",
|
||||
"Notify Customer": "Notificar o cliente",
|
||||
"Order Status Filter": "Filtrar Status de Pedido",
|
||||
"Choose the environment for API calls": "Escolha o ambiente para chamadas de API",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Valor da fatura para a ordem. Forneça até dois decimais (por exemplo, 10,15 significa Rs 10 e 15 paisas)",
|
||||
"Currency for the order": "Moeda para o pedido",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "Um identificador exclusivo para o cliente. Usar apenas valores alfanuméricos (3-50 caracteres)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Número de telefone do cliente (mínimo de 10 dígitos). Para números internacionais, prefixo com +",
|
||||
"Customer email address (3-100 characters)": "Endereço de e-mail do cliente (3-100 caracteres)",
|
||||
"Name of the customer (3-100 characters)": "Nome do cliente (3-100 caracteres)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Conta bancária do cliente. Obrigatório para TPV (verificação de terceiros) (3-20 caracteres)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Banco de clientes IFSC. Necessário para TPV (verificação de terceiros)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Código do banco do cliente. Obrigatório para pagamentos bancários líquidos com TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Identificador de pedido em seu sistema. Alfanumeric, \"_\" e \"-\" apenas (3-45 caracteres). Será gerado automaticamente se não for fornecido",
|
||||
"Order note for reference (3-200 characters)": "Nota do pedido para referência (3-200 caracteres)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL para redirecionar o cliente após a conclusão do pagamento (máximo de 250 caracteres)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "URL HTTPS para notificações de servidor para servidor (máximo de 250 caracteres)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Valores separados por vírgula: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,transferência bancária",
|
||||
"Name of the cart": "Nome do carrinho",
|
||||
"Note from customer": "Nota do cliente",
|
||||
"Shipping charges for the order": "Taxas de envio para o pedido",
|
||||
"Full name for shipping address": "Nome completo para o endereço de envio",
|
||||
"Country for shipping address": "País para endereço de entrega",
|
||||
"City for shipping address": "Cidade para endereço de envio",
|
||||
"State for shipping address": "Estado do endereço de envio",
|
||||
"Pincode for shipping address": "Código de entrega",
|
||||
"Primary address line for shipping": "Linha de endereço principal para envio",
|
||||
"Secondary address line for shipping": "Linha de endereço secundário para envio",
|
||||
"Full name for billing address": "Nome completo para o endereço de cobrança",
|
||||
"Country for billing address": "País para o endereço de cobrança",
|
||||
"City for billing address": "Cidade para o endereço de cobrança",
|
||||
"State for billing address": "Estado do endereço de cobrança",
|
||||
"Pincode for billing address": "Código de cobrança para o endereço",
|
||||
"Primary address line for billing": "Linha de endereço principal para cobrança",
|
||||
"Secondary address line for billing": "Linha de endereço secundário para cobrança",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Tipo de terminal (por exemplo, SPOS) para pedidos SoftPOS (4-10 caracteres)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "Terminal ID para referência de comerciante (3-100 caracteres)",
|
||||
"Mobile number of the terminal/agent/storefront": "Número do celular do terminal/agente/vitrine",
|
||||
"Name of terminal/agent/storefront": "Nome do terminal/agente/storefront",
|
||||
"Location of terminal": "Localização do terminal",
|
||||
"Note given by merchant while creating the terminal": "Nota fornecida pelo comerciante ao criar o terminal",
|
||||
"Enable One Click Checkout feature": "Ativar o recurso One Click Checkout",
|
||||
"Enable Verify and Pay feature": "Habilitar o recurso Verificar e Pagar",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Tags personalizadas como objeto JSON. Exemplo: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Máximo de 10 tags",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Valor a ser coletado usando este link. Forneça até dois decimais para pagar",
|
||||
"Currency for the payment link": "Moeda para o link de pagamento",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "Uma breve descrição para a qual o pagamento deve ser coletado (máximo de 500 caracteres)",
|
||||
"Customer phone number (required)": "Número de telefone do cliente (obrigatório)",
|
||||
"Customer email address": "E-mail do cliente",
|
||||
"Customer name": "Nome Cliente",
|
||||
"Customer bank account number": "Número da conta bancária do cliente",
|
||||
"Customer bank IFSC code": "Código IFSC do banco do cliente",
|
||||
"Customer bank code for net banking": "Código do banco do cliente para banco líquido",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Identificador único para o link. Alfanumérico, \"-\" e \"_\" apenas (máximo de 50 caracteres). Gerado automaticamente se não for fornecido",
|
||||
"Allow customers to make partial payments for the link": "Permitir que os clientes façam pagamentos parciais para o link",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Valor mínimo na primeira parcela (necessário se pagamentos parciais estiverem ativados)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "Formato ISO 8601. Exemplo: 2021-07-02T10:20:12+05:30. O padrão é 30 dias",
|
||||
"Send SMS notification to customer phone": "Enviar notificação SMS para o telefone do cliente",
|
||||
"Send email notification to customer email": "Enviar notificação por email para o e-mail do cliente",
|
||||
"Send automatic reminders to customers for payment collection": "Enviar lembretes automáticos para os clientes para coleta de pagamentos",
|
||||
"HTTPS URL for server-to-server notifications": "URL HTTPS para notificações de servidor para-servidor",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL para redirecionar o usuário após a conclusão do pagamento (máximo de 250 caracteres)",
|
||||
"Directly open UPI Intent flow on mobile devices": "Abrir diretamente o fluxo de Intenção do UPI em dispositivos móveis",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Valores separados por vírgula: cc,dc,ccc,ppc,nb,upi,paypal,app. Deixe em branco para todos os métodos",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Pares chave-valor como JSON. Máximo de 5 pares de valor-chave. Exemplo: {\"chave_1\":\"valor_1\",\"chave_2\":\"valor_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "Um array JSON para a Easy Split. Exemplo: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "O ID que identifica exclusivamente o seu pedido",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Valor a ser reembolsado. Deve ser menor ou igual ao valor da transação. (Números decimais permitidos)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "Um ID único com o qual será associado o reembolso. Forneça valores alfanuméricos (3-40 caracteres)",
|
||||
"A refund note for your reference (3-100 characters)": "Nota reembolsada para sua referência (3-100 caracteres)",
|
||||
"Speed at which the refund is processed": "Velocidade em que o reembolso é processado",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "Matriz JSON para divisões do fornecedor. Exemplo: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Tags personalizadas no formato JSON {\"chave\":\"valor\"}. São permitidos tags no máximo 10. Exemplo: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "ID de solicitação para a chamada API. Pode ser usado para resolver problemas tecnológicos",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "Chave de Idempotência no formato UUID para evitar ações duplicadas se o pedido falhar ou expirar",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "O ID do link de pagamento que você deseja cancelar. Somente links ATIVados podem ser cancelados.",
|
||||
"The payment link ID for which you want to view the details": "O ID do link de pagamento para o qual você deseja ver os detalhes",
|
||||
"UUID format idempotency key for request deduplication": "Chave de Idempotência no formato UUID para deduplicação de pedidos",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "ID Único do Cashgram. Alfanumérico, sublinhado (_) e hífen (-) são permitidos (limite de 35 caracteres)",
|
||||
"Amount to be transferred (minimum 1.00)": "Valor a ser transferido (mínimo 1.00)",
|
||||
"Name of the contact": "Nome do contato",
|
||||
"Phone number of the contact": "Número de telefone do contato",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Data para expirar o link do cashgrama. Formato: YYYY/MM/DD (máximo de 30 dias desde a criação)",
|
||||
"Email of the contact": "E-mail do contato",
|
||||
"Specify remarks, if any": "Especificar observações, se houver",
|
||||
"If enabled, a link is sent to customer phone and email": "Se ativado, um link é enviado para telefone e e-mail do cliente",
|
||||
"The payment link ID for which you want to view the order details": "O ID do link de pagamento para o qual você deseja ver os detalhes do pedido",
|
||||
"Filter orders by status (default is PAID)": "Filtrar pedidos por status (padrão é PAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID do Cashgram para ser desativado. Alfanumérico e sublinhado (_) são permitidos (limite de 35 caracteres)",
|
||||
"Sandbox": "Sandbox",
|
||||
"Production": "Produção",
|
||||
"Indian Rupee (INR)": "Rupia indiana (INR)",
|
||||
"US Dollar (USD)": "Dólar Americano (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "Libra britânica (GBP)",
|
||||
"State Bank of India (3003)": "Banco Estadual da Índia (3003)",
|
||||
"HDFC Bank (3005)": "Banco HDFC (3005)",
|
||||
"ICICI Bank (3006)": "Banco ICICI (3006)",
|
||||
"Axis Bank (3010)": "Banco Axis (3010)",
|
||||
"Punjab National Bank (3012)": "Banco Nacional de Punjab (3012)",
|
||||
"Bank of Baroda (3016)": "Banco de Baroda (3016)",
|
||||
"Canara Bank (3019)": "Banco de Canara (3019)",
|
||||
"Union Bank of India (3020)": "Banco da União da Índia (3020)",
|
||||
"Bank of India (3021)": "Banco da Índia (3021)",
|
||||
"Central Bank of India (3022)": "Banco Central da Índia (3022)",
|
||||
"Indian Bank (3023)": "Banco Indiano (3023)",
|
||||
"Indian Overseas Bank (3024)": "Banco Internacional Indiano (3024)",
|
||||
"UCO Bank (3026)": "Banco de UCO (3026)",
|
||||
"Bank of Maharashtra (3027)": "Banco de Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "Banco IDBI (3029)",
|
||||
"Federal Bank (3030)": "Banco Federal (3030)",
|
||||
"South Indian Bank (3031)": "Banco Indiano do Sul (3031)",
|
||||
"IndusInd Bank (3032)": "Banco IndusInd (3032)",
|
||||
"YES Bank (3033)": "Banco SIM (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Banco Kotak Mahindra (7001)",
|
||||
"Standard": "Padrão",
|
||||
"Instant": "Instantâneo",
|
||||
"All Orders": "Todas as encomendas",
|
||||
"Paid Orders Only": "Apenas Pedidos Pagos"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.",
|
||||
"Cashfree Client ID": "Cashfree Client ID",
|
||||
"Cashfree Client Secret": "Cashfree Client Secret",
|
||||
"Your Cashfree Client ID": "Your Cashfree Client ID",
|
||||
"Your Cashfree Client Secret": "Your Cashfree Client Secret",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "Create Order",
|
||||
"Create Payment Link": "Create Payment Link",
|
||||
"Create Refund": "Create Refund",
|
||||
"Cancel Payment Link": "Cancel Payment Link",
|
||||
"Fetch Payment Link Details": "Fetch Payment Link Details",
|
||||
"Create Cashgram": "Create Cashgram",
|
||||
"Get Orders for Payment Link": "Get Orders for Payment Link",
|
||||
"Get All Refunds for Order": "Get All Refunds for Order",
|
||||
"Deactivate Cashgram": "Deactivate Cashgram",
|
||||
"Creates an order in Cashfree Payment Gateway": "Creates an order in Cashfree Payment Gateway",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Creates a payment link in Cashfree Payment Gateway",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "View all details and status of a payment link in Cashfree Payment Gateway",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Create a Cashgram for instant money transfers using Cashfree",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "View all order details for a payment link in Cashfree Payment Gateway",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Fetch all refunds processed against an order in Cashfree Payment Gateway",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Deactivate a Cashgram to prevent further redemptions using Cashfree",
|
||||
"Environment": "Environment",
|
||||
"Order Amount": "Order Amount",
|
||||
"Order Currency": "Order Currency",
|
||||
"Customer ID": "Customer ID",
|
||||
"Customer Phone": "Customer Phone",
|
||||
"Customer Email": "Customer Email",
|
||||
"Customer Name": "Customer Name",
|
||||
"Customer Bank Account Number": "Customer Bank Account Number",
|
||||
"Customer Bank IFSC": "Customer Bank IFSC",
|
||||
"Customer Bank Code": "Customer Bank Code",
|
||||
"Order ID": "Order ID",
|
||||
"Order Note": "Order Note",
|
||||
"Order Expiry Time": "Order Expiry Time",
|
||||
"Return URL": "Return URL",
|
||||
"Notify URL": "Notify URL",
|
||||
"Payment Methods": "Payment Methods",
|
||||
"Cart Name": "Cart Name",
|
||||
"Customer Note": "Customer Note",
|
||||
"Shipping Charge": "Shipping Charge",
|
||||
"Shipping - Full Name": "Shipping - Full Name",
|
||||
"Shipping - Country": "Shipping - Country",
|
||||
"Shipping - City": "Shipping - City",
|
||||
"Shipping - State": "Shipping - State",
|
||||
"Shipping - Pincode": "Shipping - Pincode",
|
||||
"Shipping - Address Line 1": "Shipping - Address Line 1",
|
||||
"Shipping - Address Line 2": "Shipping - Address Line 2",
|
||||
"Billing - Full Name": "Billing - Full Name",
|
||||
"Billing - Country": "Billing - Country",
|
||||
"Billing - City": "Billing - City",
|
||||
"Billing - State": "Billing - State",
|
||||
"Billing - Pincode": "Billing - Pincode",
|
||||
"Billing - Address Line 1": "Billing - Address Line 1",
|
||||
"Billing - Address Line 2": "Billing - Address Line 2",
|
||||
"Terminal Type": "Terminal Type",
|
||||
"Terminal ID": "Terminal ID",
|
||||
"Terminal Phone Number": "Terminal Phone Number",
|
||||
"Terminal Name": "Terminal Name",
|
||||
"Terminal Address": "Terminal Address",
|
||||
"Terminal Note": "Terminal Note",
|
||||
"Enable One Click Checkout": "Enable One Click Checkout",
|
||||
"Enable Verify and Pay": "Enable Verify and Pay",
|
||||
"Order Tags": "Order Tags",
|
||||
"Link Amount": "Link Amount",
|
||||
"Link Currency": "Link Currency",
|
||||
"Link Purpose": "Link Purpose",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Enable Partial Payments",
|
||||
"Minimum Partial Amount": "Minimum Partial Amount",
|
||||
"Link Expiry Time": "Link Expiry Time",
|
||||
"Send SMS Notification": "Send SMS Notification",
|
||||
"Send Email Notification": "Send Email Notification",
|
||||
"Auto Reminders": "Auto Reminders",
|
||||
"UPI Intent": "UPI Intent",
|
||||
"Link Notes": "Link Notes",
|
||||
"Order Splits": "Order Splits",
|
||||
"Refund Amount": "Refund Amount",
|
||||
"Refund ID": "Refund ID",
|
||||
"Refund Note": "Refund Note",
|
||||
"Refund Speed": "Refund Speed",
|
||||
"Refund Splits": "Refund Splits",
|
||||
"Custom Tags": "Custom Tags",
|
||||
"Request ID": "Request ID",
|
||||
"Idempotency Key": "Idempotency Key",
|
||||
"Payment Link ID": "Payment Link ID",
|
||||
"Cashgram ID": "Cashgram ID",
|
||||
"Amount": "Amount",
|
||||
"Contact Name": "Contact Name",
|
||||
"Phone Number": "Phone Number",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "Email",
|
||||
"Remarks": "Remarks",
|
||||
"Notify Customer": "Notify Customer",
|
||||
"Order Status Filter": "Order Status Filter",
|
||||
"Choose the environment for API calls": "Choose the environment for API calls",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)",
|
||||
"Currency for the order": "Currency for the order",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "A unique identifier for the customer. Use alphanumeric values only (3-50 characters)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Customer phone number (minimum 10 digits). For international numbers, prefix with +",
|
||||
"Customer email address (3-100 characters)": "Customer email address (3-100 characters)",
|
||||
"Name of the customer (3-100 characters)": "Name of the customer (3-100 characters)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Customer bank IFSC. Required for TPV (Third Party Verification)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Customer bank code. Required for net banking payments with TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided",
|
||||
"Order note for reference (3-200 characters)": "Order note for reference (3-200 characters)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL to redirect customer after payment completion (max 250 characters)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "HTTPS URL for server-to-server notifications (max 250 characters)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer",
|
||||
"Name of the cart": "Name of the cart",
|
||||
"Note from customer": "Note from customer",
|
||||
"Shipping charges for the order": "Shipping charges for the order",
|
||||
"Full name for shipping address": "Full name for shipping address",
|
||||
"Country for shipping address": "Country for shipping address",
|
||||
"City for shipping address": "City for shipping address",
|
||||
"State for shipping address": "State for shipping address",
|
||||
"Pincode for shipping address": "Pincode for shipping address",
|
||||
"Primary address line for shipping": "Primary address line for shipping",
|
||||
"Secondary address line for shipping": "Secondary address line for shipping",
|
||||
"Full name for billing address": "Full name for billing address",
|
||||
"Country for billing address": "Country for billing address",
|
||||
"City for billing address": "City for billing address",
|
||||
"State for billing address": "State for billing address",
|
||||
"Pincode for billing address": "Pincode for billing address",
|
||||
"Primary address line for billing": "Primary address line for billing",
|
||||
"Secondary address line for billing": "Secondary address line for billing",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "Terminal ID for merchant reference (3-100 characters)",
|
||||
"Mobile number of the terminal/agent/storefront": "Mobile number of the terminal/agent/storefront",
|
||||
"Name of terminal/agent/storefront": "Name of terminal/agent/storefront",
|
||||
"Location of terminal": "Location of terminal",
|
||||
"Note given by merchant while creating the terminal": "Note given by merchant while creating the terminal",
|
||||
"Enable One Click Checkout feature": "Enable One Click Checkout feature",
|
||||
"Enable Verify and Pay feature": "Enable Verify and Pay feature",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Amount to be collected using this link. Provide up to two decimals for paise",
|
||||
"Currency for the payment link": "Currency for the payment link",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "A brief description for which payment must be collected (max 500 characters)",
|
||||
"Customer phone number (required)": "Customer phone number (required)",
|
||||
"Customer email address": "Customer email address",
|
||||
"Customer name": "Customer name",
|
||||
"Customer bank account number": "Customer bank account number",
|
||||
"Customer bank IFSC code": "Customer bank IFSC code",
|
||||
"Customer bank code for net banking": "Customer bank code for net banking",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided",
|
||||
"Allow customers to make partial payments for the link": "Allow customers to make partial payments for the link",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Minimum amount in first installment (required if partial payments enabled)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days",
|
||||
"Send SMS notification to customer phone": "Send SMS notification to customer phone",
|
||||
"Send email notification to customer email": "Send email notification to customer email",
|
||||
"Send automatic reminders to customers for payment collection": "Send automatic reminders to customers for payment collection",
|
||||
"HTTPS URL for server-to-server notifications": "HTTPS URL for server-to-server notifications",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL to redirect user after payment completion (max 250 characters)",
|
||||
"Directly open UPI Intent flow on mobile devices": "Directly open UPI Intent flow on mobile devices",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "The ID which uniquely identifies your order",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)",
|
||||
"A refund note for your reference (3-100 characters)": "A refund note for your reference (3-100 characters)",
|
||||
"Speed at which the refund is processed": "Speed at which the refund is processed",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "Request ID for the API call. Can be used to resolve tech issues",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "UUID format idempotency key to avoid duplicate actions if request fails or times out",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.",
|
||||
"The payment link ID for which you want to view the details": "The payment link ID for which you want to view the details",
|
||||
"UUID format idempotency key for request deduplication": "UUID format idempotency key for request deduplication",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)",
|
||||
"Amount to be transferred (minimum 1.00)": "Amount to be transferred (minimum 1.00)",
|
||||
"Name of the contact": "Name of the contact",
|
||||
"Phone number of the contact": "Phone number of the contact",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)",
|
||||
"Email of the contact": "Email of the contact",
|
||||
"Specify remarks, if any": "Specify remarks, if any",
|
||||
"If enabled, a link is sent to customer phone and email": "If enabled, a link is sent to customer phone and email",
|
||||
"The payment link ID for which you want to view the order details": "The payment link ID for which you want to view the order details",
|
||||
"Filter orders by status (default is PAID)": "Filter orders by status (default is PAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)",
|
||||
"Sandbox": "Sandbox",
|
||||
"Production": "Production",
|
||||
"Indian Rupee (INR)": "Indian Rupee (INR)",
|
||||
"US Dollar (USD)": "US Dollar (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "British Pound (GBP)",
|
||||
"State Bank of India (3003)": "State Bank of India (3003)",
|
||||
"HDFC Bank (3005)": "HDFC Bank (3005)",
|
||||
"ICICI Bank (3006)": "ICICI Bank (3006)",
|
||||
"Axis Bank (3010)": "Axis Bank (3010)",
|
||||
"Punjab National Bank (3012)": "Punjab National Bank (3012)",
|
||||
"Bank of Baroda (3016)": "Bank of Baroda (3016)",
|
||||
"Canara Bank (3019)": "Canara Bank (3019)",
|
||||
"Union Bank of India (3020)": "Union Bank of India (3020)",
|
||||
"Bank of India (3021)": "Bank of India (3021)",
|
||||
"Central Bank of India (3022)": "Central Bank of India (3022)",
|
||||
"Indian Bank (3023)": "Indian Bank (3023)",
|
||||
"Indian Overseas Bank (3024)": "Indian Overseas Bank (3024)",
|
||||
"UCO Bank (3026)": "UCO Bank (3026)",
|
||||
"Bank of Maharashtra (3027)": "Bank of Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "IDBI Bank (3029)",
|
||||
"Federal Bank (3030)": "Federal Bank (3030)",
|
||||
"South Indian Bank (3031)": "South Indian Bank (3031)",
|
||||
"IndusInd Bank (3032)": "IndusInd Bank (3032)",
|
||||
"YES Bank (3033)": "YES Bank (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Kotak Mahindra Bank (7001)",
|
||||
"Standard": "Standard",
|
||||
"Instant": "Instant",
|
||||
"All Orders": "All Orders",
|
||||
"Paid Orders Only": "Paid Orders Only"
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.": "Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.",
|
||||
"Cashfree Client ID": "Cashfree Client ID",
|
||||
"Cashfree Client Secret": "Cashfree Client Secret",
|
||||
"Your Cashfree Client ID": "Your Cashfree Client ID",
|
||||
"Your Cashfree Client Secret": "Your Cashfree Client Secret",
|
||||
"Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secr": "Connect your Cashfree account\n\n This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.\n\n Create two connections (recommended)\n - For clarity and security we recommend creating two separate Activepieces connections:\n 1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).\n 2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.\n\n Which keys to use\n - Payments API: use the credentials generated for the Payments product.\n - Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.\n\n How to generate API keys:\n 1. Sign in to your Cashfree account and open the *Payouts* dashboard.\n 2. In the navigation panel select **Developers**.\n 3. Click **API Keys**.\n 4. Click **Generate API Keys** on the API Keys screen.\n 5. The **New API Keys** popup displays the Client ID and Client Secret.\n 6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.\n\n\n\n",
|
||||
"Create Order": "Create Order",
|
||||
"Create Payment Link": "Create Payment Link",
|
||||
"Create Refund": "Create Refund",
|
||||
"Cancel Payment Link": "Cancel Payment Link",
|
||||
"Fetch Payment Link Details": "Fetch Payment Link Details",
|
||||
"Create Cashgram": "Create Cashgram",
|
||||
"Get Orders for Payment Link": "Get Orders for Payment Link",
|
||||
"Get All Refunds for Order": "Get All Refunds for Order",
|
||||
"Deactivate Cashgram": "Deactivate Cashgram",
|
||||
"Creates an order in Cashfree Payment Gateway": "Creates an order in Cashfree Payment Gateway",
|
||||
"Creates a payment link in Cashfree Payment Gateway": "Creates a payment link in Cashfree Payment Gateway",
|
||||
"Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.": "Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.",
|
||||
"Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.": "Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.",
|
||||
"View all details and status of a payment link in Cashfree Payment Gateway": "View all details and status of a payment link in Cashfree Payment Gateway",
|
||||
"Create a Cashgram for instant money transfers using Cashfree": "Create a Cashgram for instant money transfers using Cashfree",
|
||||
"View all order details for a payment link in Cashfree Payment Gateway": "View all order details for a payment link in Cashfree Payment Gateway",
|
||||
"Fetch all refunds processed against an order in Cashfree Payment Gateway": "Fetch all refunds processed against an order in Cashfree Payment Gateway",
|
||||
"Deactivate a Cashgram to prevent further redemptions using Cashfree": "Deactivate a Cashgram to prevent further redemptions using Cashfree",
|
||||
"Environment": "Environment",
|
||||
"Order Amount": "Order Amount",
|
||||
"Order Currency": "Order Currency",
|
||||
"Customer ID": "Customer ID",
|
||||
"Customer Phone": "Customer Phone",
|
||||
"Customer Email": "Customer Email",
|
||||
"Customer Name": "Customer Name",
|
||||
"Customer Bank Account Number": "Customer Bank Account Number",
|
||||
"Customer Bank IFSC": "Customer Bank IFSC",
|
||||
"Customer Bank Code": "Customer Bank Code",
|
||||
"Order ID": "Order ID",
|
||||
"Order Note": "Order Note",
|
||||
"Order Expiry Time": "Order Expiry Time",
|
||||
"Return URL": "Return URL",
|
||||
"Notify URL": "Notify URL",
|
||||
"Payment Methods": "Payment Methods",
|
||||
"Cart Name": "Cart Name",
|
||||
"Customer Note": "Customer Note",
|
||||
"Shipping Charge": "Shipping Charge",
|
||||
"Shipping - Full Name": "Shipping - Full Name",
|
||||
"Shipping - Country": "Shipping - Country",
|
||||
"Shipping - City": "Shipping - City",
|
||||
"Shipping - State": "Shipping - State",
|
||||
"Shipping - Pincode": "Shipping - Pincode",
|
||||
"Shipping - Address Line 1": "Shipping - Address Line 1",
|
||||
"Shipping - Address Line 2": "Shipping - Address Line 2",
|
||||
"Billing - Full Name": "Billing - Full Name",
|
||||
"Billing - Country": "Billing - Country",
|
||||
"Billing - City": "Billing - City",
|
||||
"Billing - State": "Billing - State",
|
||||
"Billing - Pincode": "Billing - Pincode",
|
||||
"Billing - Address Line 1": "Billing - Address Line 1",
|
||||
"Billing - Address Line 2": "Billing - Address Line 2",
|
||||
"Terminal Type": "Terminal Type",
|
||||
"Terminal ID": "Terminal ID",
|
||||
"Terminal Phone Number": "Terminal Phone Number",
|
||||
"Terminal Name": "Terminal Name",
|
||||
"Terminal Address": "Terminal Address",
|
||||
"Terminal Note": "Terminal Note",
|
||||
"Enable One Click Checkout": "Enable One Click Checkout",
|
||||
"Enable Verify and Pay": "Enable Verify and Pay",
|
||||
"Order Tags": "Order Tags",
|
||||
"Link Amount": "Link Amount",
|
||||
"Link Currency": "Link Currency",
|
||||
"Link Purpose": "Link Purpose",
|
||||
"Link ID": "Link ID",
|
||||
"Enable Partial Payments": "Enable Partial Payments",
|
||||
"Minimum Partial Amount": "Minimum Partial Amount",
|
||||
"Link Expiry Time": "Link Expiry Time",
|
||||
"Send SMS Notification": "Send SMS Notification",
|
||||
"Send Email Notification": "Send Email Notification",
|
||||
"Auto Reminders": "Auto Reminders",
|
||||
"UPI Intent": "UPI Intent",
|
||||
"Link Notes": "Link Notes",
|
||||
"Order Splits": "Order Splits",
|
||||
"Refund Amount": "Refund Amount",
|
||||
"Refund ID": "Refund ID",
|
||||
"Refund Note": "Refund Note",
|
||||
"Refund Speed": "Refund Speed",
|
||||
"Refund Splits": "Refund Splits",
|
||||
"Custom Tags": "Custom Tags",
|
||||
"Request ID": "Request ID",
|
||||
"Idempotency Key": "Idempotency Key",
|
||||
"Payment Link ID": "Payment Link ID",
|
||||
"Cashgram ID": "Cashgram ID",
|
||||
"Amount": "Amount",
|
||||
"Contact Name": "Contact Name",
|
||||
"Phone Number": "Phone Number",
|
||||
"Link Expiry Date": "Link Expiry Date",
|
||||
"Email": "电子邮件地址",
|
||||
"Remarks": "Remarks",
|
||||
"Notify Customer": "Notify Customer",
|
||||
"Order Status Filter": "Order Status Filter",
|
||||
"Choose the environment for API calls": "Choose the environment for API calls",
|
||||
"Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)": "Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)",
|
||||
"Currency for the order": "Currency for the order",
|
||||
"A unique identifier for the customer. Use alphanumeric values only (3-50 characters)": "A unique identifier for the customer. Use alphanumeric values only (3-50 characters)",
|
||||
"Customer phone number (minimum 10 digits). For international numbers, prefix with +": "Customer phone number (minimum 10 digits). For international numbers, prefix with +",
|
||||
"Customer email address (3-100 characters)": "Customer email address (3-100 characters)",
|
||||
"Name of the customer (3-100 characters)": "Name of the customer (3-100 characters)",
|
||||
"Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)": "Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)",
|
||||
"Customer bank IFSC. Required for TPV (Third Party Verification)": "Customer bank IFSC. Required for TPV (Third Party Verification)",
|
||||
"Customer bank code. Required for net banking payments with TPV": "Customer bank code. Required for net banking payments with TPV",
|
||||
"Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided": "Order identifier in your system. Alphanumeric, \"_\" and \"-\" only (3-45 characters). Will be auto-generated if not provided",
|
||||
"Order note for reference (3-200 characters)": "Order note for reference (3-200 characters)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30",
|
||||
"URL to redirect customer after payment completion (max 250 characters)": "URL to redirect customer after payment completion (max 250 characters)",
|
||||
"HTTPS URL for server-to-server notifications (max 250 characters)": "HTTPS URL for server-to-server notifications (max 250 characters)",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer": "Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer",
|
||||
"Name of the cart": "Name of the cart",
|
||||
"Note from customer": "Note from customer",
|
||||
"Shipping charges for the order": "Shipping charges for the order",
|
||||
"Full name for shipping address": "Full name for shipping address",
|
||||
"Country for shipping address": "Country for shipping address",
|
||||
"City for shipping address": "City for shipping address",
|
||||
"State for shipping address": "State for shipping address",
|
||||
"Pincode for shipping address": "Pincode for shipping address",
|
||||
"Primary address line for shipping": "Primary address line for shipping",
|
||||
"Secondary address line for shipping": "Secondary address line for shipping",
|
||||
"Full name for billing address": "Full name for billing address",
|
||||
"Country for billing address": "Country for billing address",
|
||||
"City for billing address": "City for billing address",
|
||||
"State for billing address": "State for billing address",
|
||||
"Pincode for billing address": "Pincode for billing address",
|
||||
"Primary address line for billing": "Primary address line for billing",
|
||||
"Secondary address line for billing": "Secondary address line for billing",
|
||||
"Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)": "Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)",
|
||||
"Terminal ID for merchant reference (3-100 characters)": "Terminal ID for merchant reference (3-100 characters)",
|
||||
"Mobile number of the terminal/agent/storefront": "Mobile number of the terminal/agent/storefront",
|
||||
"Name of terminal/agent/storefront": "Name of terminal/agent/storefront",
|
||||
"Location of terminal": "Location of terminal",
|
||||
"Note given by merchant while creating the terminal": "Note given by merchant while creating the terminal",
|
||||
"Enable One Click Checkout feature": "Enable One Click Checkout feature",
|
||||
"Enable Verify and Pay feature": "Enable Verify and Pay feature",
|
||||
"Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags": "Custom tags as JSON object. Example: {\"product\":\"Laptop\",\"city\":\"Bangalore\"}. Maximum 10 tags",
|
||||
"Amount to be collected using this link. Provide up to two decimals for paise": "Amount to be collected using this link. Provide up to two decimals for paise",
|
||||
"Currency for the payment link": "Currency for the payment link",
|
||||
"A brief description for which payment must be collected (max 500 characters)": "A brief description for which payment must be collected (max 500 characters)",
|
||||
"Customer phone number (required)": "Customer phone number (required)",
|
||||
"Customer email address": "Customer email address",
|
||||
"Customer name": "Customer name",
|
||||
"Customer bank account number": "Customer bank account number",
|
||||
"Customer bank IFSC code": "Customer bank IFSC code",
|
||||
"Customer bank code for net banking": "Customer bank code for net banking",
|
||||
"Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided": "Unique identifier for the link. Alphanumeric, \"-\" and \"_\" only (max 50 characters). Auto-generated if not provided",
|
||||
"Allow customers to make partial payments for the link": "Allow customers to make partial payments for the link",
|
||||
"Minimum amount in first installment (required if partial payments enabled)": "Minimum amount in first installment (required if partial payments enabled)",
|
||||
"ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days": "ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days",
|
||||
"Send SMS notification to customer phone": "Send SMS notification to customer phone",
|
||||
"Send email notification to customer email": "Send email notification to customer email",
|
||||
"Send automatic reminders to customers for payment collection": "Send automatic reminders to customers for payment collection",
|
||||
"HTTPS URL for server-to-server notifications": "HTTPS URL for server-to-server notifications",
|
||||
"URL to redirect user after payment completion (max 250 characters)": "URL to redirect user after payment completion (max 250 characters)",
|
||||
"Directly open UPI Intent flow on mobile devices": "Directly open UPI Intent flow on mobile devices",
|
||||
"Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods": "Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods",
|
||||
"Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}": "Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {\"key_1\":\"value_1\",\"key_2\":\"value_2\"}",
|
||||
"JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]": "JSON array for Easy Split. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100}]",
|
||||
"The ID which uniquely identifies your order": "The ID which uniquely identifies your order",
|
||||
"Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)": "Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)",
|
||||
"An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)": "An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)",
|
||||
"A refund note for your reference (3-100 characters)": "A refund note for your reference (3-100 characters)",
|
||||
"Speed at which the refund is processed": "Speed at which the refund is processed",
|
||||
"JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]": "JSON array for vendor splits. Example: [{\"vendor_id\":\"vendor1\",\"amount\":100},{\"vendor_id\":\"vendor2\",\"percentage\":25}]",
|
||||
"Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}": "Custom Tags in JSON format {\"key\":\"value\"}. Maximum 10 tags allowed. Example: {\"refund_reason\":\"customer_request\",\"processed_by\":\"admin\"}",
|
||||
"Request ID for the API call. Can be used to resolve tech issues": "Request ID for the API call. Can be used to resolve tech issues",
|
||||
"UUID format idempotency key to avoid duplicate actions if request fails or times out": "UUID format idempotency key to avoid duplicate actions if request fails or times out",
|
||||
"The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.": "The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.",
|
||||
"The payment link ID for which you want to view the details": "The payment link ID for which you want to view the details",
|
||||
"UUID format idempotency key for request deduplication": "UUID format idempotency key for request deduplication",
|
||||
"Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)": "Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)",
|
||||
"Amount to be transferred (minimum 1.00)": "Amount to be transferred (minimum 1.00)",
|
||||
"Name of the contact": "Name of the contact",
|
||||
"Phone number of the contact": "Phone number of the contact",
|
||||
"Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)": "Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)",
|
||||
"Email of the contact": "Email of the contact",
|
||||
"Specify remarks, if any": "Specify remarks, if any",
|
||||
"If enabled, a link is sent to customer phone and email": "If enabled, a link is sent to customer phone and email",
|
||||
"The payment link ID for which you want to view the order details": "The payment link ID for which you want to view the order details",
|
||||
"Filter orders by status (default is PAID)": "Filter orders by status (default is PAID)",
|
||||
"ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)": "ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)",
|
||||
"Sandbox": "Sandbox",
|
||||
"Production": "Production",
|
||||
"Indian Rupee (INR)": "Indian Rupee (INR)",
|
||||
"US Dollar (USD)": "US Dollar (USD)",
|
||||
"Euro (EUR)": "Euro (EUR)",
|
||||
"British Pound (GBP)": "British Pound (GBP)",
|
||||
"State Bank of India (3003)": "State Bank of India (3003)",
|
||||
"HDFC Bank (3005)": "HDFC Bank (3005)",
|
||||
"ICICI Bank (3006)": "ICICI Bank (3006)",
|
||||
"Axis Bank (3010)": "Axis Bank (3010)",
|
||||
"Punjab National Bank (3012)": "Punjab National Bank (3012)",
|
||||
"Bank of Baroda (3016)": "Bank of Baroda (3016)",
|
||||
"Canara Bank (3019)": "Canara Bank (3019)",
|
||||
"Union Bank of India (3020)": "Union Bank of India (3020)",
|
||||
"Bank of India (3021)": "Bank of India (3021)",
|
||||
"Central Bank of India (3022)": "Central Bank of India (3022)",
|
||||
"Indian Bank (3023)": "Indian Bank (3023)",
|
||||
"Indian Overseas Bank (3024)": "Indian Overseas Bank (3024)",
|
||||
"UCO Bank (3026)": "UCO Bank (3026)",
|
||||
"Bank of Maharashtra (3027)": "Bank of Maharashtra (3027)",
|
||||
"Punjab & Sind Bank (3028)": "Punjab & Sind Bank (3028)",
|
||||
"IDBI Bank (3029)": "IDBI Bank (3029)",
|
||||
"Federal Bank (3030)": "Federal Bank (3030)",
|
||||
"South Indian Bank (3031)": "South Indian Bank (3031)",
|
||||
"IndusInd Bank (3032)": "IndusInd Bank (3032)",
|
||||
"YES Bank (3033)": "YES Bank (3033)",
|
||||
"Kotak Mahindra Bank (7001)": "Kotak Mahindra Bank (7001)",
|
||||
"Standard": "Standard",
|
||||
"Instant": "Instant",
|
||||
"All Orders": "All Orders",
|
||||
"Paid Orders Only": "Paid Orders Only"
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
import { createPiece, PieceAuth, Property } from "@activepieces/pieces-framework";
|
||||
import { createOrder } from "./lib/actions/create-order"
|
||||
import { createPaymentLink } from "./lib/actions/create-payment-link"
|
||||
import { createRefund } from "./lib/actions/create-refund"
|
||||
import { cancelPaymentLink } from "./lib/actions/cancel-payment-link"
|
||||
import { fetchPaymentLinkDetails } from "./lib/actions/fetch-payment-link-details"
|
||||
import { createCashgram } from "./lib/actions/create-cashgram"
|
||||
import { getOrdersForPaymentLink } from "./lib/actions/get-orders-for-payment-link"
|
||||
import { getAllRefundsForOrder } from "./lib/actions/get-all-refunds-for-order"
|
||||
import { deactivateCashgram } from "./lib/actions/deactivate-cashgram"
|
||||
import { cashfreePaymentsAuth } from "./lib/auth/cashgram-auth";
|
||||
|
||||
|
||||
export const cashfreeTriggers = createPiece({
|
||||
displayName: "Cashfree Payments",
|
||||
description: 'Cashfree Payments integration for processing payments, refunds, and managing payment links and cashgrams.',
|
||||
auth: cashfreePaymentsAuth,
|
||||
minimumSupportedRelease: '0.36.1',
|
||||
logoUrl:
|
||||
'https://cdn.activepieces.com/pieces/cashfree-payments.png',
|
||||
authors: ['kartikvyas', 'sanket-a11y'],
|
||||
actions: [
|
||||
createOrder,
|
||||
createPaymentLink,
|
||||
createRefund,
|
||||
cancelPaymentLink,
|
||||
fetchPaymentLinkDetails,
|
||||
createCashgram,
|
||||
getOrdersForPaymentLink,
|
||||
getAllRefundsForOrder,
|
||||
deactivateCashgram
|
||||
],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,153 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const cancelPaymentLink = createAction({
|
||||
auth: cashfreePaymentsAuth,
|
||||
name: 'cancel-payment-link',
|
||||
displayName: 'Cancel Payment Link',
|
||||
description: 'Cancel a payment link in Cashfree Payment Gateway. Only links in ACTIVE status can be cancelled.',
|
||||
requireAuth: true,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
linkId: Property.ShortText({
|
||||
displayName: 'Payment Link ID',
|
||||
description: 'The payment link ID that you want to cancel. Only ACTIVE links can be cancelled.',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Headers
|
||||
requestId: Property.ShortText({
|
||||
displayName: 'Request ID',
|
||||
description: 'Request ID for the API call. Can be used to resolve tech issues',
|
||||
required: false,
|
||||
}),
|
||||
idempotencyKey: Property.ShortText({
|
||||
displayName: 'Idempotency Key',
|
||||
description: 'UUID format idempotency key to avoid duplicate actions if request fails or times out',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props
|
||||
const {
|
||||
environment,
|
||||
linkId,
|
||||
requestId,
|
||||
idempotencyKey,
|
||||
} = context.propsValue;
|
||||
|
||||
// Validate link ID format
|
||||
if (!linkId || linkId.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid link ID',
|
||||
message: 'Payment Link ID is required and cannot be empty',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? `https://api.cashfree.com/pg/links/${linkId}/cancel`
|
||||
: `https://sandbox.cashfree.com/pg/links/${linkId}/cancel`;
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
'x-client-id': clientId,
|
||||
'x-client-secret': clientSecret,
|
||||
};
|
||||
|
||||
// Add optional headers
|
||||
if (requestId) headers['x-request-id'] = requestId;
|
||||
if (idempotencyKey) headers['x-idempotency-key'] = idempotencyKey;
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
});
|
||||
|
||||
if (response.status === 200 || response.status === 201) {
|
||||
return {
|
||||
success: true,
|
||||
data: response.body,
|
||||
message: 'Payment link cancelled successfully',
|
||||
};
|
||||
} else {
|
||||
// Handle specific error cases
|
||||
if (response.status === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Bad request - Link may not be in ACTIVE status or invalid link ID',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 404) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Payment link not found with the provided link ID',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 409) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Conflict - Link may already be cancelled or in a non-cancellable state',
|
||||
status: response.status,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to cancel payment link',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error cancelling Cashfree payment link:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while cancelling the payment link',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,308 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth, generateCashgramToken, validateAuthCredentials } from '../auth/cashgram-auth';
|
||||
|
||||
export const createCashgram = createAction({
|
||||
auth: cashfreePaymentsAuth,
|
||||
name: 'create-cashgram',
|
||||
displayName: 'Create Cashgram',
|
||||
description: 'Create a Cashgram for instant money transfers using Cashfree',
|
||||
requireAuth: true,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
cashgramId: Property.ShortText({
|
||||
displayName: 'Cashgram ID',
|
||||
description: 'Unique ID of the Cashgram. Alphanumeric, underscore (_), and hyphen (-) allowed (35 character limit)',
|
||||
required: true,
|
||||
}),
|
||||
amount: Property.Number({
|
||||
displayName: 'Amount',
|
||||
description: 'Amount to be transferred (minimum 1.00)',
|
||||
required: true,
|
||||
}),
|
||||
name: Property.ShortText({
|
||||
displayName: 'Contact Name',
|
||||
description: 'Name of the contact',
|
||||
required: true,
|
||||
}),
|
||||
phone: Property.ShortText({
|
||||
displayName: 'Phone Number',
|
||||
description: 'Phone number of the contact',
|
||||
required: true,
|
||||
}),
|
||||
linkExpiry: Property.ShortText({
|
||||
displayName: 'Link Expiry Date',
|
||||
description: 'Date to expire the cashgram link. Format: YYYY/MM/DD (maximum 30 days from creation)',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Fields
|
||||
email: Property.ShortText({
|
||||
displayName: 'Email',
|
||||
description: 'Email of the contact',
|
||||
required: false,
|
||||
}),
|
||||
remarks: Property.ShortText({
|
||||
displayName: 'Remarks',
|
||||
description: 'Specify remarks, if any',
|
||||
required: false,
|
||||
}),
|
||||
notifyCustomer: Property.Checkbox({
|
||||
displayName: 'Notify Customer',
|
||||
description: 'If enabled, a link is sent to customer phone and email',
|
||||
required: false,
|
||||
defaultValue: true,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const {
|
||||
clientId,
|
||||
clientSecret,
|
||||
} = context.auth.props
|
||||
|
||||
// const finalBearerToken: string;
|
||||
|
||||
// Validate credentials based on auth type
|
||||
const validation = validateAuthCredentials("client_credentials", {
|
||||
clientId,
|
||||
clientSecret,
|
||||
});
|
||||
|
||||
if (!validation.isValid) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid authentication credentials',
|
||||
message: validation.error,
|
||||
};
|
||||
}
|
||||
|
||||
const { environment } = context.propsValue;
|
||||
|
||||
const tokenResponse = await generateCashgramToken(
|
||||
{
|
||||
clientId: clientId!,
|
||||
clientSecret: clientSecret!
|
||||
},
|
||||
environment as 'sandbox' | 'production'
|
||||
);
|
||||
|
||||
if (!tokenResponse.success || !tokenResponse.token) {
|
||||
return {
|
||||
success: false,
|
||||
error: tokenResponse.error,
|
||||
message: tokenResponse.message || 'Failed to generate bearer token for Cashgram authentication',
|
||||
};
|
||||
}
|
||||
|
||||
const finalBearerToken = tokenResponse.token;
|
||||
|
||||
const {
|
||||
|
||||
cashgramId,
|
||||
amount,
|
||||
name,
|
||||
phone,
|
||||
linkExpiry,
|
||||
email,
|
||||
remarks,
|
||||
notifyCustomer,
|
||||
} = context.propsValue;
|
||||
|
||||
// Validate cashgram ID format
|
||||
if (!cashgramId || cashgramId.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid Cashgram ID',
|
||||
message: 'Cashgram ID is required and cannot be empty',
|
||||
};
|
||||
}
|
||||
|
||||
if (cashgramId.length > 35) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid Cashgram ID length',
|
||||
message: 'Cashgram ID must be 35 characters or less',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate cashgram ID format (alphanumeric, underscore, hyphen only)
|
||||
const cashgramIdRegex = /^[a-zA-Z0-9_-]+$/;
|
||||
if (!cashgramIdRegex.test(cashgramId)) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid Cashgram ID format',
|
||||
message: 'Cashgram ID can only contain alphanumeric characters, underscore (_), and hyphen (-)',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate amount
|
||||
if (amount < 1.00) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid amount',
|
||||
message: 'Amount must be greater than or equal to 1.00',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate link expiry date format
|
||||
const dateRegex = /^\d{4}\/\d{2}\/\d{2}$/;
|
||||
if (!dateRegex.test(linkExpiry)) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid link expiry date format',
|
||||
message: 'Link expiry date must be in YYYY/MM/DD format',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate that expiry date is not more than 30 days from now
|
||||
const expiryDate = new Date(linkExpiry.replace(/\//g, '-'));
|
||||
const currentDate = new Date();
|
||||
const thirtyDaysFromNow = new Date();
|
||||
thirtyDaysFromNow.setDate(currentDate.getDate() + 30);
|
||||
|
||||
if (expiryDate > thirtyDaysFromNow) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid link expiry date',
|
||||
message: 'Link expiry date cannot be more than 30 days from today',
|
||||
};
|
||||
}
|
||||
|
||||
if (expiryDate <= currentDate) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid link expiry date',
|
||||
message: 'Link expiry date must be in the future',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate phone number format (basic validation)
|
||||
if (!phone || phone.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid phone number',
|
||||
message: 'Phone number is required',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate name
|
||||
if (!name || name.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid name',
|
||||
message: 'Contact name is required',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? 'https://payout-api.cashfree.com/payout/v1/createCashgram'
|
||||
: 'https://payout-gamma.cashfree.com/payout/v1/createCashgram';
|
||||
|
||||
// Prepare the request body
|
||||
const requestBody: any = {
|
||||
cashgramId: cashgramId,
|
||||
amount: amount,
|
||||
name: name,
|
||||
phone: phone,
|
||||
linkExpiry: linkExpiry,
|
||||
};
|
||||
|
||||
// Add optional fields
|
||||
if (email) requestBody.email = email;
|
||||
if (remarks) requestBody.remarks = remarks;
|
||||
if (notifyCustomer !== undefined) requestBody.notifyCustomer = notifyCustomer ? 1 : 0;
|
||||
|
||||
// Build headers
|
||||
const headers: any = {
|
||||
'Authorization': `Bearer ${finalBearerToken}`,
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
body: requestBody,
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
const responseData = response.body;
|
||||
return {
|
||||
success: true,
|
||||
data: responseData,
|
||||
|
||||
};
|
||||
} else {
|
||||
// Handle specific error cases
|
||||
if (response.status === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Bad request - Please check your input parameters',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 401) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Unauthorized - Please check your Bearer Token',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 403) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Forbidden - You do not have permission to create Cashgrams',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 409) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Conflict - Cashgram ID already exists',
|
||||
status: response.status,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to create Cashgram',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error creating Cashfree Cashgram:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while creating the Cashgram',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,471 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const createOrder = createAction({
|
||||
name: 'create-order',
|
||||
displayName: 'Create Order',
|
||||
description: 'Creates an order in Cashfree Payment Gateway',
|
||||
auth: cashfreePaymentsAuth,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
// Required Fields
|
||||
orderAmount: Property.Number({
|
||||
displayName: 'Order Amount',
|
||||
description: 'Bill amount for the order. Provide up to two decimals (e.g., 10.15 means Rs 10 and 15 paisa)',
|
||||
required: true,
|
||||
}),
|
||||
orderCurrency: Property.StaticDropdown({
|
||||
displayName: 'Order Currency',
|
||||
description: 'Currency for the order',
|
||||
required: true,
|
||||
defaultValue: 'INR',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'Indian Rupee (INR)', value: 'INR' },
|
||||
{ label: 'US Dollar (USD)', value: 'USD' },
|
||||
{ label: 'Euro (EUR)', value: 'EUR' },
|
||||
{ label: 'British Pound (GBP)', value: 'GBP' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
customerId: Property.ShortText({
|
||||
displayName: 'Customer ID',
|
||||
description: 'A unique identifier for the customer. Use alphanumeric values only (3-50 characters)',
|
||||
required: true,
|
||||
}),
|
||||
customerPhone: Property.ShortText({
|
||||
displayName: 'Customer Phone',
|
||||
description: 'Customer phone number (minimum 10 digits). For international numbers, prefix with +',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Customer Details
|
||||
customerEmail: Property.ShortText({
|
||||
displayName: 'Customer Email',
|
||||
description: 'Customer email address (3-100 characters)',
|
||||
required: false,
|
||||
}),
|
||||
customerName: Property.ShortText({
|
||||
displayName: 'Customer Name',
|
||||
description: 'Name of the customer (3-100 characters)',
|
||||
required: false,
|
||||
}),
|
||||
customerBankAccountNumber: Property.ShortText({
|
||||
displayName: 'Customer Bank Account Number',
|
||||
description: 'Customer bank account. Required for TPV (Third Party Verification) (3-20 characters)',
|
||||
required: false,
|
||||
}),
|
||||
customerBankIfsc: Property.ShortText({
|
||||
displayName: 'Customer Bank IFSC',
|
||||
description: 'Customer bank IFSC. Required for TPV (Third Party Verification)',
|
||||
required: false,
|
||||
}),
|
||||
customerBankCode: Property.Number({
|
||||
displayName: 'Customer Bank Code',
|
||||
description: 'Customer bank code. Required for net banking payments with TPV',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Order Details
|
||||
orderId: Property.ShortText({
|
||||
displayName: 'Order ID',
|
||||
description: 'Order identifier in your system. Alphanumeric, "_" and "-" only (3-45 characters). Will be auto-generated if not provided',
|
||||
required: false,
|
||||
}),
|
||||
orderNote: Property.ShortText({
|
||||
displayName: 'Order Note',
|
||||
description: 'Order note for reference (3-200 characters)',
|
||||
required: false,
|
||||
}),
|
||||
orderExpiryTime: Property.ShortText({
|
||||
displayName: 'Order Expiry Time',
|
||||
description: 'ISO 8601 format. Example: 2021-07-02T10:20:12+05:30',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Order Meta
|
||||
returnUrl: Property.ShortText({
|
||||
displayName: 'Return URL',
|
||||
description: 'URL to redirect customer after payment completion (max 250 characters)',
|
||||
required: false,
|
||||
}),
|
||||
notifyUrl: Property.ShortText({
|
||||
displayName: 'Notify URL',
|
||||
description: 'HTTPS URL for server-to-server notifications (max 250 characters)',
|
||||
required: false,
|
||||
}),
|
||||
paymentMethods: Property.ShortText({
|
||||
displayName: 'Payment Methods',
|
||||
description: 'Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app,paylater,cardlessemi,dcemi,ccemi,banktransfer',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Cart Details
|
||||
cartName: Property.ShortText({
|
||||
displayName: 'Cart Name',
|
||||
description: 'Name of the cart',
|
||||
required: false,
|
||||
}),
|
||||
customerNote: Property.ShortText({
|
||||
displayName: 'Customer Note',
|
||||
description: 'Note from customer',
|
||||
required: false,
|
||||
}),
|
||||
shippingCharge: Property.Number({
|
||||
displayName: 'Shipping Charge',
|
||||
description: 'Shipping charges for the order',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Shipping Address
|
||||
shippingFullName: Property.ShortText({
|
||||
displayName: 'Shipping - Full Name',
|
||||
description: 'Full name for shipping address',
|
||||
required: false,
|
||||
}),
|
||||
shippingCountry: Property.ShortText({
|
||||
displayName: 'Shipping - Country',
|
||||
description: 'Country for shipping address',
|
||||
required: false,
|
||||
}),
|
||||
shippingCity: Property.ShortText({
|
||||
displayName: 'Shipping - City',
|
||||
description: 'City for shipping address',
|
||||
required: false,
|
||||
}),
|
||||
shippingState: Property.ShortText({
|
||||
displayName: 'Shipping - State',
|
||||
description: 'State for shipping address',
|
||||
required: false,
|
||||
}),
|
||||
shippingPincode: Property.ShortText({
|
||||
displayName: 'Shipping - Pincode',
|
||||
description: 'Pincode for shipping address',
|
||||
required: false,
|
||||
}),
|
||||
shippingAddress1: Property.ShortText({
|
||||
displayName: 'Shipping - Address Line 1',
|
||||
description: 'Primary address line for shipping',
|
||||
required: false,
|
||||
}),
|
||||
shippingAddress2: Property.ShortText({
|
||||
displayName: 'Shipping - Address Line 2',
|
||||
description: 'Secondary address line for shipping',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Billing Address
|
||||
billingFullName: Property.ShortText({
|
||||
displayName: 'Billing - Full Name',
|
||||
description: 'Full name for billing address',
|
||||
required: false,
|
||||
}),
|
||||
billingCountry: Property.ShortText({
|
||||
displayName: 'Billing - Country',
|
||||
description: 'Country for billing address',
|
||||
required: false,
|
||||
}),
|
||||
billingCity: Property.ShortText({
|
||||
displayName: 'Billing - City',
|
||||
description: 'City for billing address',
|
||||
required: false,
|
||||
}),
|
||||
billingState: Property.ShortText({
|
||||
displayName: 'Billing - State',
|
||||
description: 'State for billing address',
|
||||
required: false,
|
||||
}),
|
||||
billingPincode: Property.ShortText({
|
||||
displayName: 'Billing - Pincode',
|
||||
description: 'Pincode for billing address',
|
||||
required: false,
|
||||
}),
|
||||
billingAddress1: Property.ShortText({
|
||||
displayName: 'Billing - Address Line 1',
|
||||
description: 'Primary address line for billing',
|
||||
required: false,
|
||||
}),
|
||||
billingAddress2: Property.ShortText({
|
||||
displayName: 'Billing - Address Line 2',
|
||||
description: 'Secondary address line for billing',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Terminal (for SoftPOS)
|
||||
terminalType: Property.ShortText({
|
||||
displayName: 'Terminal Type',
|
||||
description: 'Type of terminal (e.g., SPOS) for SoftPOS orders (4-10 characters)',
|
||||
required: false,
|
||||
}),
|
||||
terminalId: Property.ShortText({
|
||||
displayName: 'Terminal ID',
|
||||
description: 'Terminal ID for merchant reference (3-100 characters)',
|
||||
required: false,
|
||||
}),
|
||||
terminalPhoneNo: Property.ShortText({
|
||||
displayName: 'Terminal Phone Number',
|
||||
description: 'Mobile number of the terminal/agent/storefront',
|
||||
required: false,
|
||||
}),
|
||||
terminalName: Property.ShortText({
|
||||
displayName: 'Terminal Name',
|
||||
description: 'Name of terminal/agent/storefront',
|
||||
required: false,
|
||||
}),
|
||||
terminalAddress: Property.ShortText({
|
||||
displayName: 'Terminal Address',
|
||||
description: 'Location of terminal',
|
||||
required: false,
|
||||
}),
|
||||
terminalNote: Property.ShortText({
|
||||
displayName: 'Terminal Note',
|
||||
description: 'Note given by merchant while creating the terminal',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Products Configuration
|
||||
oneClickCheckoutEnabled: Property.Checkbox({
|
||||
displayName: 'Enable One Click Checkout',
|
||||
description: 'Enable One Click Checkout feature',
|
||||
required: false,
|
||||
}),
|
||||
verifyPayEnabled: Property.Checkbox({
|
||||
displayName: 'Enable Verify and Pay',
|
||||
description: 'Enable Verify and Pay feature',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Order Tags (JSON string)
|
||||
orderTags: Property.LongText({
|
||||
displayName: 'Order Tags',
|
||||
description: 'Custom tags as JSON object. Example: {"product":"Laptop","city":"Bangalore"}. Maximum 10 tags',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props (including environment)
|
||||
const {
|
||||
environment,
|
||||
orderAmount,
|
||||
orderCurrency,
|
||||
customerId,
|
||||
customerPhone,
|
||||
customerEmail,
|
||||
customerName,
|
||||
customerBankAccountNumber,
|
||||
customerBankIfsc,
|
||||
customerBankCode,
|
||||
orderId,
|
||||
orderNote,
|
||||
orderExpiryTime,
|
||||
returnUrl,
|
||||
notifyUrl,
|
||||
paymentMethods,
|
||||
cartName,
|
||||
customerNote,
|
||||
shippingCharge,
|
||||
shippingFullName,
|
||||
shippingCountry,
|
||||
shippingCity,
|
||||
shippingState,
|
||||
shippingPincode,
|
||||
shippingAddress1,
|
||||
shippingAddress2,
|
||||
billingFullName,
|
||||
billingCountry,
|
||||
billingCity,
|
||||
billingState,
|
||||
billingPincode,
|
||||
billingAddress1,
|
||||
billingAddress2,
|
||||
terminalType,
|
||||
terminalId,
|
||||
terminalPhoneNo,
|
||||
terminalName,
|
||||
terminalAddress,
|
||||
terminalNote,
|
||||
oneClickCheckoutEnabled,
|
||||
verifyPayEnabled,
|
||||
orderTags,
|
||||
} = context.propsValue;
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? 'https://api.cashfree.com/pg/orders'
|
||||
: 'https://sandbox.cashfree.com/pg/orders';
|
||||
|
||||
// Generate order ID if not provided
|
||||
const generatedOrderId = orderId || `order_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
||||
|
||||
// Build customer details object
|
||||
const customerDetails: any = {
|
||||
customer_id: customerId,
|
||||
customer_phone: customerPhone,
|
||||
};
|
||||
|
||||
if (customerEmail) customerDetails.customer_email = customerEmail;
|
||||
if (customerName) customerDetails.customer_name = customerName;
|
||||
if (customerBankAccountNumber) customerDetails.customer_bank_account_number = customerBankAccountNumber;
|
||||
if (customerBankIfsc) customerDetails.customer_bank_ifsc = customerBankIfsc;
|
||||
if (customerBankCode) customerDetails.customer_bank_code = customerBankCode;
|
||||
|
||||
// Build order meta object
|
||||
const orderMeta: any = {};
|
||||
if (returnUrl) orderMeta.return_url = returnUrl;
|
||||
if (notifyUrl) orderMeta.notify_url = notifyUrl;
|
||||
if (paymentMethods) orderMeta.payment_methods = paymentMethods;
|
||||
|
||||
// Build cart details object
|
||||
const cartDetails: any = {};
|
||||
if (cartName) cartDetails.cart_name = cartName;
|
||||
if (customerNote) cartDetails.customer_note = customerNote;
|
||||
if (shippingCharge) cartDetails.shipping_charge = shippingCharge;
|
||||
|
||||
// Shipping address
|
||||
if (shippingFullName || shippingCountry || shippingCity || shippingState || shippingPincode || shippingAddress1 || shippingAddress2) {
|
||||
cartDetails.customer_shipping_address = {};
|
||||
if (shippingFullName) cartDetails.customer_shipping_address.full_name = shippingFullName;
|
||||
if (shippingCountry) cartDetails.customer_shipping_address.country = shippingCountry;
|
||||
if (shippingCity) cartDetails.customer_shipping_address.city = shippingCity;
|
||||
if (shippingState) cartDetails.customer_shipping_address.state = shippingState;
|
||||
if (shippingPincode) cartDetails.customer_shipping_address.pincode = shippingPincode;
|
||||
if (shippingAddress1) cartDetails.customer_shipping_address.address_1 = shippingAddress1;
|
||||
if (shippingAddress2) cartDetails.customer_shipping_address.address_2 = shippingAddress2;
|
||||
}
|
||||
|
||||
// Billing address
|
||||
if (billingFullName || billingCountry || billingCity || billingState || billingPincode || billingAddress1 || billingAddress2) {
|
||||
cartDetails.customer_billing_address = {};
|
||||
if (billingFullName) cartDetails.customer_billing_address.full_name = billingFullName;
|
||||
if (billingCountry) cartDetails.customer_billing_address.country = billingCountry;
|
||||
if (billingCity) cartDetails.customer_billing_address.city = billingCity;
|
||||
if (billingState) cartDetails.customer_billing_address.state = billingState;
|
||||
if (billingPincode) cartDetails.customer_billing_address.pincode = billingPincode;
|
||||
if (billingAddress1) cartDetails.customer_billing_address.address_1 = billingAddress1;
|
||||
if (billingAddress2) cartDetails.customer_billing_address.address_2 = billingAddress2;
|
||||
}
|
||||
|
||||
// Build terminal object
|
||||
const terminal: any = {};
|
||||
if (terminalType) {
|
||||
terminal.terminal_type = terminalType;
|
||||
if (terminalId) terminal.terminal_id = terminalId;
|
||||
if (terminalPhoneNo) terminal.terminal_phone_no = terminalPhoneNo;
|
||||
if (terminalName) terminal.terminal_name = terminalName;
|
||||
if (terminalAddress) terminal.terminal_address = terminalAddress;
|
||||
if (terminalNote) terminal.terminal_note = terminalNote;
|
||||
}
|
||||
|
||||
// Build products object
|
||||
const products: any = {};
|
||||
if (oneClickCheckoutEnabled !== undefined) {
|
||||
products.one_click_checkout = { enabled: oneClickCheckoutEnabled };
|
||||
}
|
||||
if (verifyPayEnabled !== undefined) {
|
||||
products.verify_pay = { enabled: verifyPayEnabled };
|
||||
}
|
||||
|
||||
// Parse order tags if provided
|
||||
let parsedOrderTags;
|
||||
if (orderTags) {
|
||||
try {
|
||||
parsedOrderTags = JSON.parse(orderTags);
|
||||
} catch (error) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid JSON format for order tags',
|
||||
message: 'Order tags must be valid JSON format. Example: {"product":"Laptop","city":"Bangalore"}',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Prepare the request body
|
||||
const requestBody: any = {
|
||||
order_amount: orderAmount,
|
||||
order_currency: orderCurrency,
|
||||
order_id: generatedOrderId,
|
||||
customer_details: customerDetails,
|
||||
};
|
||||
|
||||
// Add optional fields
|
||||
if (Object.keys(orderMeta).length > 0) requestBody.order_meta = orderMeta;
|
||||
if (Object.keys(cartDetails).length > 0) requestBody.cart_details = cartDetails;
|
||||
if (Object.keys(terminal).length > 0) requestBody.terminal = terminal;
|
||||
if (Object.keys(products).length > 0) requestBody.products = products;
|
||||
if (orderNote) requestBody.order_note = orderNote;
|
||||
if (orderExpiryTime) requestBody.order_expiry_time = orderExpiryTime;
|
||||
if (parsedOrderTags) requestBody.order_tags = parsedOrderTags;
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
'X-Client-Id': clientId,
|
||||
'X-Client-Secret': clientSecret,
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
body: requestBody,
|
||||
});
|
||||
|
||||
if (response.status === 200 || response.status === 201) {
|
||||
return {
|
||||
success: true,
|
||||
data: response.body,
|
||||
message: 'Order created successfully',
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to create order',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error creating Cashfree order:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while creating the order',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,351 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const createPaymentLink = createAction({
|
||||
name: 'create-payment-link',
|
||||
displayName: 'Create Payment Link',
|
||||
description: 'Creates a payment link in Cashfree Payment Gateway',
|
||||
auth: cashfreePaymentsAuth,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
linkAmount: Property.Number({
|
||||
displayName: 'Link Amount',
|
||||
description: 'Amount to be collected using this link. Provide up to two decimals for paise',
|
||||
required: true,
|
||||
}),
|
||||
linkCurrency: Property.StaticDropdown({
|
||||
displayName: 'Link Currency',
|
||||
description: 'Currency for the payment link',
|
||||
required: true,
|
||||
defaultValue: 'INR',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'Indian Rupee (INR)', value: 'INR' },
|
||||
{ label: 'US Dollar (USD)', value: 'USD' },
|
||||
{ label: 'Euro (EUR)', value: 'EUR' },
|
||||
{ label: 'British Pound (GBP)', value: 'GBP' },
|
||||
],
|
||||
},
|
||||
}),
|
||||
linkPurpose: Property.ShortText({
|
||||
displayName: 'Link Purpose',
|
||||
description: 'A brief description for which payment must be collected (max 500 characters)',
|
||||
required: true,
|
||||
}),
|
||||
customerPhone: Property.ShortText({
|
||||
displayName: 'Customer Phone',
|
||||
description: 'Customer phone number (required)',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Customer Details
|
||||
customerEmail: Property.ShortText({
|
||||
displayName: 'Customer Email',
|
||||
description: 'Customer email address',
|
||||
required: false,
|
||||
}),
|
||||
customerName: Property.ShortText({
|
||||
displayName: 'Customer Name',
|
||||
description: 'Customer name',
|
||||
required: false,
|
||||
}),
|
||||
customerBankAccountNumber: Property.ShortText({
|
||||
displayName: 'Customer Bank Account Number',
|
||||
description: 'Customer bank account number',
|
||||
required: false,
|
||||
}),
|
||||
customerBankIfsc: Property.ShortText({
|
||||
displayName: 'Customer Bank IFSC',
|
||||
description: 'Customer bank IFSC code',
|
||||
required: false,
|
||||
}),
|
||||
customerBankCode: Property.StaticDropdown({
|
||||
displayName: 'Customer Bank Code',
|
||||
description: 'Customer bank code for net banking',
|
||||
required: false,
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{ label: 'State Bank of India (3003)', value: 3003 },
|
||||
{ label: 'HDFC Bank (3005)', value: 3005 },
|
||||
{ label: 'ICICI Bank (3006)', value: 3006 },
|
||||
{ label: 'Axis Bank (3010)', value: 3010 },
|
||||
{ label: 'Punjab National Bank (3012)', value: 3012 },
|
||||
{ label: 'Bank of Baroda (3016)', value: 3016 },
|
||||
{ label: 'Canara Bank (3019)', value: 3019 },
|
||||
{ label: 'Union Bank of India (3020)', value: 3020 },
|
||||
{ label: 'Bank of India (3021)', value: 3021 },
|
||||
{ label: 'Central Bank of India (3022)', value: 3022 },
|
||||
{ label: 'Indian Bank (3023)', value: 3023 },
|
||||
{ label: 'Indian Overseas Bank (3024)', value: 3024 },
|
||||
{ label: 'UCO Bank (3026)', value: 3026 },
|
||||
{ label: 'Bank of Maharashtra (3027)', value: 3027 },
|
||||
{ label: 'Punjab & Sind Bank (3028)', value: 3028 },
|
||||
{ label: 'IDBI Bank (3029)', value: 3029 },
|
||||
{ label: 'Federal Bank (3030)', value: 3030 },
|
||||
{ label: 'South Indian Bank (3031)', value: 3031 },
|
||||
{ label: 'IndusInd Bank (3032)', value: 3032 },
|
||||
{ label: 'YES Bank (3033)', value: 3033 },
|
||||
{ label: 'Kotak Mahindra Bank (7001)', value: 7001 },
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Link Configuration
|
||||
linkId: Property.ShortText({
|
||||
displayName: 'Link ID',
|
||||
description: 'Unique identifier for the link. Alphanumeric, "-" and "_" only (max 50 characters). Auto-generated if not provided',
|
||||
required: false,
|
||||
}),
|
||||
linkPartialPayments: Property.Checkbox({
|
||||
displayName: 'Enable Partial Payments',
|
||||
description: 'Allow customers to make partial payments for the link',
|
||||
required: false,
|
||||
}),
|
||||
linkMinimumPartialAmount: Property.Number({
|
||||
displayName: 'Minimum Partial Amount',
|
||||
description: 'Minimum amount in first installment (required if partial payments enabled)',
|
||||
required: false,
|
||||
}),
|
||||
linkExpiryTime: Property.ShortText({
|
||||
displayName: 'Link Expiry Time',
|
||||
description: 'ISO 8601 format. Example: 2021-07-02T10:20:12+05:30. Default is 30 days',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Notification Settings
|
||||
sendSms: Property.Checkbox({
|
||||
displayName: 'Send SMS Notification',
|
||||
description: 'Send SMS notification to customer phone',
|
||||
required: false,
|
||||
}),
|
||||
sendEmail: Property.Checkbox({
|
||||
displayName: 'Send Email Notification',
|
||||
description: 'Send email notification to customer email',
|
||||
required: false,
|
||||
}),
|
||||
linkAutoReminders: Property.Checkbox({
|
||||
displayName: 'Auto Reminders',
|
||||
description: 'Send automatic reminders to customers for payment collection',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Link Meta
|
||||
notifyUrl: Property.ShortText({
|
||||
displayName: 'Notify URL',
|
||||
description: 'HTTPS URL for server-to-server notifications',
|
||||
required: false,
|
||||
}),
|
||||
returnUrl: Property.ShortText({
|
||||
displayName: 'Return URL',
|
||||
description: 'URL to redirect user after payment completion (max 250 characters)',
|
||||
required: false,
|
||||
}),
|
||||
upiIntent: Property.Checkbox({
|
||||
displayName: 'UPI Intent',
|
||||
description: 'Directly open UPI Intent flow on mobile devices',
|
||||
required: false,
|
||||
}),
|
||||
paymentMethods: Property.ShortText({
|
||||
displayName: 'Payment Methods',
|
||||
description: 'Comma-separated values: cc,dc,ccc,ppc,nb,upi,paypal,app. Leave blank for all methods',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Additional Data
|
||||
linkNotes: Property.LongText({
|
||||
displayName: 'Link Notes',
|
||||
description: 'Key-value pairs as JSON. Maximum 5 key-value pairs. Example: {"key_1":"value_1","key_2":"value_2"}',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Order Splits
|
||||
orderSplits: Property.LongText({
|
||||
displayName: 'Order Splits',
|
||||
description: 'JSON array for Easy Split. Example: [{"vendor_id":"vendor1","amount":100}]',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props
|
||||
const {
|
||||
environment,
|
||||
linkAmount,
|
||||
linkCurrency,
|
||||
linkPurpose,
|
||||
customerPhone,
|
||||
customerEmail,
|
||||
customerName,
|
||||
customerBankAccountNumber,
|
||||
customerBankIfsc,
|
||||
customerBankCode,
|
||||
linkId,
|
||||
linkPartialPayments,
|
||||
linkMinimumPartialAmount,
|
||||
linkExpiryTime,
|
||||
sendSms,
|
||||
sendEmail,
|
||||
linkAutoReminders,
|
||||
notifyUrl,
|
||||
returnUrl,
|
||||
upiIntent,
|
||||
paymentMethods,
|
||||
linkNotes,
|
||||
orderSplits,
|
||||
} = context.propsValue;
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? 'https://api.cashfree.com/pg/links'
|
||||
: 'https://sandbox.cashfree.com/pg/links';
|
||||
|
||||
// Generate link ID if not provided
|
||||
const generatedLinkId = linkId || `link_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
||||
|
||||
// Build customer details object
|
||||
const customerDetails: any = {
|
||||
customer_phone: customerPhone,
|
||||
};
|
||||
|
||||
if (customerEmail) customerDetails.customer_email = customerEmail;
|
||||
if (customerName) customerDetails.customer_name = customerName;
|
||||
if (customerBankAccountNumber) customerDetails.customer_bank_account_number = customerBankAccountNumber;
|
||||
if (customerBankIfsc) customerDetails.customer_bank_ifsc = customerBankIfsc;
|
||||
if (customerBankCode) customerDetails.customer_bank_code = customerBankCode;
|
||||
|
||||
// Build link notify object
|
||||
const linkNotify: any = {};
|
||||
if (sendSms !== undefined) linkNotify.send_sms = sendSms;
|
||||
if (sendEmail !== undefined) linkNotify.send_email = sendEmail;
|
||||
|
||||
// Build link meta object
|
||||
const linkMeta: any = {};
|
||||
if (notifyUrl) linkMeta.notify_url = notifyUrl;
|
||||
if (returnUrl) linkMeta.return_url = returnUrl;
|
||||
if (upiIntent !== undefined) linkMeta.upi_intent = upiIntent;
|
||||
if (paymentMethods) linkMeta.payment_methods = paymentMethods;
|
||||
|
||||
// Parse link notes if provided
|
||||
let parsedLinkNotes;
|
||||
if (linkNotes) {
|
||||
try {
|
||||
parsedLinkNotes = JSON.parse(linkNotes);
|
||||
} catch (error) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid JSON format for link notes',
|
||||
message: 'Link notes must be valid JSON format. Example: {"key_1":"value_1","key_2":"value_2"}',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Parse order splits if provided
|
||||
let parsedOrderSplits;
|
||||
if (orderSplits) {
|
||||
try {
|
||||
parsedOrderSplits = JSON.parse(orderSplits);
|
||||
} catch (error) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid JSON format for order splits',
|
||||
message: 'Order splits must be valid JSON array. Example: [{"vendor_id":"vendor1","amount":100}]',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Prepare the request body
|
||||
const requestBody: any = {
|
||||
link_amount: linkAmount,
|
||||
link_currency: linkCurrency,
|
||||
link_purpose: linkPurpose,
|
||||
customer_details: customerDetails,
|
||||
link_id: generatedLinkId,
|
||||
};
|
||||
|
||||
// Add optional fields
|
||||
if (linkPartialPayments !== undefined) requestBody.link_partial_payments = linkPartialPayments;
|
||||
if (linkMinimumPartialAmount) requestBody.link_minimum_partial_amount = linkMinimumPartialAmount;
|
||||
if (linkExpiryTime) requestBody.link_expiry_time = linkExpiryTime;
|
||||
if (Object.keys(linkNotify).length > 0) requestBody.link_notify = linkNotify;
|
||||
if (linkAutoReminders !== undefined) requestBody.link_auto_reminders = linkAutoReminders;
|
||||
if (Object.keys(linkMeta).length > 0) requestBody.link_meta = linkMeta;
|
||||
if (parsedLinkNotes) requestBody.link_notes = parsedLinkNotes;
|
||||
if (parsedOrderSplits) requestBody.order_splits = parsedOrderSplits;
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
'x-client-id': clientId,
|
||||
'x-client-secret': clientSecret,
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
body: requestBody,
|
||||
});
|
||||
|
||||
if (response.status === 200 || response.status === 201) {
|
||||
return {
|
||||
success: true,
|
||||
data: response.body,
|
||||
message: 'Payment link created successfully',
|
||||
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to create payment link',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error creating Cashfree payment link:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while creating the payment link',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,291 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const createRefund = createAction({
|
||||
auth: cashfreePaymentsAuth,
|
||||
name: 'create-refund',
|
||||
displayName: 'Create Refund',
|
||||
description: 'Initiate a refund for a Cashfree order. Refunds can only be initiated within six months of the original transaction.',
|
||||
requireAuth: true,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
orderId: Property.ShortText({
|
||||
displayName: 'Order ID',
|
||||
description: 'The ID which uniquely identifies your order',
|
||||
required: true,
|
||||
}),
|
||||
refundAmount: Property.Number({
|
||||
displayName: 'Refund Amount',
|
||||
description: 'Amount to be refunded. Should be lesser than or equal to the transaction amount. (Decimals allowed)',
|
||||
required: true,
|
||||
}),
|
||||
refundId: Property.ShortText({
|
||||
displayName: 'Refund ID',
|
||||
description: 'An unique ID to associate the refund with. Provide alphanumeric values (3-40 characters)',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Fields
|
||||
refundNote: Property.ShortText({
|
||||
displayName: 'Refund Note',
|
||||
description: 'A refund note for your reference (3-100 characters)',
|
||||
required: false,
|
||||
}),
|
||||
refundSpeed: Property.StaticDropdown({
|
||||
displayName: 'Refund Speed',
|
||||
description: 'Speed at which the refund is processed',
|
||||
required: false,
|
||||
defaultValue: 'STANDARD',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Standard',
|
||||
value: 'STANDARD',
|
||||
},
|
||||
{
|
||||
label: 'Instant',
|
||||
value: 'INSTANT',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Refund Splits
|
||||
refundSplits: Property.LongText({
|
||||
displayName: 'Refund Splits',
|
||||
description: 'JSON array for vendor splits. Example: [{"vendor_id":"vendor1","amount":100},{"vendor_id":"vendor2","percentage":25}]',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Custom Tags
|
||||
tags: Property.LongText({
|
||||
displayName: 'Custom Tags',
|
||||
description: 'Custom Tags in JSON format {"key":"value"}. Maximum 10 tags allowed. Example: {"refund_reason":"customer_request","processed_by":"admin"}',
|
||||
required: false,
|
||||
}),
|
||||
|
||||
// Request Headers
|
||||
requestId: Property.ShortText({
|
||||
displayName: 'Request ID',
|
||||
description: 'Request ID for the API call. Can be used to resolve tech issues',
|
||||
required: false,
|
||||
}),
|
||||
idempotencyKey: Property.ShortText({
|
||||
displayName: 'Idempotency Key',
|
||||
description: 'UUID format idempotency key to avoid duplicate actions if request fails or times out',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props
|
||||
const {
|
||||
environment,
|
||||
orderId,
|
||||
refundAmount,
|
||||
refundId,
|
||||
refundNote,
|
||||
refundSpeed,
|
||||
refundSplits,
|
||||
tags,
|
||||
requestId,
|
||||
idempotencyKey,
|
||||
} = context.propsValue;
|
||||
|
||||
// Validate refund ID format and length
|
||||
if (refundId.length < 3 || refundId.length > 40) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid refund ID length',
|
||||
message: 'Refund ID must be between 3 and 40 characters',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate refund note length if provided
|
||||
if (refundNote && (refundNote.length < 3 || refundNote.length > 100)) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid refund note length',
|
||||
message: 'Refund note must be between 3 and 100 characters',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate refund amount
|
||||
if (refundAmount <= 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid refund amount',
|
||||
message: 'Refund amount must be greater than 0',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? `https://api.cashfree.com/pg/orders/${orderId}/refunds`
|
||||
: `https://sandbox.cashfree.com/pg/orders/${orderId}/refunds`;
|
||||
|
||||
// Parse refund splits if provided
|
||||
let parsedRefundSplits;
|
||||
if (refundSplits) {
|
||||
try {
|
||||
parsedRefundSplits = JSON.parse(refundSplits);
|
||||
|
||||
// Validate refund splits structure
|
||||
if (!Array.isArray(parsedRefundSplits)) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid refund splits format',
|
||||
message: 'Refund splits must be a JSON array',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate each split entry
|
||||
for (const split of parsedRefundSplits) {
|
||||
if (!split.vendor_id) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid refund split entry',
|
||||
message: 'Each refund split must have a vendor_id',
|
||||
};
|
||||
}
|
||||
|
||||
if (!split.amount && !split.percentage) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid refund split entry',
|
||||
message: 'Each refund split must have either amount or percentage',
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid JSON format for refund splits',
|
||||
message: 'Refund splits must be valid JSON array. Example: [{"vendor_id":"vendor1","amount":100}]',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Parse custom tags if provided
|
||||
let parsedTags;
|
||||
if (tags) {
|
||||
try {
|
||||
parsedTags = JSON.parse(tags);
|
||||
|
||||
// Validate tags structure
|
||||
if (typeof parsedTags !== 'object' || Array.isArray(parsedTags)) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid tags format',
|
||||
message: 'Tags must be a JSON object',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate maximum 10 tags
|
||||
if (Object.keys(parsedTags).length > 10) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Too many tags',
|
||||
message: 'Maximum 10 tags are allowed',
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid JSON format for tags',
|
||||
message: 'Tags must be valid JSON format. Example: {"refund_reason":"customer_request","processed_by":"admin"}',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Prepare the request body
|
||||
const requestBody: any = {
|
||||
refund_amount: refundAmount,
|
||||
refund_id: refundId,
|
||||
};
|
||||
|
||||
// Add optional fields
|
||||
if (refundNote) requestBody.refund_note = refundNote;
|
||||
if (refundSpeed) requestBody.refund_speed = refundSpeed;
|
||||
if (parsedRefundSplits) requestBody.refund_splits = parsedRefundSplits;
|
||||
if (parsedTags) requestBody.tags = parsedTags;
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
'x-client-id': clientId,
|
||||
'x-client-secret': clientSecret,
|
||||
};
|
||||
|
||||
// Add optional headers
|
||||
if (requestId) headers['x-request-id'] = requestId;
|
||||
if (idempotencyKey) headers['x-idempotency-key'] = idempotencyKey;
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
body: requestBody,
|
||||
});
|
||||
|
||||
if (response.status === 200 || response.status === 201) {
|
||||
return {
|
||||
success: true,
|
||||
data: response.body,
|
||||
message: 'Refund created successfully',
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to create refund',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error creating Cashfree refund:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while creating the refund',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,199 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth, generateCashgramToken, validateAuthCredentials } from '../auth/cashgram-auth';
|
||||
|
||||
export const deactivateCashgram = createAction({
|
||||
auth: cashfreePaymentsAuth,
|
||||
name: 'deactivate-cashgram',
|
||||
displayName: 'Deactivate Cashgram',
|
||||
description: 'Deactivate a Cashgram to prevent further redemptions using Cashfree',
|
||||
requireAuth: true,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
cashgramId: Property.ShortText({
|
||||
displayName: 'Cashgram ID',
|
||||
description: 'ID of the Cashgram to be deactivated. Alphanumeric and underscore (_) allowed (35 character limit)',
|
||||
required: true,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const {
|
||||
|
||||
clientId,
|
||||
clientSecret,
|
||||
} = context.auth.props
|
||||
|
||||
|
||||
|
||||
// Validate credentials based on auth type
|
||||
const validation = validateAuthCredentials('client_credentials', {
|
||||
clientId,
|
||||
clientSecret,
|
||||
});
|
||||
|
||||
if (!validation.isValid) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid authentication credentials',
|
||||
message: validation.error,
|
||||
};
|
||||
}
|
||||
const { environment, cashgramId } = context.propsValue;
|
||||
|
||||
const tokenResponse = await generateCashgramToken(
|
||||
{
|
||||
clientId: clientId!,
|
||||
clientSecret: clientSecret!,
|
||||
},
|
||||
environment as 'sandbox' | 'production'
|
||||
);
|
||||
|
||||
if (!tokenResponse.success || !tokenResponse.token) {
|
||||
return {
|
||||
success: false,
|
||||
error: tokenResponse.error,
|
||||
message: tokenResponse.message || 'Failed to generate bearer token for Cashgram authentication',
|
||||
};
|
||||
}
|
||||
|
||||
const finalBearerToken = tokenResponse.token;
|
||||
|
||||
|
||||
// Validate cashgram ID format
|
||||
if (!cashgramId || cashgramId.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid Cashgram ID',
|
||||
message: 'Cashgram ID is required and cannot be empty',
|
||||
};
|
||||
}
|
||||
|
||||
if (cashgramId.length > 35) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid Cashgram ID length',
|
||||
message: 'Cashgram ID must be 35 characters or less',
|
||||
};
|
||||
}
|
||||
|
||||
// Validate cashgram ID format (alphanumeric and underscore only)
|
||||
const cashgramIdRegex = /^[a-zA-Z0-9_]+$/;
|
||||
if (!cashgramIdRegex.test(cashgramId)) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid Cashgram ID format',
|
||||
message: 'Cashgram ID can only contain alphanumeric characters and underscore (_)',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? 'https://payout-api.cashfree.com/payout/v1/deactivateCashgram'
|
||||
: 'https://payout-gamma.cashfree.com/payout/v1/deactivateCashgram';
|
||||
|
||||
// Prepare the request body
|
||||
const requestBody = {
|
||||
cashgramId: cashgramId,
|
||||
};
|
||||
|
||||
// Build headers
|
||||
const headers: any = {
|
||||
'Authorization': `Bearer ${finalBearerToken}`,
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
body: requestBody,
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
const responseData = response.body;
|
||||
return {
|
||||
success: true,
|
||||
data: responseData,
|
||||
message: responseData?.message || 'Cashgram deactivated successfully',
|
||||
|
||||
};
|
||||
} else {
|
||||
// Handle specific error cases
|
||||
if (response.status === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Bad request - Please check your Cashgram ID format',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 401) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Unauthorized - Please check your Bearer Token',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 403) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Forbidden - You do not have permission to deactivate Cashgrams',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 404) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Cashgram not found with the provided ID',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 409) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Conflict - Cashgram may already be deactivated or cannot be deactivated',
|
||||
status: response.status,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to deactivate Cashgram',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error deactivating Cashfree Cashgram:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while deactivating the Cashgram',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,163 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const fetchPaymentLinkDetails = createAction({
|
||||
name: 'fetch-payment-link-details',
|
||||
displayName: 'Fetch Payment Link Details',
|
||||
description: 'View all details and status of a payment link in Cashfree Payment Gateway',
|
||||
requireAuth: true,
|
||||
auth: cashfreePaymentsAuth,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
linkId: Property.ShortText({
|
||||
displayName: 'Payment Link ID',
|
||||
description: 'The payment link ID for which you want to view the details',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Headers
|
||||
requestId: Property.ShortText({
|
||||
displayName: 'Request ID',
|
||||
description: 'Request ID for the API call. Can be used to resolve tech issues',
|
||||
required: false,
|
||||
}),
|
||||
idempotencyKey: Property.ShortText({
|
||||
displayName: 'Idempotency Key',
|
||||
description: 'UUID format idempotency key for request deduplication',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props
|
||||
const {
|
||||
environment,
|
||||
linkId,
|
||||
requestId,
|
||||
idempotencyKey,
|
||||
} = context.propsValue;
|
||||
|
||||
// Validate link ID format
|
||||
if (!linkId || linkId.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid link ID',
|
||||
message: 'Payment Link ID is required and cannot be empty',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? `https://api.cashfree.com/pg/links/${linkId}`
|
||||
: `https://sandbox.cashfree.com/pg/links/${linkId}`;
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Accept': 'application/json',
|
||||
'x-client-id': clientId,
|
||||
'x-client-secret': clientSecret,
|
||||
};
|
||||
|
||||
// Add optional headers
|
||||
if (requestId) headers['x-request-id'] = requestId;
|
||||
if (idempotencyKey) headers['x-idempotency-key'] = idempotencyKey;
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
const linkData = response.body;
|
||||
return {
|
||||
success: true,
|
||||
data: linkData,
|
||||
message: 'Payment link details fetched successfully',
|
||||
|
||||
};
|
||||
} else {
|
||||
// Handle specific error cases
|
||||
if (response.status === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Bad request - Invalid link ID format or parameters',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 404) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Payment link not found with the provided link ID',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 401) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Unauthorized - Please check your authentication credentials',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 403) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Forbidden - You do not have permission to access this link',
|
||||
status: response.status,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to fetch payment link details',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching Cashfree payment link details:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while fetching the payment link details',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,241 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const getAllRefundsForOrder = createAction({
|
||||
auth: cashfreePaymentsAuth,
|
||||
name: 'get-all-refunds-for-order',
|
||||
displayName: 'Get All Refunds for Order',
|
||||
description: 'Fetch all refunds processed against an order in Cashfree Payment Gateway',
|
||||
requireAuth: true,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
orderId: Property.ShortText({
|
||||
displayName: 'Order ID',
|
||||
description: 'The ID which uniquely identifies your order',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Headers
|
||||
requestId: Property.ShortText({
|
||||
displayName: 'Request ID',
|
||||
description: 'Request ID for the API call. Can be used to resolve tech issues',
|
||||
required: false,
|
||||
}),
|
||||
idempotencyKey: Property.ShortText({
|
||||
displayName: 'Idempotency Key',
|
||||
description: 'UUID format idempotency key for request deduplication',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props
|
||||
const {
|
||||
environment,
|
||||
orderId,
|
||||
requestId,
|
||||
idempotencyKey,
|
||||
} = context.propsValue;
|
||||
|
||||
// Validate order ID format
|
||||
if (!orderId || orderId.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid order ID',
|
||||
message: 'Order ID is required and cannot be empty',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
const baseUrl = environment === 'production'
|
||||
? `https://api.cashfree.com/pg/orders/${orderId}/refunds`
|
||||
: `https://sandbox.cashfree.com/pg/orders/${orderId}/refunds`;
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Accept': 'application/json',
|
||||
'x-client-id': clientId,
|
||||
'x-client-secret': clientSecret,
|
||||
};
|
||||
|
||||
// Add optional headers
|
||||
if (requestId) headers['x-request-id'] = requestId;
|
||||
if (idempotencyKey) headers['x-idempotency-key'] = idempotencyKey;
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
const refundsData = response.body;
|
||||
|
||||
// Extract refunds array and metadata
|
||||
const refunds = Array.isArray(refundsData) ? refundsData : refundsData?.refunds || [];
|
||||
const totalRefunds = refunds.length;
|
||||
|
||||
// Calculate summary statistics
|
||||
let totalRefundAmount = 0;
|
||||
let successfulRefunds = 0;
|
||||
let pendingRefunds = 0;
|
||||
let failedRefunds = 0;
|
||||
const refundStatuses = new Set();
|
||||
const refundModes = new Set();
|
||||
const refundSpeeds = new Set();
|
||||
|
||||
refunds.forEach((refund: any) => {
|
||||
// Calculate amounts
|
||||
if (refund.refund_amount) {
|
||||
totalRefundAmount += parseFloat(refund.refund_amount);
|
||||
}
|
||||
|
||||
// Track statuses
|
||||
if (refund.refund_status) {
|
||||
refundStatuses.add(refund.refund_status);
|
||||
|
||||
// Count by status
|
||||
const status = refund.refund_status.toUpperCase();
|
||||
if (status === 'SUCCESS' || status === 'PROCESSED') {
|
||||
successfulRefunds++;
|
||||
} else if (status === 'PENDING' || status === 'PROCESSING') {
|
||||
pendingRefunds++;
|
||||
} else if (status === 'FAILED' || status === 'CANCELLED') {
|
||||
failedRefunds++;
|
||||
}
|
||||
}
|
||||
|
||||
// Track refund modes and speeds
|
||||
if (refund.refund_mode) refundModes.add(refund.refund_mode);
|
||||
if (refund.refund_speed) refundSpeeds.add(refund.refund_speed);
|
||||
});
|
||||
|
||||
// Extract unique refund IDs and other metadata
|
||||
const refundIds = refunds.map((refund: any) => refund.refund_id || refund.cf_refund_id).filter(Boolean);
|
||||
const refundCharges = refunds.reduce((sum: number, refund: any) => {
|
||||
return sum + (refund.refund_charge ? parseFloat(refund.refund_charge) : 0);
|
||||
}, 0);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
data: refundsData,
|
||||
message: `Found ${totalRefunds} refund(s) for order ${orderId}`,
|
||||
|
||||
// Summary information
|
||||
summary: {
|
||||
totalRefunds: totalRefunds,
|
||||
successfulRefunds: successfulRefunds,
|
||||
pendingRefunds: pendingRefunds,
|
||||
failedRefunds: failedRefunds,
|
||||
totalRefundAmount: totalRefundAmount,
|
||||
totalRefundCharges: refundCharges,
|
||||
refundStatuses: Array.from(refundStatuses),
|
||||
refundModes: Array.from(refundModes),
|
||||
refundSpeeds: Array.from(refundSpeeds),
|
||||
},
|
||||
|
||||
// Individual refunds
|
||||
refunds: refunds,
|
||||
|
||||
// Request parameters for reference
|
||||
orderId: orderId,
|
||||
|
||||
// Quick access to key refund information
|
||||
refundIds: refundIds,
|
||||
latestRefund: refunds.length > 0 ? refunds[refunds.length - 1] : null,
|
||||
oldestRefund: refunds.length > 0 ? refunds[0] : null,
|
||||
|
||||
// Financial summary
|
||||
financialSummary: {
|
||||
totalRefunded: totalRefundAmount,
|
||||
averageRefundAmount: totalRefunds > 0 ? (totalRefundAmount / totalRefunds) : 0,
|
||||
totalCharges: refundCharges,
|
||||
netRefundAmount: totalRefundAmount - refundCharges,
|
||||
},
|
||||
};
|
||||
} else {
|
||||
// Handle specific error cases
|
||||
if (response.status === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Bad request - Invalid order ID format',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 404) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Order not found with the provided order ID',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 401) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Unauthorized - Please check your authentication credentials',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 403) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Forbidden - You do not have permission to access this order\'s refunds',
|
||||
status: response.status,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to fetch refunds for order',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching refunds for Cashfree order:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while fetching refunds for the order',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,234 @@
|
||||
import { createAction, Property } from '@activepieces/pieces-framework';
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { cashfreePaymentsAuth } from '../auth/cashgram-auth';
|
||||
|
||||
export const getOrdersForPaymentLink = createAction({
|
||||
auth: cashfreePaymentsAuth,
|
||||
name: 'get-orders-for-payment-link',
|
||||
displayName: 'Get Orders for Payment Link',
|
||||
description: 'View all order details for a payment link in Cashfree Payment Gateway',
|
||||
requireAuth: true,
|
||||
props: {
|
||||
environment: Property.StaticDropdown({
|
||||
displayName: 'Environment',
|
||||
description: 'Choose the environment for API calls',
|
||||
required: true,
|
||||
defaultValue: 'sandbox',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'Sandbox',
|
||||
value: 'sandbox',
|
||||
},
|
||||
{
|
||||
label: 'Production',
|
||||
value: 'production',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Required Fields
|
||||
linkId: Property.ShortText({
|
||||
displayName: 'Payment Link ID',
|
||||
description: 'The payment link ID for which you want to view the order details',
|
||||
required: true,
|
||||
}),
|
||||
|
||||
// Optional Query Parameters
|
||||
status: Property.StaticDropdown({
|
||||
displayName: 'Order Status Filter',
|
||||
description: 'Filter orders by status (default is PAID)',
|
||||
required: false,
|
||||
defaultValue: 'PAID',
|
||||
options: {
|
||||
disabled: false,
|
||||
options: [
|
||||
{
|
||||
label: 'All Orders',
|
||||
value: 'ALL',
|
||||
},
|
||||
{
|
||||
label: 'Paid Orders Only',
|
||||
value: 'PAID',
|
||||
},
|
||||
],
|
||||
},
|
||||
}),
|
||||
|
||||
// Optional Headers
|
||||
requestId: Property.ShortText({
|
||||
displayName: 'Request ID',
|
||||
description: 'Request ID for the API call. Can be used to resolve tech issues',
|
||||
required: false,
|
||||
}),
|
||||
idempotencyKey: Property.ShortText({
|
||||
displayName: 'Idempotency Key',
|
||||
description: 'UUID format idempotency key for request deduplication',
|
||||
required: false,
|
||||
}),
|
||||
},
|
||||
|
||||
async run(context) {
|
||||
// Get authentication values from piece-level auth
|
||||
const { clientId, clientSecret } = context.auth.props
|
||||
|
||||
|
||||
if (!clientId || !clientSecret) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Client ID and Client Secret are required',
|
||||
message: 'Please provide both Client ID and Client Secret for authentication',
|
||||
};
|
||||
}
|
||||
|
||||
// Get action-specific values from props
|
||||
const {
|
||||
environment,
|
||||
linkId,
|
||||
status,
|
||||
requestId,
|
||||
idempotencyKey,
|
||||
} = context.propsValue;
|
||||
|
||||
// Validate link ID format
|
||||
if (!linkId || linkId.trim().length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Invalid link ID',
|
||||
message: 'Payment Link ID is required and cannot be empty',
|
||||
};
|
||||
}
|
||||
|
||||
// Determine the base URL based on environment
|
||||
let baseUrl = environment === 'production'
|
||||
? `https://api.cashfree.com/pg/links/${linkId}/orders`
|
||||
: `https://sandbox.cashfree.com/pg/links/${linkId}/orders`;
|
||||
|
||||
// Add query parameters if status is provided
|
||||
const queryParams = new URLSearchParams();
|
||||
if (status && status !== 'PAID') {
|
||||
queryParams.append('status', status);
|
||||
}
|
||||
|
||||
if (queryParams.toString()) {
|
||||
baseUrl += `?${queryParams.toString()}`;
|
||||
}
|
||||
|
||||
// Build headers - only client credentials supported
|
||||
const headers: any = {
|
||||
'x-api-version': '2025-01-01',
|
||||
'Accept': 'application/json',
|
||||
'x-client-id': clientId,
|
||||
'x-client-secret': clientSecret,
|
||||
};
|
||||
|
||||
// Add optional headers
|
||||
if (requestId) headers['x-request-id'] = requestId;
|
||||
if (idempotencyKey) headers['x-idempotency-key'] = idempotencyKey;
|
||||
|
||||
try {
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.GET,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
});
|
||||
|
||||
if (response.status === 200) {
|
||||
const ordersData = response.body;
|
||||
|
||||
// Extract orders array and metadata
|
||||
const orders = Array.isArray(ordersData) ? ordersData : ordersData?.orders || [];
|
||||
const totalOrders = orders.length;
|
||||
|
||||
// Calculate summary statistics
|
||||
let totalAmount = 0;
|
||||
let paidAmount = 0;
|
||||
let paidOrdersCount = 0;
|
||||
const orderStatuses = new Set();
|
||||
|
||||
orders.forEach((order: any) => {
|
||||
if (order.order_amount) totalAmount += parseFloat(order.order_amount);
|
||||
if (order.order_status) orderStatuses.add(order.order_status);
|
||||
if (order.order_status === 'PAID') {
|
||||
paidOrdersCount++;
|
||||
if (order.order_amount) paidAmount += parseFloat(order.order_amount);
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
data: ordersData,
|
||||
message: `Found ${totalOrders} order(s) for payment link`,
|
||||
|
||||
// Summary information
|
||||
summary: {
|
||||
totalOrders: totalOrders,
|
||||
paidOrders: paidOrdersCount,
|
||||
totalAmount: totalAmount,
|
||||
paidAmount: paidAmount,
|
||||
orderStatuses: Array.from(orderStatuses),
|
||||
},
|
||||
|
||||
// Individual orders
|
||||
orders: orders,
|
||||
|
||||
// Request parameters for reference
|
||||
linkId: linkId,
|
||||
statusFilter: status || 'PAID',
|
||||
|
||||
// Quick access to key order information
|
||||
orderIds: orders.map((order: any) => order.order_id).filter(Boolean),
|
||||
customerIds: [...new Set(orders.map((order: any) => order.customer_details?.customer_id).filter(Boolean))],
|
||||
paymentMethods: [...new Set(orders.map((order: any) => order.payment_method).filter(Boolean))],
|
||||
};
|
||||
} else {
|
||||
// Handle specific error cases
|
||||
if (response.status === 400) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Bad request - Invalid link ID or query parameters',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 404) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Payment link not found with the provided link ID',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 401) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Unauthorized - Please check your authentication credentials',
|
||||
status: response.status,
|
||||
};
|
||||
} else if (response.status === 403) {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Forbidden - You do not have permission to access this link\'s orders',
|
||||
status: response.status,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: 'Failed to fetch orders for payment link',
|
||||
status: response.status,
|
||||
};
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching orders for Cashfree payment link:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while fetching orders for the payment link',
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,161 @@
|
||||
import { httpClient, HttpMethod } from '@activepieces/pieces-common';
|
||||
import { PieceAuth, Property } from '@activepieces/pieces-framework';
|
||||
|
||||
export interface CashgramAuthCredentials {
|
||||
clientId: string;
|
||||
clientSecret: string;
|
||||
}
|
||||
|
||||
export interface CashgramTokenResponse {
|
||||
success: boolean;
|
||||
token?: string;
|
||||
error?: any;
|
||||
message?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate bearer token for Cashgram operations using client credentials and public key
|
||||
*
|
||||
* This implementation uses crypto to generate the proper x-cf-signature.
|
||||
*/
|
||||
export async function generateCashgramToken(
|
||||
credentials: CashgramAuthCredentials,
|
||||
environment: 'sandbox' | 'production'
|
||||
): Promise<CashgramTokenResponse> {
|
||||
try {
|
||||
const baseUrl = environment === 'production'
|
||||
? 'https://payout-api.cashfree.com/payout/v1/authorize'
|
||||
: 'https://payout-gamma.cashfree.com/payout/v1/authorize';
|
||||
|
||||
const headers = {
|
||||
'x-client-id': credentials.clientId,
|
||||
'x-client-secret': credentials.clientSecret,
|
||||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const response = await httpClient.sendRequest({
|
||||
method: HttpMethod.POST,
|
||||
url: baseUrl,
|
||||
headers: headers,
|
||||
body: {},
|
||||
});
|
||||
|
||||
if (response.status === 200 && response.body?.data?.token) {
|
||||
return {
|
||||
success: true,
|
||||
token: response.body.data.token,
|
||||
message: 'Bearer token generated successfully',
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
success: false,
|
||||
error: response.body,
|
||||
message: `Failed to generate bearer token. Status: ${response.status}. Response: ${JSON.stringify(response.body)}`,
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error generating Cashgram token:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: error,
|
||||
message: 'An error occurred while generating the bearer token',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate authentication credentials based on auth type
|
||||
*/
|
||||
export function validateAuthCredentials(authType: string, credentials: {
|
||||
clientId?: string;
|
||||
clientSecret?: string;
|
||||
}): {
|
||||
isValid: boolean;
|
||||
error?: string;
|
||||
} {
|
||||
if (authType === 'client_credentials') {
|
||||
if (!credentials.clientId || (credentials.clientId).trim().length === 0) {
|
||||
return {
|
||||
isValid: false,
|
||||
error: 'Client ID is required for Client Credentials authentication',
|
||||
};
|
||||
}
|
||||
|
||||
if (!credentials.clientSecret || (credentials.clientSecret).trim().length === 0) {
|
||||
return {
|
||||
isValid: false,
|
||||
error: 'Client Secret is required for Client Credentials authentication',
|
||||
};
|
||||
}
|
||||
} else if (authType === 'client_credentials_with_public_key') {
|
||||
if (!credentials.clientId || (credentials.clientId).trim().length === 0) {
|
||||
return {
|
||||
isValid: false,
|
||||
error: 'Client ID is required for Client Credentials + Public Key authentication',
|
||||
};
|
||||
}
|
||||
|
||||
if (!credentials.clientSecret || (credentials.clientSecret).trim().length === 0) {
|
||||
return {
|
||||
isValid: false,
|
||||
error: 'Client Secret is required for Client Credentials + Public Key authentication',
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
isValid: true,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Legacy function for backward compatibility
|
||||
* @deprecated Use validateAuthCredentials instead
|
||||
*/
|
||||
export function validateCashgramCredentials(credentials: CashgramAuthCredentials): {
|
||||
isValid: boolean;
|
||||
error?: string;
|
||||
} {
|
||||
return validateAuthCredentials('client_credentials_with_public_key', credentials);
|
||||
}
|
||||
|
||||
export const cashfreePaymentsAuth = PieceAuth.CustomAuth({
|
||||
description: `Connect your Cashfree account
|
||||
|
||||
This connector requires Cashfree API credentials (Client ID and Client Secret). Important: each Cashfree product is a separate product and requires its own credentials. For example, the Payments API and the Payouts API each need their own Client ID / Client Secret pairs.
|
||||
|
||||
Create two connections (recommended)
|
||||
- For clarity and security we recommend creating two separate Activepieces connections:
|
||||
1. **Payments connection** — use the Payments API Client ID / Client Secret. Use this connection for payments-related actions (create order, payment links, refunds, etc.).
|
||||
2. **Payouts connection** — use the Payouts API Client ID / Client Secret. Use this connection for Cashgram and other payouts-related actions.
|
||||
|
||||
Which keys to use
|
||||
- Payments API: use the credentials generated for the Payments product.
|
||||
- Payouts API (required by Cashgram actions): use credentials generated from the Payouts dashboard.
|
||||
|
||||
How to generate API keys:
|
||||
1. Sign in to your Cashfree account and open the *Payouts* dashboard.
|
||||
2. In the navigation panel select **Developers**.
|
||||
3. Click **API Keys**.
|
||||
4. Click **Generate API Keys** on the API Keys screen.
|
||||
5. The **New API Keys** popup displays the Client ID and Client Secret.
|
||||
6. Click **Download API Keys** to save the keys locally. Keep these secret — do not share them.
|
||||
|
||||
`,
|
||||
props: {
|
||||
clientId: Property.ShortText({
|
||||
displayName: 'Cashfree Client ID',
|
||||
description: 'Your Cashfree Client ID',
|
||||
required: false,
|
||||
}),
|
||||
clientSecret: Property.ShortText({
|
||||
displayName: 'Cashfree Client Secret',
|
||||
description: 'Your Cashfree Client Secret',
|
||||
required: false,
|
||||
})
|
||||
},
|
||||
required: true,
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"importHelpers": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noPropertyAccessFromIndexSignature": true
|
||||
},
|
||||
"files": [],
|
||||
"include": [],
|
||||
"references": [
|
||||
{
|
||||
"path": "./tsconfig.lib.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../../../../dist/out-tsc",
|
||||
"declaration": true,
|
||||
"types": ["node"]
|
||||
},
|
||||
"include": ["src/**/*.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user