> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

# Update Pay Out payment link

PATCH https://api-sandbox.payabli.com/api/PaymentLink/out/{paylinkId}
Content-Type: application/json

Partially updates a Pay Out payment link's content, expiration date, and/or status. Use this to modify the payment page configuration, extend or change the expiration, or cancel a link. Updating the expiration date of an expired link reactivates it to Active status.

Reference: https://docs.payabli.com/developers/api-reference/paymentlink/update-payout-payment-link

## Authentication

- `Authorization` header (bearer token, required)
- `requestToken` header (required) — Long-lived API token sent in the `requestToken` header. See [API token authentication](/developers/api-tokens).

## Servers

- `https://api-sandbox.payabli.com/api` (Sandbox, default)
- `https://api.payabli.com/api` (Production)

## Request

### Path parameters

- `paylinkId` (string, required) — ID for the payment link.

### Body (application/json)

- `billPageData` (object, optional) — Updated payment link page configuration.
  - `contactUs` (object, optional) — ContactUs section of payment link page.
    - `emailLabel` (string, optional) — Custom content for email
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `header` (string, optional) — Header text for section
    - `order` (integer, optional) — Order of element or section in container.
    - `paymentIcons` (boolean, optional) — Flag indicating if icons for accepted card brands will be shown
    - `phoneLabel` (string, optional) — Custom content for phone number
  - `logo` (object, optional) — Logo section of payment link page.
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `order` (integer, optional) — Order of element or section in container.
  - `messageBeforePaying` (object, optional) — Message section of payment link page.
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `label` (string, optional) — Label to display for section or element
    - `order` (integer, optional) — Order of element or section in container.
  - `notes` (object, optional) — Notes section of payment link page.
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `header` (string, optional) — Header text for section
    - `order` (integer, optional) — Order of element or section in container.
    - `placeholder` (string, optional) — Placeholder text for input field
    - `value` (string, optional) — Pre-populated value for input field
  - `page` (object, optional) — Page header section of payment link page.
    - `description` (string, optional) — Page description in header
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `header` (string, optional) — Page header
    - `order` (integer, optional) — Order of element or section in container.
  - `paymentButton` (object, optional) — Payment button section of payment link page.
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `label` (string, optional) — Label to display for section or element
    - `order` (integer, optional) — Order of element or section in container.
  - `paymentMethods` (object, optional) — Payment methods section of payment link page. Use this to configure which payout methods (ACH, vCard, check) are offered to the vendor.
    - `allMethodsChecked` (boolean, optional) — Flag indicating if all allowed payment methods will be pre-selected.
    - `allowMultipleMethods` (boolean, optional) — When `true`, the vendor can select from multiple payment methods. When `false`, only the default method is shown.
    - `defaultMethod` (string, optional) — The default payment method to highlight on the payment link page. For example, `"vcard"`, `"ach"`, or `"check"`.
    - `enabled` (boolean, optional) — When `true`, the payment methods section is displayed on the payment link page.
    - `header` (string, optional) — Header text for the payment methods section.
    - `methods` (object, optional) — Payment methods available for Pay Out payment links. Controls which payout options are offered to the vendor.
      - `ach` (boolean, optional) — When `true`, ACH bank transfer is offered as a payout method.
      - `check` (boolean, optional) — When `true`, physical check is offered as a payout method.
      - `vcard` (boolean, optional) — When `true`, virtual card (vCard) is offered as a payout method.
    - `order` (integer, optional) — Display order of the payment methods section on the page.
    - `showPreviewVirtualCard` (boolean, optional) — When `true`, a preview of the virtual card is shown on the payment link page.
  - `review` (object, optional) — Review section of payment link page.
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `header` (string, optional) — Header text for section
    - `order` (integer, optional) — Order of element or section in container.
  - `bills` (object, optional) — Bills section of payment link page.
    - `enabled` (boolean, optional) — Toggles whether the section or element is enabled.
    - `order` (integer, optional) — Order of element or section in container.
  - `settings` (object, optional) — Settings section of payment link page.
    - `color` (string, optional) — An HTML color code in format #RRGGBB
    - `customCssUrl` (string, optional) — Complete URL to a custom CSS file to be loaded with the page
    - `language` (string, optional) — Two-letter code following ISO 639-1
    - `pageLogo` (object, optional) — Object containing logo file to upload/ use in page
      - `fContent` (string, optional) — Content of file, Base64-encoded. Ignored if `furl` is specified. Max upload size is 30 MB.
      - `filename` (string, optional) — The name of the attached file.
      - `ftype` (enum, optional) — The MIME type of the file (if content is provided).
        - Allowed values: `pdf`, `doc`, `docx`, `jpg`, `jpeg`, `png`, `gif`, `txt`
      - `furl` (string, optional) — Optional URL provided to show or download the file remotely.
    - `redirectAfterApprove` (boolean, optional) — Flag indicating if the capability for redirection in the page will be activated
    - `redirectAfterApproveUrl` (string, optional) — Complete URL where the page will be redirected after completion
