Carrier Payment Methods

Create carrier payment method

Changed on

Create a new carrier payment method.

Payment Recipient Type Constraints:

  • DIRECT: Payment goes to carrier directly. carrierFactorId must be null or omitted.
  • FACTOR: Payment goes to factoring company. carrierFactorId is required.

Important: The carrierId cannot be changed after creation.

post/carrier-payment-methods

Request

  • Base URL: https://api.mvmnt.io/v1
  • URL: https://api.mvmnt.io/v1/carrier-payment-methods
  • Auth: HTTP bearer

Request body

carrierIdstring uuid required

Carrier profile ID.

IMPORTANT: This field cannot be changed after creation.

paymentRecipientType'DIRECT' | 'FACTOR' required

Who receives the payment.

  • DIRECT: Payment goes directly to the carrier
  • FACTOR: Payment goes to a factoring company (requires carrierFactorId)
paymentMethodType'ACH_WIRE' | 'ZELLE' | 'VENMO' | 'ACH' | 'CHECK' | 'WIRE' | 'CAD_EFT' | 'TRIUMPH_PAY' | 'COMCHECK' | 'EFS' | 'ECHECK' | 'E_TRANSFER' | 'EFT_DIRECT_DEPOSIT' | 'SPEI' required

Payment method type

statusstring

Payment method status, valid or invalid. Defaults to valid on create; the TMS only offers valid methods.

isPreferredboolean

Whether this is the preferred payment method

emailstring email

Email address for payment notifications

phonestring

Phone number for payment contact

companyNamestring

Company name for this payment method

usernamestring

Username for payment platforms

bankNamestring

Bank name

bankAddressstring

Bank address

accountNamestring

Bank account holder name

accountNumberstring

Bank account number

abaAchstring

ABA/ACH routing number

wirestring

Wire transfer routing number

swiftCodestring

SWIFT/BIC code for international transfers

eftInstitutionstring

EFT institution number (Canadian banking)

eftTransitstring

EFT transit number (Canadian banking)

clabestring

CLABE number (Mexican banking)

currencystring

Preferred currency code (ISO 4217)

carrierFactorIdstring uuid

Carrier factor (factoring company) ID.

Constraint: Required when paymentRecipientType is FACTOR, must be null when DIRECT.

paymentTermIdstring uuid

Payment term ID

Example request

{
  "carrierId": "770e8400-e29b-41d4-a716-446655440000",
  "paymentRecipientType": "DIRECT",
  "paymentMethodType": "ACH",
  "status": "valid",
  "isPreferred": true,
  "email": "payments@carrier.com",
  "phone": "+1-555-123-4567",
  "companyName": "Carrier Payments LLC",
  "username": "carrier_payments",
  "bankName": "Chase Bank",
  "bankAddress": "123 Bank Street, Dallas, TX 75201",
  "accountName": "Carrier Transport Inc",
  "accountNumber": "1234567890",
  "abaAch": "021000021",
  "wire": "026009593",
  "swiftCode": "CHASUS33",
  "eftInstitution": "001",
  "eftTransit": "00010",
  "clabe": "012180001234567897",
  "currency": "USD",
  "carrierFactorId": "550e8400-e29b-41d4-a716-446655440000",
  "paymentTermId": "550e8400-e29b-41d4-a716-446655440002"
}

Response

Carrier payment method created successfully

idstring uuid required

Unique carrier payment method identifier

carrierIdstring uuid required

Carrier profile ID (read-only after creation).

This field cannot be changed after the payment method is created.

paymentRecipientType'DIRECT' | 'FACTOR' required

Who receives the payment.

  • DIRECT: Payment goes directly to the carrier
  • FACTOR: Payment goes to a factoring company (requires carrierFactorId)
paymentMethodType'ACH_WIRE' | 'ZELLE' | 'VENMO' | 'ACH' | 'CHECK' | 'WIRE' | 'CAD_EFT' | 'TRIUMPH_PAY' | 'COMCHECK' | 'EFS' | 'ECHECK' | 'E_TRANSFER' | 'EFT_DIRECT_DEPOSIT' | 'SPEI' required

Payment method type

statusstring nullable

Payment method status, valid or invalid. Defaults to valid on create; the TMS only offers valid methods.

isPreferredboolean nullable

Whether this is the preferred payment method for the carrier

emailstring email nullable

Email address for payment notifications

phonestring nullable

Phone number for payment contact

companyNamestring nullable

Company name for this payment method (may differ from carrier name)

usernamestring nullable

Username for payment platforms (e.g., Zelle, Venmo)

bankNamestring nullable

Bank name

bankAddressstring nullable

Bank address

accountNamestring nullable

Bank account holder name

accountNumberstring nullable

Bank account number (masked in responses)

abaAchstring nullable

ABA/ACH routing number for electronic transfers

wirestring nullable

Wire transfer routing number

swiftCodestring nullable

SWIFT/BIC code for international transfers

eftInstitutionstring nullable

EFT institution number (Canadian banking)

eftTransitstring nullable

EFT transit number (Canadian banking)

clabestring nullable

CLABE number (Mexican banking identifier)

currencystring nullable

Preferred currency code (ISO 4217)

createdAtstring date-time required

When the payment method was created

updatedAtstring date-time required

When the payment method was last updated

deletedAtstring date-time nullable

When the payment method was soft deleted (null if active)

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "carrierId": "770e8400-e29b-41d4-a716-446655440000",
  "carrier": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-CARRIER-SWIFT",
    "name": "Swift Transportation",
    "phoneNumber": "+1-555-987-6543",
    "email": "dispatch@swifttrans.com",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "paymentRecipientType": "DIRECT",
  "paymentMethodType": "ACH",
  "status": "valid",
  "isPreferred": true,
  "email": "payments@carrier.com",
  "phone": "+1-555-123-4567",
  "companyName": "Carrier Payments LLC",
  "username": "carrier_payments",
  "bankName": "Chase Bank",
  "bankAddress": "123 Bank Street, Dallas, TX 75201",
  "accountName": "Carrier Transport Inc",
  "accountNumber": "****1234",
  "abaAch": "021000021",
  "wire": "026009593",
  "swiftCode": "CHASUS33",
  "eftInstitution": "001",
  "eftTransit": "00010",
  "clabe": "012180001234567897",
  "currency": "USD",
  "carrierFactor": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-FACTOR-001",
    "companyName": "Capital Factoring Services Inc",
    "email": "accounting@capitalfactoring.com",
    "phoneNumber": "+1-555-234-5678",
    "currency": "USD",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "paymentTerm": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-PAYTERM-NET30",
    "name": "Net 30",
    "description": "Payment due 30 days from invoice date",
    "days": 30,
    "quickPayFee": 5,
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "createdAt": "2025-01-15T10:00:00Z",
  "updatedAt": "2025-01-15T14:30:00Z",
  "deletedBy": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-USER-12345",
    "email": "john.doe@example.com",
    "name": "John Doe",
    "phone": "+1-555-123-4567",
    "phoneExt": "123",
    "status": "ACTIVE",
    "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  }
}

Changes

    • breaking

      the response's body type changed from object to no type for status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • info

      added subschema #2 to the response body allOf list for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • warning

      added the new EFT_DIRECT_DEPOSIT enum value to the response property for the response status

    • warning

      added the new E_TRANSFER enum value to the response property for the response status

    • warning

      added the new SPEI enum value to the response property for the response status

    • info

      added the new EFT_DIRECT_DEPOSIT enum value to the request property

    • info

      added the new E_TRANSFER enum value to the request property

    • info

      added the new SPEI enum value to the request property