1. Payments
gigstack API
  • Welcome to gigstack API
  • gigstack Connect API Guide
  • Migrar de API v1 a v2 de gigstack
  • Clients
    • Clients API Guide
    • List clients
      GET
    • Get client
      GET
    • Update client
      PUT
    • Create client
      POST
    • Validate client fiscal information
      POST
    • Get client customer portal access token
      POST
    • Stamp pending receipts
      POST
    • Delete client
      DELETE
    • Search clients
      GET
    • Upload CSF PDF to create or update client
      POST
    • Upload support document
      POST
    • List support documents
      GET
    • Health check
      GET
  • Services
    • Services API Guide
    • List services
    • Get service
    • Update service
    • Create service
    • Delete service
    • Health check
  • Invoices
    • Invoices API Guide
    • Income
      • List income invoices
      • Create income invoice
      • Get income invoice
    • Egress
      • List egress invoices
      • Create egress invoice
      • Get egress invoice
    • Drafts
      • Create draft invoice (pre-factura)
      • Stamp draft invoice (finalize)
      • Generate draft preview PDF (pre-factura)
      • Delete draft invoice
      • Update draft invoice
      • Get draft invoice
      • List draft invoices
    • List CFDI errors
    • List payment complement invoices
    • Get payment complement invoice
    • Get invoice files
    • Upload support document
    • List support documents
    • Cancel invoice
    • Search invoices
    • List SAT invoices
    • Get a SAT invoice
    • Retry XML download
    • Generate PDF for a received SAT invoice
    • Create payment complement (complemento de pago)
    • Resend invoice email
    • Get invoice
    • Health check
    • Trigger end-of-month global invoicing
    • Connect FIEL credentials from a PFX file
    • Update bulk-download sync period
  • Payments
    • Payments API Guide
    • List payments
      GET
    • Get payment
      GET
    • Request payment
      POST
    • Register payment
      POST
    • Mark payment as paid
      POST
    • Refund payment
      POST
    • Cancel payment
      DELETE
    • Search payments
      GET
    • Update payment
      PUT
    • Upload support document
      POST
    • List support documents
      GET
    • Health check
      GET
  • Receipts
    • Receipts API Guide
    • List receipts
    • Get receipt
    • Create receipt
    • Stamp receipt
    • Cancel receipt
    • Search receipts
    • Health check
  • Teams
    • Teams API Guide
    • List teams
    • Get team
    • Get team integrations (not implemented)
    • Get team series
    • Get team onboarding URL
    • Update team
    • Update team series
    • Update team settings
    • Create team
    • Add team member
    • Remove team member
    • Create team series
    • Delete team
    • Upload SAT CSD certificates
    • Sign manifest document
    • Health check
    • Create a portal access token
  • Users
    • Users API Guide
    • List users
    • Get user
    • Update user
    • Create user
    • Reset user password
    • Delete user
    • Reset user password
    • Generate login link
    • Health check
  • Catalogs
    • Tax Regimes Catalog (Régimen Fiscal)
    • Payment Forms | Formas de pago
    • CFDI Usage Catalog (Uso CFDI)
    • Payment Methods Catalog (Método de Pago)
    • Months and Bimesters Catalog (Meses y Bimestres)
    • Invoice Relationships Catalog (Relación entre Facturas)
    • Search SAT product keys
    • Search SAT unit keys
    • Health check
  • Webhooks
    • Webhooks
    • List webhooks
    • Create webhook
    • Get webhook
    • Update webhook
    • Delete webhook
    • Health check
  • Retentions
    • Retentions
    • List retentions
    • Create retention
    • Get retention
    • Cancel retention
    • Get retention files
  • Descarga Masiva SAT
    • Descarga Masiva
    • Check activation status
    • Activate Descarga Masiva SAT
    • Deactivate Descarga Masiva SAT
    • Upload FIEL credentials
    • Register business with SAT (manual)
    • Get schedule configuration
    • Save schedule configuration
    • Get download request history
    • Create bulk download request
    • Check download request status
    • Download XML package
    • Get single invoice from SAT
    • Debug registration status
    • Enable SAT sync
    • Get SAT history sync progress
    • Preview a range of SAT history before paying for it
    • List recent preview and import jobs
    • Get one job with per-window detail
    • Stop a running job
    • Download XMLs for chosen CFDIs
  • Auth
    • Headless signup (API-only path)
    • Health check
  • SAT Lists
    • List SAT lists and sync status
    • Check an RFC against the SAT lists
    • Consult the SAT "Opinión del Cumplimiento" (32-D) for an RFC
  • Documents
    • List documents
    • Create document
    • Get document
    • Update document
    • Delete document
    • Analyze document with AI
    • Link document to an entity
    • Unlink document from an entity
  • Apidog connectivity test
    GET
  • Schemas
    • Schemas
      • ApiResponse
      • Category
      • Pet
      • Tag
      • Order
      • StandardizedSuccessResponse
      • StandardizedErrorResponse
      • ApiErrorCode
    • RequestBodies
      • UserArray
    • SatInvoice
    • OrderDirection
    • DateRangeFilter
    • ListQueryParams
    • PaginationMeta
    • ApiPublicProductKey
    • Client
    • ApiPublicUnitKey
    • ApiPublicClient
    • ApiPublicService
    • Service
    • PendingReceiptsSummary
    • ClientInput
    • CfdiError
    • ServiceInput
    • Invoice
    • DraftInvoiceInput
    • DraftInvoiceUpdateInput
    • DraftInvoiceOutput
    • InvoiceIncomeInput
    • PaymentComplementRelatedDocument
    • InvoiceEgressInput
    • PaymentComplementPayment
    • PaymentItem
    • PaymentComplementInput
    • PaymentAllowedMethod
    • InvoiceInput
    • ApiPublicPaymentProcessorDetails
    • Payment
    • ApiPublicPayment
    • PaymentInput
    • RequestPaymentInput
    • RegisterPaymentInput
    • RefundPaymentInput
    • InvoiceConfigInput
    • MarkPaymentAsPaidInput
    • ApiPublicUser
    • UpdatePaymentInput
    • ApiPublicIncomeInvoice
    • ApiPublicWebhook
    • ApiPublicTeam
    • Team
    • WebhookInput
    • WebhookUpdateInput
    • TeamInput
    • User
    • TeamSettingsInput
    • TeamSettings
    • SeriesInput
    • Series
    • UserInput
    • ApiPublicSearch
    • ApiPublicThirdParty
    • ApiPublicInvoiceConfig
    • ReceiptInput
    • ApiPublicRefund
    • DocumentTypeEnum
    • ApiPublicAutomations
    • DocumentComplianceStatusEnum
    • TeamTaxDefault
    • DocumentLinkEntityTypeEnum
    • BadRequestError
    • DocumentInput
    • ClientAddress
    • DocumentUpdateInput
    • SatListRfcCheck
    • DocumentLinkInput
    • ApiPublicDocument
    • TaxElement
    • PaymentMethodEnum
    • PaymentFormEnum
    • TaxSchema
    • AutomationTypeEnum
    • SatListDefinition
    • StandardSuccessResponse
    • SATDocument
    • StandardErrorResponse
    • UploadSupportDocumentInput
    • HealthResponse
    • CfdiErrorResponse
    • CreditLimitResponse
    • ListResponse
    • SearchResponse
    • ErrorResponse
    • ValidationErrorResponse
    • UnauthorizedError
    • NotFoundError
    • SatImportJobSummary
    • InternalServerError
    • LegacyErrorResponse
    • SatOpinion32dCheck
    • ItemSchema
  1. Payments