- `expirationDate` (string, optional) — New expiration date for the payment link. Must be a future date. If null and the link is expired, uses the default expiration from settings. Updating the expiration date reactivates an expired payment link to Active status.
- `status` (enum, optional) — Updated status for the payment link.
  - Allowed values: `Active`, `Expired`, `Canceled`, `Deleted`

## Response

### 200

Success

- `isSuccess` (boolean, required) — Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure.
- `responseText` (string, required) — Response text for operation: 'Success' or 'Declined'.
- `responseData` (string, optional) — If `isSuccess` = true, this contains the payment link identifier. If `isSuccess` = false, this contains the reason of the error.

## Examples

### ReactivateExpiredLink

**Request**

```json
{
  "expirationDate": "2026-06-01T00:00:00Z",
  "status": "Active"
}
```

**Response**

```json
{
  "isSuccess": true,
  "responseText": "Success",
  "responseData": "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234"
}
```

**SDK Code**

```typescript ReactivateExpiredLink
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
    });
    await client.paymentLink.patchOutPaymentLink("2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234", {
        expirationDate: "2026-06-01T00:00:00Z",
        status: "Active",
    });
}
main();

```

```python ReactivateExpiredLink
from payabli import payabli

client = payabli(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
)

client.payment_link.patch_out_payment_link(
    paylink_id="2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
    expiration_date="2026-06-01T00:00:00Z",
    status="Active",
)

```

```java ReactivateExpiredLink
package com.example.usage;

import io.github.payabli.api.PayabliApiClient;
import io.github.payabli.api.resources.paymentlink.requests.PatchOutPaymentLinkRequest;
import io.github.payabli.api.types.PaymentLinkStatus;

public class Example {
    public static void main(String[] args) {
        PayabliApiClient client = PayabliApiClient.withCredentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
            .build()
        ;

        client.paymentLink().patchOutPaymentLink(
            "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            PatchOutPaymentLinkRequest
                .builder()
                .expirationDate("2026-06-01T00:00:00Z")
                .status(PaymentLinkStatus.ACTIVE)
                .build()
        );
    }
}
```

```ruby ReactivateExpiredLink
require "payabli"

client = Payabli::Client.new(api_key: "YOUR_API_KEY_HERE")

client.payment_link.patch_out_payment_link(
  paylink_id: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
  expiration_date: "2026-06-01T00:00:00Z",
  status: "Active"
)

```

```csharp ReactivateExpiredLink
using PayabliApi;
using System.Threading.Tasks;

public partial class Examples
{
    public async Task Example() {
        var client = new PayabliApiClient(
            clientId: "YOUR_CLIENT_ID",
            clientSecret: "YOUR_CLIENT_SECRET"
        );

        await client.PaymentLink.PatchOutPaymentLinkAsync(
            paylinkId: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            request: new PatchOutPaymentLinkRequest {
                ExpirationDate = "2026-06-01T00:00:00Z",
                Status = PaymentLinkStatus.Active
            }
        );
    }

}

```

```go ReactivateExpiredLink
package example

import (
    context "context"

    payabli "github.com/payabli/sdk-go"
    client "github.com/payabli/sdk-go/client"
    option "github.com/payabli/sdk-go/option"
)

func do() {
    client := client.NewClient(
        option.WithClientCredentials(
            "YOUR_CLIENT_ID",
            "YOUR_CLIENT_SECRET",
        ),
    )
    request := &payabli.PatchOutPaymentLinkRequest{
        ExpirationDate: payabli.String(
            "2026-06-01T00:00:00Z",
        ),
        Status: payabli.PaymentLinkStatusActive.Ptr(),
    }
    client.PaymentLink.PatchOutPaymentLink(
        context.TODO(),
        "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
        request,
    )
}

```

```php ReactivateExpiredLink
<?php

namespace Example;

use Payabli\PayabliClient;
use Payabli\PaymentLink\Requests\PatchOutPaymentLinkRequest;
use Payabli\Types\PaymentLinkStatus;

$client = new PayabliClient(
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
);
$client->paymentLink->patchOutPaymentLink(
    '2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234',
    new PatchOutPaymentLinkRequest([
        'expirationDate' => '2026-06-01T00:00:00Z',
        'status' => PaymentLinkStatus::Active->value,
    ]),
);

```

