> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orafi.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Payment Intent

> Update payment intent to generate either deposit or transfer address for payment completion



## OpenAPI

````yaml PATCH /transactions/payment/{paymentId}
openapi: 3.0.3
info:
  title: OraFi Merchant API
  description: Seamless crypto payments API for merchants
  version: 1.0.0
  contact:
    name: OraFi Support
    email: support@orafi.app
servers:
  - url: https://api.orafi.app/v1
    description: Production server
  - url: http://localhost:3000/v1
    description: Local development server
security: []
tags:
  - name: Paylinks
    description: Paylink management endpoints
  - name: Payments
    description: Payment creation and verification endpoints
  - name: Customers
    description: Customer management endpoints
  - name: Transactions
    description: Transaction retrieval and payout endpoints
  - name: Refunds
    description: Refund management endpoints
  - name: Webhooks
    description: Webhook registration and management
  - name: Profile
    description: Business profile settings
  - name: Settlements
    description: Settlement account management
  - name: Fiat
    description: Fiat-related endpoints
  - name: Business
    description: Business mode and settings
  - name: Notifications
    description: Notification preferences
  - name: Subscriptions
    description: Subscription plans and customer subscriptions
paths:
  /transactions/payment/{paymentId}:
    patch:
      tags:
        - Payments
      summary: Update payment intent
      description: >-
        Update payment intent to generate either deposit or transfer address for
        payment completion
      parameters:
        - name: paymentId
          in: path
          description: The payment ID to update
          required: true
          schema:
            type: string
        - name: token
          in: query
          description: >-
            Optional token/currency to use when updating the payment intent.
            Defaults to USDC.
          required: false
          schema:
            type: string
            default: USDC
          example: USDC
        - name: intent
          in: query
          description: The payment intent type. Default is transfer_address
          required: false
          schema:
            type: string
            default: transfer_address
            enum:
              - transfer_address
              - deposit_address
      responses:
        '200':
          description: Payment intent updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Payment intent updated successfully
                  data:
                    type: object
                    properties:
                      amount:
                        type: number
                      amountInUSDC:
                        type: number
                      businessName:
                        type: string
                      redirectUrl:
                        type: string
                        nullable: true
                      mode:
                        type: string
                        enum:
                          - live
                          - test
                      currency:
                        type: string
                      network:
                        type: string
                        enum:
                          - SUI
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  responses:
    BadRequest:
      description: Bad request - Invalid input or validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
                example: Validation error message

````