Register payment

POST
https://api.gigstack.io/v2/payments/register
Register a payment with optional automation for invoice creation.
gigstack Connect: Register payments for other teams using the team parameter.

Automation Types#

Control what happens automatically when registering a payment:
pue_invoice: Creates a PUE (Pago en Una sola Exhibición) invoice immediately
none: No automation, registers payment only

PPD Invoice Linking#

You can link a payment to an existing PPD (Pago en Parcialidades o Diferido) invoice by providing the ppd_invoice_id field.
When set, a payment complement (complemento de pago) CFDI will be automatically generated and linked to the PPD invoice.
The referenced invoice must have payment_method='PPD' and status='valid'.

Payment Form#

The payment_form field specifies the Mexican SAT payment form code:
Common codes include: 01 (cash), 02 (check), 03 (electronic transfer), 04 (credit card), etc.
The payment will be marked as 'succeeded' immediately upon registration.

Required fields#

client, currency, items (at least one), payment_form and automation_type
are required. automation_type has no default — omitting it fails validation.
Allowed values: pue_invoice, ppd_invoice_and_complement, none.

date#

Optional, in Unix epoch milliseconds (13 digits). Compared against
Luxon.now().toMillis(); a future value returns 400.

transfer_data — all-or-nothing#

transfer_data is optional, but when it is present all four of master, connect,
master_to and connect_to are required
; omitting any one fails validation.
fieldtypeconstraint
masternumberrequired, 0 ≤ master ≤ 100 (percentage retained by the master team)
connectstringrequired, non-empty — RFC of the connected team
master_toenumrequired — client or connect
connect_toenumrequired — client or master
connect_custom_configobjectoptional; every field inside it is optional except type, rate and withholding on each taxes[] entry