```swift ReactivateExpiredLink
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "expirationDate": "2026-06-01T00:00:00Z",
  "status": "Active"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentLink/out/2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### CancelPaymentLink

**Request**

```json
{
  "status": "Canceled"
}
```

**Response**

```json
{
  "isSuccess": true,
  "responseText": "Success",
  "responseData": "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234"
}
```

**SDK Code**

```typescript CancelPaymentLink
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
    });
    await client.paymentLink.patchOutPaymentLink("2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234", {
        status: "Canceled",
    });
}
main();

```

```python CancelPaymentLink
from payabli import payabli

client = payabli(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
)

client.payment_link.patch_out_payment_link(
    paylink_id="2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
    status="Canceled",
)

```

```java CancelPaymentLink
package com.example.usage;

import io.github.payabli.api.PayabliApiClient;
import io.github.payabli.api.resources.paymentlink.requests.PatchOutPaymentLinkRequest;
import io.github.payabli.api.types.PaymentLinkStatus;

public class Example {
    public static void main(String[] args) {
        PayabliApiClient client = PayabliApiClient.withCredentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
            .build()
        ;

        client.paymentLink().patchOutPaymentLink(
            "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            PatchOutPaymentLinkRequest
                .builder()
                .status(PaymentLinkStatus.CANCELED)
                .build()
        );
    }
}
```

```ruby CancelPaymentLink
require "payabli"

client = Payabli::Client.new(api_key: "YOUR_API_KEY_HERE")

client.payment_link.patch_out_payment_link(
  paylink_id: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
  status: "Canceled"
)

```

```csharp CancelPaymentLink
using PayabliApi;
using System.Threading.Tasks;

public partial class Examples
{
    public async Task Example() {
        var client = new PayabliApiClient(
            clientId: "YOUR_CLIENT_ID",
            clientSecret: "YOUR_CLIENT_SECRET"
        );

        await client.PaymentLink.PatchOutPaymentLinkAsync(
            paylinkId: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            request: new PatchOutPaymentLinkRequest {
                Status = PaymentLinkStatus.Canceled
            }
        );
    }

}

```

```go CancelPaymentLink
package example

import (
    context "context"

    payabli "github.com/payabli/sdk-go"
    client "github.com/payabli/sdk-go/client"
    option "github.com/payabli/sdk-go/option"
)

func do() {
    client := client.NewClient(
        option.WithClientCredentials(
            "YOUR_CLIENT_ID",
            "YOUR_CLIENT_SECRET",
        ),
    )
    request := &payabli.PatchOutPaymentLinkRequest{
        Status: payabli.PaymentLinkStatusCanceled.Ptr(),
    }
    client.PaymentLink.PatchOutPaymentLink(
        context.TODO(),
        "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
        request,
    )
}

```

```php CancelPaymentLink
<?php

namespace Example;

use Payabli\PayabliClient;
use Payabli\PaymentLink\Requests\PatchOutPaymentLinkRequest;
use Payabli\Types\PaymentLinkStatus;

$client = new PayabliClient(
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
);
$client->paymentLink->patchOutPaymentLink(
    '2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234',
    new PatchOutPaymentLinkRequest([
        'status' => PaymentLinkStatus::Canceled->value,
    ]),
);

