Files
n8n-nodes-strike/nodes/Strike/descriptions/PaymentDescription.ts
Martien 5605b9b49a Initial commit: n8n Strike API node
- Add Strike API credentials configuration
- Implement Strike node with 9 resources (Account, Balance, Currency Exchange, Deposit, Invoice, Payment, Payment Method, Payout, Rates)
- Add comprehensive operation descriptions for all resources
- Include CLAUDE.MD documentation
- Set up build configuration with TypeScript, ESLint, and Prettier

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-10 11:00:38 +01:00

276 lines
5.8 KiB
TypeScript

import type { INodeProperties } from 'n8n-workflow';
export const paymentOperations: INodeProperties[] = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: ['payment'],
},
},
options: [
{
name: 'Get',
value: 'get',
description: 'Get a payment by ID',
action: 'Get a payment',
},
{
name: 'Create Lightning Quote',
value: 'createLightningQuote',
description: 'Create a lightning payment quote',
action: 'Create a lightning payment quote',
},
{
name: 'Create On-Chain Quote',
value: 'createOnchainQuote',
description: 'Create an on-chain payment quote',
action: 'Create an on-chain payment quote',
},
{
name: 'Create LNURL Quote',
value: 'createLnurlQuote',
description: 'Create a payment quote for LN Address or LNURL',
action: 'Create an LNURL payment quote',
},
{
name: 'Get LNURL Details',
value: 'getLnurlDetails',
description: 'Get details for an LN Address or LNURL',
action: 'Get LNURL details',
},
{
name: 'Execute Quote',
value: 'executeQuote',
description: 'Execute a payment quote',
action: 'Execute a payment quote',
},
],
default: 'get',
},
];
export const paymentFields: INodeProperties[] = [
// ----------------------------------
// payment:get
// ----------------------------------
{
displayName: 'Payment ID',
name: 'paymentId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment to retrieve',
displayOptions: {
show: {
resource: ['payment'],
operation: ['get'],
},
},
},
// ----------------------------------
// payment:createLightningQuote
// ----------------------------------
{
displayName: 'Lightning Invoice (BOLT11)',
name: 'lnInvoice',
type: 'string',
required: true,
default: '',
description: 'The BOLT11 lightning invoice to pay',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLightningQuote'],
},
},
},
{
displayName: 'Source Currency',
name: 'sourceCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to pay from',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLightningQuote'],
},
},
},
// ----------------------------------
// payment:createOnchainQuote
// ----------------------------------
{
displayName: 'Bitcoin Address',
name: 'btcAddress',
type: 'string',
required: true,
default: '',
description: 'The Bitcoin address to send to',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
{
displayName: 'Source Currency',
name: 'sourceCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to pay from',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 8,
},
required: true,
default: 0,
description: 'Amount to send',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
{
displayName: 'Amount Currency',
name: 'amountCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'BTC',
description: 'Currency of the amount',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createOnchainQuote'],
},
},
},
// ----------------------------------
// payment:createLnurlQuote
// ----------------------------------
{
displayName: 'LN Address or LNURL',
name: 'lnAddressOrUrl',
type: 'string',
required: true,
default: '',
description: 'Lightning Address (user@domain.com) or LNURL',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote', 'getLnurlDetails'],
},
},
},
{
displayName: 'Amount',
name: 'amount',
type: 'number',
typeOptions: {
numberPrecision: 8,
},
required: true,
default: 0,
description: 'Amount to send',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote'],
},
},
},
{
displayName: 'Amount Currency',
name: 'amountCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency of the amount',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote'],
},
},
},
{
displayName: 'Source Currency',
name: 'sourceCurrency',
type: 'options',
options: [
{ name: 'BTC', value: 'BTC' },
{ name: 'USD', value: 'USD' },
{ name: 'EUR', value: 'EUR' },
{ name: 'GBP', value: 'GBP' },
],
default: 'USD',
description: 'Currency to pay from',
displayOptions: {
show: {
resource: ['payment'],
operation: ['createLnurlQuote'],
},
},
},
// ----------------------------------
// payment:executeQuote
// ----------------------------------
{
displayName: 'Payment Quote ID',
name: 'paymentQuoteId',
type: 'string',
required: true,
default: '',
description: 'The ID of the payment quote to execute',
displayOptions: {
show: {
resource: ['payment'],
operation: ['executeQuote'],
},
},
},
];