invoice_config#

All nested fields are optional:
fieldtypemeaning
seriestringinvoice series
folionumberinvoice folio number
datenumberinvoice issue date, Unix epoch milliseconds
global.yearnumberfiscal year of the global (EOM) invoice, e.g. 2026
global.monthsstringSAT c_Meses code, e.g. 01 for January or 13 for Jan–Feb
global.periodicitystringSAT c_Periodicidad code — 01 daily, 02 weekly, 03 fortnightly, 04 monthly, 05 bimonthly
validUntilnumberexpiry of the self-invoicing window, Unix epoch milliseconds

Email suppression#

ignore_emails: true suppresses notification emails. On this endpoint send_email is
accepted but has no effect — only ignore_emails is persisted onto the payment.

Unknown fields#

Body validation runs in strict allowlist mode — any undeclared key is rejected with
400 validation_failed / unexpected_key.

Request

Authorization
API Key
Add parameter in header
Authorization
Example:
Authorization: ********************
or
Query Params

Body Params application/jsonRequired

Examples

Responses

🟢201Created
application/json
Payment registered successfully. Both the standard path and the
transfer_data split path return 201 with the standardized success envelope.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠404Record Not Found
🟠409
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api.gigstack.io/v2/payments/register?team=undefined' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "client": {
        "id": "client_1234567890"
    },
    "automation_type": "pue_invoice",
    "currency": "MXN",
    "exchange_rate": 1,
    "payment_form": "03",
    "items": [
        {
            "id": "service_1234567890",
            "quantity": 1,
            "unit_price": 1000
        }
    ]
}'
Response Response Example
201 - Standard payment response
{
    "success": true,
    "message": "Payment registered successfully",
    "timestamp": 1767225600000,
    "data": {
        "id": "payment_1234567890",
        "client": {
            "id": "client_1234567890",
            "name": "Juan Pérez García",
            "email": "juan.perez@ejemplo.com",
            "tax_id": "PEGJ800101ABC"
        },
        "status": "succeeded",
        "currency": "MXN",
        "exchange_rate": 1,
        "payment_form": "03",
        "total": 1160,
        "subtotal": 1000,
        "taxes": 160,
        "discount": 0,
        "items": [
            {
                "id": "service_1234567890",
                "description": "Professional consulting services",
                "quantity": 1,
                "unit_price": 1000,
                "product_key": "80141503",
                "unit_key": "E48"
            }
        ],
        "invoices": [
            "B0C3E4F2-1A2B-4C5D-9E8F-0123456789AB"
        ],
        "created_at": 1677651234,
        "succeeded_at": 1677651234,
        "payment_processor": "api",
        "livemode": true,
        "team": "team_1234567890",
        "owner": "user_1234567890"
    }
}
Modified at 2026-09-08 19:42:08
Previous
Request payment
Next
Mark payment as paid
Built with