SFTP Transactions

Creating and updating transactions via SFTP bulk operations.

The /transactions folder allows you to create or update transactions in bulk via SFTP. Upload CSV files to process multiple transactions efficiently.

File Format

Upload CSV files to the /transactions folder. The CSV uses dot notation for nested fields and follows the same behavior patterns as other SFTP operations.

Common Required Fields

FieldDescriptionRequiredExample
actionTransaction action typeYesCHARGE, AUTHORIZE, REVERSAL, REFUND, CAPTURE, VOID, PAYOUT, NONE

Action-Specific Requirements

CHARGE Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "CHARGE" to create a charge transaction
amountinteger/stringYesTransaction amount in cents (if no decimal) or dollars (if decimal provided)
paymentMethod.idUUIDYesReferences existing stored payment method for processing

Optional Fields:

NameTypeRequiredDescription
currencystringNo3-digit ISO currency code, defaults to USD when not provided
businessProcessstring/UUIDNoLinks transaction to business process workflow
businessProcessActionUUIDNoLinks transaction to specific business process action
descriptionstringNoHuman-readable description for transaction records (3-50 characters)
metadataobjectNoAdditional data for transaction tracking (1-24 key-value pairs)
adjustmentsarrayNoTax, discount, or fee adjustments applied to transaction
productUUIDNoReferences product used for transaction processing
references.externalstringNoExternal system reference for transaction reconciliation
references.customerstringNoCustomer reference for transaction tracking

AUTHORIZE Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "AUTHORIZE" to create an authorization transaction
amountinteger/stringYesAuthorization amount in cents (if no decimal) or dollars (if decimal provided)
paymentMethod.idUUIDYesReferences existing stored payment method for authorization

Optional Fields:

NameTypeRequiredDescription
currencystringNo3-digit ISO currency code, defaults to USD when not provided
businessProcessstring/UUIDNoLinks transaction to business process workflow
businessProcessActionUUIDNoLinks transaction to specific business process action
descriptionstringNoHuman-readable description for transaction records (3-50 characters)
metadataobjectNoAdditional data for transaction tracking (1-24 key-value pairs)
adjustmentsarrayNoTax, discount, or fee adjustments applied to transaction
productUUIDNoReferences product used for transaction processing
references.externalstringNoExternal system reference for transaction reconciliation
references.customerstringNoCustomer reference for transaction tracking

REVERSAL Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "REVERSAL" to reverse an existing transaction
originIdUUIDYesReferences original transaction to be reversed

Optional Fields:

NameTypeRequiredDescription
amountintegerNoPartial reversal amount, defaults to full original amount when not provided
references.externalstringNoExternal system reference for reversal tracking
references.customerstringNoCustomer reference for reversal tracking

REFUND Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "REFUND" to refund an existing transaction
originIdUUIDYesReferences original transaction to be refunded

Optional Fields:

NameTypeRequiredDescription
amountintegerNoPartial refund amount, defaults to full original amount when not provided
references.externalstringNoExternal system reference for refund tracking
references.customerstringNoCustomer reference for refund tracking

CAPTURE Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "CAPTURE" to capture an authorized transaction
originIdUUIDYesReferences original authorization transaction to capture

Optional Fields:

NameTypeRequiredDescription
amountintegerNoCapture amount, defaults to full authorization amount when not provided
references.externalstringNoExternal system reference for capture tracking
references.customerstringNoCustomer reference for capture tracking

VOID Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "VOID" to void an existing transaction
originIdUUIDYesReferences original transaction to be voided

Optional Fields:

NameTypeRequiredDescription
references.externalstringNoExternal system reference for void tracking
references.customerstringNoCustomer reference for void tracking

PAYOUT Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "PAYOUT" to create a payout transaction
amountinteger/stringYesPayout amount in cents (if no decimal) or dollars (if decimal provided)
paymentMethod.idUUIDYesReferences existing stored payment method for payout

Optional Fields:

NameTypeRequiredDescription
currencystringNo3-digit ISO currency code, defaults to USD when not provided
businessProcessUUIDNoLinks transaction to business process workflow
businessProcessActionUUIDNoLinks transaction to specific business process action
descriptionstringNoHuman-readable description for transaction records (3-50 characters)
metadataobjectNoAdditional data for transaction tracking (1-24 key-value pairs)
productUUIDNoReferences product used for transaction processing
references.externalstringNoExternal system reference for transaction reconciliation
references.customerstringNoCustomer reference for transaction tracking

