# Update RFI documents for a payment link

Updates the RFI (Request for Information) document status for a payment link. This endpoint is used to submit required documents when a payment link is in 'action_required' status due to sanction screening.

Endpoint: PATCH /payin/{id}/update_rfi
Version: 1.0.0
Security: JWT

## Path parameters:

  - `id` (string, required)
    The ID of the payment link to update RFI for

## Request fields (application/json):

  - `documents` (array, required)
    Array of documents to be submitted for RFI requirements

  - `documents.id` (string, required)
    The unique identifier of the document being uploaded for this RFI requirement
    Example: doc_67fc2f42468Bw

  - `documents.rfi_doc_id` (string, required)
    The unique identifier of the RFI document being submitted
    Example: rfidoc_68c8dffedhMHD

## Response 200 fields (application/json):

  - `id` (string)
    The unique identifier for the payment link.
    Example: payin_678a4c88hpAjf

  - `customer_id` (string)
    The unique identifier of customer linked to payment_link.
    Example: cust_E602dMzgjpDC

  - `document_id` (string)
    The unique identifier of document linked to payment_link. This document entity should contain the required documents to process incoming payments. Refer this [Document](#tag/Document) entity for more details.
    Example: doc_nYUqLpuYQ0M8

  - `status` (string)
    The status of the payment_link.
    Enum: "active", "paid", "failed", "action_required", "cancelled", "partially_paid", "under_review", "expired"

  - `payment_methods` (array)
    Array of payment methods that should be available for the customer on the checkout page. This field allows you to control which payment options your customers can use to complete the payment. You can specify one or multiple payment methods in the array.
    Example: ["card"]

  - `currency` (string)
    The currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. Supported currencies: USD,EUR and GBP.
    Example: USD

  - `amount` (number)
    The amount you want to receive, a positive integer representing the smallest currency unit. For example, if the amount is $299.00, then pass 29900 in this field. In the case of three decimal currencies, such as KWD, BHD and OMR, to represent an amount of 295.991, pass the value as 295990. And in the case of zero decimal currencies such as JPY, for amount ￥295, pass the value as 295.
    Example: 1000

  - `purpose_code` (string)
    Purpose code for why you want to receive this payment
    Example: P1401

  - `invoice_number` (string)
    Number/Id of the invoice submitted with payment_link.
    Example: RG12FF590

  - `invoice_description` (string)
    Description about the invoice submitted with payment_link
    Example: Payment requested for services provided

  - `reference_number` (string)
    optional identifier to be sent for reconciliations
    Example: R0001

  - `expires_at` (string)
    Date when the payment_link will expire. Expiry can not be less than or equal  to current date and can be upto 6 months in future.
    Example: 2025-02-15T00:00:00.000Z

  - `last_reminder_sent_at` (string)
    Last time when the customer was reminded to complete the payment by visiting the link
    Example: 2024-09-13T06:32:34.340Z

  - `invoice_amount` (number)
    The amount in cents for which invoice was generated. It can be more  than the amount requested in this payment_link
    Example: 1000

  - `payment_link` (string)
    Sharable link which should be shared with customer you want to receive money from. `This link gets generated only after the payin has been reviewed and moved to in_progress`
    Example: https://staging-api.glomopay-eng.com/v1/payin/pl/8f31597d-e085-497a-b80f-ae97ea9422a0

  - `notify_customer` (boolean)
    Whether to notify the customer via email when the payment link is created. Defaults to `true`. Set to `false` to suppress the notification email.
    Example: true

  - `reminder_frequency` (number)
    The frequency at which you want to remind customers, valid values are 1(remind everyday), 2(remind every alternate day), 7(remind every week), 14(remind every alternate week).
    Example: 7

  - `price_id` (string)
    The unique identifier of 'Price' entity linked to the payment link. This is the referral fee for this payment link. Note: price_id is only applicable for platform businesses.
    Example: price_E602dMzgjpDC

  - `split_ids` (array)
    The pricing splits to apply, each entry an `id` returned by [Create a pricing split](#tag/pricing_split). A split fixes your share of a dynamic rule's fee and the customer bears the remainder. Omit `split_ids` and no dynamic rule is applied — pricing falls back to your normal (non-dynamic) rules.
`split_ids` and `payment_methods` are independent. `payment_methods` restricts which methods the checkout offers. `split_ids` only changes how the fee for a method is priced: a split applies to its own payment method whether or not that method appears in `payment_methods`, and a split never adds a method to the checkout or removes one from it. One checkout can therefore price one method from a dynamic split and another method from your normal rules.
Every id must exist, must belong to your business, and must still point at a live dynamic rule. When two dynamic rules share a dimension — the same payment method, subtype, rail, currency and fee type — declare a split for every one of them or the request is rejected. On payment links and orders, a split whose payment method is not enabled for your business is also rejected.
A subscription only ever charges `card`, or `pay_via_bank` when SEPA-eligible, so a split declared for any other payment method is rejected at subscription creation and on an auto debit. An auto-debit override must be declared for the method the subscription actually charges.
Glomo can configure your account to require a declaration. On such an account, a payment link, an order, a payin quote or an `as_presented` subscription that omits `split_ids` is rejected.
    Example: ["psplit_7Kq2mXbTdLp9"]

  - `product` (object)
    Details of the product that the payment is related to.
    Example: {"name":"ShieldGuard Insurance","description":"Flexible insurance for belongings travel and digital assets easy to manage"}

  - `product.name` (string, required)
    Name of the product

  - `product.description` (string)
    Description of the product

  - `created_at` (string)
    Timestamp representing when the payment_link was created
    Example: 2021-06-01T12:00:00Z

  - `updated_at` (string)
    Timestamp representing when the payment_link was last updated
    Example: 2021-06-01T12:00:00Z

  - `bank_account_details` (object)
    Bank account details associated with the customer for this payment link. If provided in the request, all fields will be returned. If bic_primary or bic_secondary was not provided in the request, they will be null in the response.
    Example: {"account_number":"1234567890","bic_primary":"HDFCINBBDEL","bic_secondary":null,"bank_customer_id":"7189204715"}

  - `bank_account_details.account_number` (string)
    The bank account number
    Example: 1234567890

  - `bank_account_details.bic_primary` (string | null)
    SWIFT code for the bank account. Will be null if not provided in the request.
    Example: HDFCINBBDEL

  - `bank_account_details.bic_secondary` (string | null)
    Local routing code for the bank account like IFSC. Will be null if not provided in the request.
    Example: HDFC0001097

  - `bank_account_details.bank_customer_id` (string | null)
    Bank customer identifier provided by the bank. Will be null if not provided in the request.
    Example: 7189204715

  - `rfi_documents` (array)
    List of required documents for RFI (Request for Information). This field is only present when the payment link status is 'action_required', indicating that sanction screening has been triggered and additional documents are required to proceed with the payment link.
    Example: [{"rfi_doc_id":"rfidoc_123","name":"Passport"},{"rfi_doc_id":"rfidoc_456","name":"Proof of Address"}]

  - `rfi_documents.rfi_doc_id` (string, required)
    Unique identifier for the required RFI document
    Example: rfidoc_123

  - `rfi_documents.name` (string, required)
    Name/type of the required document
    Example: Passport

## Response 400 fields (application/json):

  - `error` (string)
    Enum: "Bad Request"

  - `message` (string)
    Error message.
    Example: Invalid rfi_doc_id or payment link not in action_required status

## Response 404 fields (application/json):

  - `error` (string)
    Enum: "Not found"

  - `message` (string)
    Entity not found
    Enum: "Entity not found"

