# Create vendor payment method Create a new vendor payment method. Important: The vendorId cannot be changed after creation. Endpoint: POST /vendor-payment-methods Version: 1.0.0 Security: BearerAuth ## Request fields (application/json): - `vendorId` (string, required) Vendor profile ID. IMPORTANT: This field cannot be changed after creation. Example: "770e8400-e29b-41d4-a716-446655440000" - `paymentMethodType` (string, required) How payment is made Enum: "ACH_WIRE", "ZELLE", "VENMO", "ACH", "CHECK", "WIRE", "CAD_EFT", "TRIUMPH_PAY", "COMCHECK", "EFS", "ECHECK" - `status` (string) Payment method status Example: "ACTIVE" - `isPreferred` (boolean) Whether this is the preferred payment method Example: true - `email` (string) Email address for payment notifications Example: "payments@vendor.com" - `phone` (string) Phone number for payment contact Example: "+1-555-123-4567" - `companyName` (string) Company name for this payment method Example: "Vendor Payments LLC" - `username` (string) Username for payment platforms Example: "vendor_payments" - `bankName` (string) Bank name Example: "Chase Bank" - `bankAddress` (string) Bank address Example: "123 Bank Street, Dallas, TX 75201" - `accountName` (string) Bank account holder name Example: "Vendor Services Inc" - `accountNumber` (string) Bank account number Example: "1234567890" - `abaAch` (string) ABA/ACH routing number Example: "021000021" - `wire` (string) Wire transfer routing number Example: "026009593" - `swiftCode` (string) SWIFT/BIC code for international transfers Example: "CHASUS33" - `eftInstitution` (string) EFT institution number (Canadian banking) Example: "001" - `eftTransit` (string) EFT transit number (Canadian banking) Example: "00010" - `clabe` (string) CLABE number (Mexican banking) Example: "012180001234567897" - `currency` (string) Preferred currency code (ISO 4217) Example: "USD" - `paymentTermId` (string) Payment term ID Example: "550e8400-e29b-41d4-a716-446655440002" ## Response 201 fields (application/json): - `id` (string, required) Unique vendor payment method identifier Example: "550e8400-e29b-41d4-a716-446655440000" - `vendorId` (string, required) Vendor profile ID (read-only after creation). This field cannot be changed after the payment method is created. Example: "770e8400-e29b-41d4-a716-446655440000" - `vendor` (object, required) Vendor profile reference with full details - `vendor.id` (string, required) Vendor UUID Example: "550e8400-e29b-41d4-a716-446655440000" - `vendor.key` (string,null) Client-defined reference ID if set Example: "ERP-VENDOR-ABC-001" - `vendor.friendlyId` (string, required) Human-readable vendor identifier Example: "V123456" - `vendor.name` (string, required) Vendor legal name Example: "ABC Warehouse Services" - `vendor.email` (string,null) Primary email address Example: "billing@abcwarehouse.com" - `vendor.phone` (string,null) Primary phone number Example: "+1-555-123-4567" - `vendor.status` (string,null) Vendor status Example: "ACTIVE" - `vendor.currency` (string,null) Preferred currency code (ISO 4217) Example: "USD" - `vendor.createdAt` (string, required) When the vendor was created Example: "2025-01-15T10:00:00Z" - `vendor.updatedAt` (string, required) When the vendor was last updated Example: "2025-01-15T14:30:00Z" - `paymentMethodType` (string, required) How payment is made Enum: "ACH_WIRE", "ZELLE", "VENMO", "ACH", "CHECK", "WIRE", "CAD_EFT", "TRIUMPH_PAY", "COMCHECK", "EFS", "ECHECK" - `status` (string,null) Payment method status Example: "ACTIVE" - `isPreferred` (boolean,null) Whether this is the preferred payment method for the vendor Example: true - `email` (string,null) Email address for payment notifications Example: "payments@vendor.com" - `phone` (string,null) Phone number for payment contact Example: "+1-555-123-4567" - `companyName` (string,null) Company name for this payment method (may differ from vendor name) Example: "Vendor Payments LLC" - `username` (string,null) Username for payment platforms (e.g., Zelle, Venmo) Example: "vendor_payments" - `bankName` (string,null) Bank name Example: "Chase Bank" - `bankAddress` (string,null) Bank address Example: "123 Bank Street, Dallas, TX 75201" - `accountName` (string,null) Bank account holder name Example: "Vendor Services Inc" - `accountNumber` (string,null) Bank account number (masked in responses) Example: "****1234" - `abaAch` (string,null) ABA/ACH routing number for electronic transfers Example: "021000021" - `wire` (string,null) Wire transfer routing number Example: "026009593" - `swiftCode` (string,null) SWIFT/BIC code for international transfers Example: "CHASUS33" - `eftInstitution` (string,null) EFT institution number (Canadian banking) Example: "001" - `eftTransit` (string,null) EFT transit number (Canadian banking) Example: "00010" - `clabe` (string,null) CLABE number (Mexican banking identifier) Example: "012180001234567897" - `paymentTerm` (any) Payment terms for this payment method - `createdAt` (string, required) When the payment method was created Example: "2025-01-15T10:00:00Z" - `updatedAt` (string, required) When the payment method was last updated Example: "2025-01-15T14:30:00Z" - `deletedAt` (string,null) When the payment method was soft deleted (null if active) - `deletedBy` (any) User who deleted this payment method ## Response 400 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 401 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 409 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 422 fields (application/json): - `error` (string, required) Error code Example: "validation_error" - `message` (string, required) Human-readable error message - `details` (array, required) Validation error details - `details.field` (string, required) Field name that failed validation - `details.message` (string, required) Validation error message ## Response 500 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message