Synchrony Financial Preauthorizations API

Place holds on credit for future purchase completions.

OpenAPI Specification

synchrony-financial-preauthorizations-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Synchrony Financial Credit Authorization Applications Preauthorizations API
  description: The Synchrony Financial Credit Authorization API allows merchants and retailers to perform credit card transactions including purchases, preauthorizations, completions, payments, refunds, and reversals. The API supports transactions via payment tokens or full account numbers across web, mobile, and point-of-sale channels.
  version: '1.0'
  contact:
    url: https://developer.syf.com/
servers:
- url: https://api.syf.com
  description: Production
- url: https://sandbox.api.syf.com
  description: Sandbox
security:
- bearerAuth: []
tags:
- name: Preauthorizations
  description: Place holds on credit for future purchase completions.
paths:
  /v1/authorizations/preauthorizations:
    post:
      operationId: createPreauthorization
      summary: Create Preauthorization
      description: Places an authorization hold on a customer's credit account for a specified amount. Use this for transactions where the final amount may differ from the initial hold, such as hotel or rental scenarios.
      tags:
      - Preauthorizations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreauthorizationRequest'
      responses:
        '200':
          description: Preauthorization approved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationResponse'
        '400':
          description: Bad request
        '422':
          description: Transaction declined
  /v1/authorizations/completions:
    post:
      operationId: createCompletion
      summary: Complete Preauthorization
      description: Completes a prior preauthorization by capturing the final transaction amount. References the original preauthorization code.
      tags:
      - Preauthorizations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompletionRequest'
      responses:
        '200':
          description: Completion successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationResponse'
        '400':
          description: Bad request
components:
  schemas:
    PreauthorizationRequest:
      type: object
      required:
      - merchantId
      - amount
      - accountNumber
      properties:
        merchantId:
          type: string
        accountNumber:
          type: string
        amount:
          type: number
          format: float
        merchantOrderId:
          type: string
    AuthorizationResponse:
      type: object
      properties:
        transactionId:
          type: string
          description: Unique identifier for the transaction.
        authorizationCode:
          type: string
          description: Authorization code returned on approval.
        status:
          type: string
          enum:
          - approved
          - declined
          - pending
        amount:
          type: number
          format: float
        accountNumber:
          type: string
          description: Masked account number.
        timestamp:
          type: string
          format: date-time
        message:
          type: string
          description: Human-readable status message.
    CompletionRequest:
      type: object
      required:
      - merchantId
      - authorizationCode
      - amount
      properties:
        merchantId:
          type: string
        authorizationCode:
          type: string
          description: Original preauthorization code.
        amount:
          type: number
          format: float
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer