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>
This commit is contained in:
275
nodes/Strike/descriptions/PaymentDescription.ts
Normal file
275
nodes/Strike/descriptions/PaymentDescription.ts
Normal file
@ -0,0 +1,275 @@
|
||||
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'],
|
||||
},
|
||||
},
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user