- 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>
276 lines
5.8 KiB
TypeScript
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'],
|
|
},
|
|
},
|
|
},
|
|
];
|