NONE Transactions

Required Fields:

NameTypeRequiredDescription
actionstringYesMust be "NONE" to create a transaction record without processing
actionTypestringYesOriginal transaction type (CHARGE, REVERSAL, or PAYOUT) for record keeping
amountintegerYesTransaction amount for record keeping (minimum 0)
descriptionstringYesHuman-readable description for transaction records (3-50 characters)

Optional Fields:

NameTypeRequiredDescription
statusstringNoTransaction status for record keeping
currencystringNo3-digit ISO currency code, defaults to USD when not provided
businessProcessUUIDNoLinks transaction to business process workflow
businessProcessActionUUIDNoLinks transaction to specific business process action
metadataobjectNoAdditional data for transaction tracking (1-24 key-value pairs)
adjustmentsarrayNoTax, discount, or fee adjustments for record keeping
createdOnintegerNoTimestamp in milliseconds when transaction was completed
references.externalstringNoExternal system reference for transaction reconciliation
references.customerstringNoCustomer reference for transaction tracking

Example CSV Files

CHARGE Transaction Example

action,amount,paymentMethod.id,currency,description
CHARGE,100.00,pm_123456789,USD,Product Purchase
CHARGE,250.50,pm_987654321,EUR,Invoice Payment

AUTHORIZE Transaction Example

action,amount,paymentMethod.id,currency,description
AUTHORIZE,100.00,pm_123456789,USD,Product Authorization
AUTHORIZE,250.50,pm_987654321,CAD,Invoice Authorization

REVERSAL Transaction Example

action,originId,amount,references.external
REVERSAL,123e4567-e89b-12d3-a456-426655440000,100.00,ext_ref_123
REVERSAL,123e4567-e89b-12d3-a456-426655440001,50.00,ext_ref_456

REFUND Transaction Example

action,originId,amount,references.external
REFUND,123e4567-e89b-12d3-a456-426655440000,100.00,ext_ref_123
REFUND,123e4567-e89b-12d3-a456-426655440001,50.00,ext_ref_456

CAPTURE Transaction Example

action,originId,amount,references.external
CAPTURE,123e4567-e89b-12d3-a456-426655440000,100.00,ext_ref_123
CAPTURE,123e4567-e89b-12d3-a456-426655440001,50.00,ext_ref_456

VOID Transaction Example

action,originId,references.external
VOID,123e4567-e89b-12d3-a456-426655440000,ext_ref_123
VOID,123e4567-e89b-12d3-a456-426655440001,ext_ref_456

PAYOUT Transaction Example

action,amount,paymentMethod.id,currency,description
PAYOUT,75.00,pm_123456789,USD,Service Payment
PAYOUT,125.25,pm_987654321,GBP,Refund Payment

NONE Transaction Example

action,actionType,amount,description,status,currency,createdOn
NONE,CHARGE,100.00,Transaction Record,CHARGED,USD,1727378861336
NONE,PAYOUT,50.00,Payout Record,COMPLETED,EUR,1727378861337

Processing Workflow

For each valid record:

  1. Action validation: Verify action type is valid (CHARGE, AUTHORIZE, REVERSAL, REFUND, CAPTURE, VOID, PAYOUT, NONE)
  2. Required field validation: Check all required fields for the action type
  3. Payment method validation: Verify payment method exists (if required)
  4. Origin transaction validation: Verify origin transaction exists (for child transactions)
  5. Transaction creation: Create transaction via API
  6. Status update: Mark record as processed

Error Codes

CodeDescriptionResolution
INVALID_ACTIONInvalid transaction actionCheck action type (CHARGE, AUTHORIZE, REVERSAL, REFUND, CAPTURE, VOID, PAYOUT, NONE)
MISSING_REQUIRED_FIELDRequired field missing for actionCheck action-specific requirements
INVALID_PAYMENT_METHODPayment method validation failedVerify payment method ID exists
ORIGIN_TRANSACTION_NOT_FOUNDOrigin transaction ID not foundVerify origin transaction exists
INVALID_AMOUNTInvalid transaction amountCheck amount format and minimum values
INVALID_CURRENCYInvalid currency codeUse valid 3-digit ISO currency code
INVALID_DESCRIPTIONDescription too short/longUse 3-50 characters
INVALID_METADATAInvalid metadata objectUse 1-24 key-value pairs