```

```swift CancelPaymentLink
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = ["status": "Canceled"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentLink/out/2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### UpdatePageContent

**Request**

```json
{
  "billPageData": {
    "page": {
      "description": "You have a payment waiting",
      "enabled": true,
      "header": "Vendor Payment",
      "order": 0
    },
    "paymentButton": {
      "enabled": true,
      "label": "Select Payment Method",
      "order": 0
    },
    "paymentMethods": {
      "allMethodsChecked": true,
      "allowMultipleMethods": true,
      "defaultMethod": "ach",
      "enabled": true,
      "header": "Payment Methods",
      "methods": {
        "ach": true,
        "check": true,
        "vcard": true
      },
      "order": 0,
      "showPreviewVirtualCard": false
    }
  }
}
```

**Response**

```json
{
  "isSuccess": true,
  "responseText": "Success",
  "responseData": "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234"
}
```

**SDK Code**

```typescript UpdatePageContent
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
    });
    await client.paymentLink.patchOutPaymentLink("2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234", {
        billPageData: {
            page: {
                description: "You have a payment waiting",
                enabled: true,
                header: "Vendor Payment",
                order: 0,
            },
            paymentButton: {
                enabled: true,
                label: "Select Payment Method",
                order: 0,
            },
            paymentMethods: {
                allMethodsChecked: true,
                allowMultipleMethods: true,
                defaultMethod: "ach",
                enabled: true,
                header: "Payment Methods",
                methods: {
                    ach: true,
                    check: true,
                    vcard: true,
                },
                order: 0,
                showPreviewVirtualCard: false,
            },
        },
    });
}
main();

```

```python UpdatePageContent
from payabli import payabli, PaymentPageRequestBodyOut, PageElement, LabelElement, MethodElementOut, MethodsListOut

client = payabli(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
)

client.payment_link.patch_out_payment_link(
    paylink_id="2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
    bill_page_data=PaymentPageRequestBodyOut(
        page=PageElement(
            description="You have a payment waiting",
            enabled=True,
            header="Vendor Payment",
            order=0,
        ),
        payment_button=LabelElement(
            enabled=True,
            label="Select Payment Method",
            order=0,
        ),
        payment_methods=MethodElementOut(
            all_methods_checked=True,
            allow_multiple_methods=True,
            default_method="ach",
            enabled=True,
            header="Payment Methods",
            methods=MethodsListOut(
                ach=True,
                check=True,
                vcard=True,
            ),
            order=0,
            show_preview_virtual_card=False,
        ),
    ),
)

```

```java UpdatePageContent
package com.example.usage;

import io.github.payabli.api.PayabliApiClient;
import io.github.payabli.api.resources.paymentlink.requests.PatchOutPaymentLinkRequest;
import io.github.payabli.api.types.LabelElement;
import io.github.payabli.api.types.MethodElementOut;
import io.github.payabli.api.types.MethodsListOut;
import io.github.payabli.api.types.PageElement;
import io.github.payabli.api.types.PaymentPageRequestBodyOut;

public class Example {
    public static void main(String[] args) {
        PayabliApiClient client = PayabliApiClient.withCredentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
            .build()
        ;

        client.paymentLink().patchOutPaymentLink(
            "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            PatchOutPaymentLinkRequest
                .builder()
                .billPageData(
                    PaymentPageRequestBodyOut
                        .builder()
                        .page(
                            PageElement
                                .builder()
                                .description("You have a payment waiting")
                                .enabled(true)
                                .header("Vendor Payment")
                                .order(0)
                                .build()
                        )
                        .paymentButton(
                            LabelElement
                                .builder()
                                .enabled(true)
                                .label("Select Payment Method")
                                .order(0)
                                .build()
                        )
                        .paymentMethods(
                            MethodElementOut
                                .builder()
                                .allMethodsChecked(true)
                                .allowMultipleMethods(true)
                                .defaultMethod("ach")
                                .enabled(true)
                                .header("Payment Methods")
                                .methods(
                                    MethodsListOut
                                        .builder()
                                        .ach(true)
                                        .check(true)
                                        .vcard(true)
                                        .build()
                                )
                                .order(0)
                                .showPreviewVirtualCard(false)
                                .build()
                        )
                        .build()
                )
                .build()
        );
    }
}
```

```ruby UpdatePageContent
require "payabli"

client = Payabli::Client.new(api_key: "YOUR_API_KEY_HERE")

client.payment_link.patch_out_payment_link(
  paylink_id: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
  bill_page_data: {
    page: {
      description: "You have a payment waiting",
      enabled: true,
      header: "Vendor Payment",
      order: 0
    },
    payment_button: {
      enabled: true,
      label: "Select Payment Method",
      order: 0
    },
    payment_methods: {
      all_methods_checked: true,
      allow_multiple_methods: true,
      default_method: "ach",
      enabled: true,
      header: "Payment Methods",
      methods: {
        ach: true,
        check: true,
        vcard: true
      },
      order: 0,
      show_preview_virtual_card: false
    }
  }
)

```

```csharp UpdatePageContent
using PayabliApi;
using System.Threading.Tasks;

public partial class Examples
{
    public async Task Example() {
        var client = new PayabliApiClient(
            clientId: "YOUR_CLIENT_ID",
            clientSecret: "YOUR_CLIENT_SECRET"
        );

        await client.PaymentLink.PatchOutPaymentLinkAsync(
            paylinkId: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            request: new PatchOutPaymentLinkRequest {
                BillPageData = new PaymentPageRequestBodyOut {
                    Page = new PageElement {
                        Description = "You have a payment waiting",
                        Enabled = true,
                        Header = "Vendor Payment",
                        Order = 0
                    },
                    PaymentButton = new LabelElement {
                        Enabled = true,
                        Label = "Select Payment Method",
                        Order = 0
                    },
                    PaymentMethods = new MethodElementOut {
                        AllMethodsChecked = true,
                        AllowMultipleMethods = true,
                        DefaultMethod = "ach",
                        Enabled = true,
                        Header = "Payment Methods",
                        Methods = new MethodsListOut {
                            Ach = true,
                            Check = true,
                            Vcard = true
                        },
                        Order = 0,
                        ShowPreviewVirtualCard = false
                    }
                }
            }
        );
    }

}

```

```go UpdatePageContent
package example

import (
    context "context"

    payabli "github.com/payabli/sdk-go"
    client "github.com/payabli/sdk-go/client"
    option "github.com/payabli/sdk-go/option"
)

func do() {
    client := client.NewClient(
        option.WithClientCredentials(
            "YOUR_CLIENT_ID",
            "YOUR_CLIENT_SECRET",
        ),
    )
    request := &payabli.PatchOutPaymentLinkRequest{
        BillPageData: &payabli.PaymentPageRequestBodyOut{
            Page: &payabli.PageElement{
                Description: payabli.String(
                    "You have a payment waiting",
                ),
                Enabled: payabli.Bool(
                    true,
                ),
                Header: payabli.String(
                    "Vendor Payment",
                ),
                Order: payabli.Int(
                    0,
                ),
            },
            PaymentButton: &payabli.LabelElement{
                Enabled: payabli.Bool(
                    true,
                ),
                Label: payabli.String(
                    "Select Payment Method",
                ),
                Order: payabli.Int(
                    0,
                ),
            },
            PaymentMethods: &payabli.MethodElementOut{
                AllMethodsChecked: payabli.Bool(
                    true,
                ),
                AllowMultipleMethods: payabli.Bool(
                    true,
                ),
                DefaultMethod: payabli.String(
                    "ach",
                ),
                Enabled: payabli.Bool(
                    true,
                ),
                Header: payabli.String(
                    "Payment Methods",
                ),
                Methods: &payabli.MethodsListOut{
                    Ach: payabli.Bool(
                        true,
                    ),
                    Check: payabli.Bool(
                        true,
                    ),
                    Vcard: payabli.Bool(
                        true,
                    ),
                },
                Order: payabli.Int(
                    0,
                ),
                ShowPreviewVirtualCard: payabli.Bool(
                    false,
                ),
            },
        },
    }
    client.PaymentLink.PatchOutPaymentLink(
        context.TODO(),
        "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
        request,
    )
}

```

```php UpdatePageContent
<?php

namespace Example;

use Payabli\PayabliClient;
use Payabli\PaymentLink\Requests\PatchOutPaymentLinkRequest;
use Payabli\Types\PaymentPageRequestBodyOut;
use Payabli\Types\PageElement;
use Payabli\Types\LabelElement;
use Payabli\Types\MethodElementOut;
use Payabli\Types\MethodsListOut;

$client = new PayabliClient(
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
);
$client->paymentLink->patchOutPaymentLink(
    '2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234',
    new PatchOutPaymentLinkRequest([
        'billPageData' => new PaymentPageRequestBodyOut([
            'page' => new PageElement([
                'description' => 'You have a payment waiting',
                'enabled' => true,
                'header' => 'Vendor Payment',
                'order' => 0,
            ]),
            'paymentButton' => new LabelElement([
                'enabled' => true,
                'label' => 'Select Payment Method',
                'order' => 0,
            ]),
            'paymentMethods' => new MethodElementOut([
                'allMethodsChecked' => true,
                'allowMultipleMethods' => true,
                'defaultMethod' => 'ach',
                'enabled' => true,
                'header' => 'Payment Methods',
                'methods' => new MethodsListOut([
                    'ach' => true,
                    'check' => true,
                    'vcard' => true,
                ]),
                'order' => 0,
                'showPreviewVirtualCard' => false,
            ]),
        ]),
    ]),
);

```

```swift UpdatePageContent
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = ["billPageData": [
    "page": [
      "description": "You have a payment waiting",
      "enabled": true,
      "header": "Vendor Payment",
      "order": 0
    ],
    "paymentButton": [
      "enabled": true,
      "label": "Select Payment Method",
      "order": 0
    ],
    "paymentMethods": [
      "allMethodsChecked": true,
      "allowMultipleMethods": true,
      "defaultMethod": "ach",
      "enabled": true,
      "header": "Payment Methods",
      "methods": [
        "ach": true,
        "check": true,
        "vcard": true
      ],
      "order": 0,
      "showPreviewVirtualCard": false
    ]
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentLink/out/2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```