> 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 content

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

Updates the payment page content for a Pay Out payment link. Use this to change the branding, messaging, payment methods offered, or other page configuration.

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

## 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)

- `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

## 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

### UpdatePayLinkOutFull

**Request**

```json
{
  "contactUs": {
    "emailLabel": "Email",
    "enabled": true,
    "header": "Contact Us",
    "order": 0,
    "paymentIcons": true,
    "phoneLabel": "Phone"
  },
  "logo": {
    "enabled": true,
    "order": 0
  },
  "messageBeforePaying": {
    "enabled": true,
    "label": "Please review your payment details",
    "order": 0
  },
  "notes": {
    "enabled": true,
    "header": "Additional Notes",
    "order": 0,
    "placeholder": "Enter any additional notes here",
    "value": ""
  },
  "page": {
    "description": "Get paid securely",
    "enabled": true,
    "header": "Payment Page",
    "order": 0
  },
  "paymentButton": {
    "enabled": true,
    "label": "Pay Now",
    "order": 0
  },
  "paymentMethods": {
    "allMethodsChecked": true,
    "allowMultipleMethods": true,
    "defaultMethod": "vcard",
    "enabled": true,
    "header": "Payment Methods",
    "methods": {
      "ach": true,
      "check": true,
      "vcard": true
    },
    "order": 0,
    "showPreviewVirtualCard": true
  },
  "review": {
    "enabled": true,
    "header": "Review Payment",
    "order": 0
  },
  "settings": {
    "color": "#000000",
    "language": "en"
  }
}
```

**Response**

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

**SDK Code**

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

async function main() {
    const client = new PayabliClient({
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
    });
    await client.paymentLink.updatePayLinkOutFromId("2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234", {
        contactUs: {
            emailLabel: "Email",
            enabled: true,
            header: "Contact Us",
            order: 0,
            paymentIcons: true,
            phoneLabel: "Phone",
        },
        logo: {
            enabled: true,
            order: 0,
        },
        messageBeforePaying: {
            enabled: true,
            label: "Please review your payment details",
            order: 0,
        },
        notes: {
            enabled: true,
            header: "Additional Notes",
            order: 0,
            placeholder: "Enter any additional notes here",
            value: "",
        },
        page: {
            description: "Get paid securely",
            enabled: true,
            header: "Payment Page",
            order: 0,
        },
        paymentButton: {
            enabled: true,
            label: "Pay Now",
            order: 0,
        },
        paymentMethods: {
            allMethodsChecked: true,
            allowMultipleMethods: true,
            defaultMethod: "vcard",
            enabled: true,
            header: "Payment Methods",
            methods: {
                ach: true,
                check: true,
                vcard: true,
            },
            order: 0,
            showPreviewVirtualCard: true,
        },
        review: {
            enabled: true,
            header: "Review Payment",
            order: 0,
        },
        settings: {
            color: "#000000",
            language: "en",
        },
    });
}
main();

```

```python UpdatePayLinkOutFull
from payabli import payabli, ContactElement, Element, LabelElement, NoteElement, PageElement, MethodElementOut, MethodsListOut, HeaderElement, PagelinkSetting

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

client.payment_link.update_pay_link_out_from_id(
    paylink_id="2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
    contact_us=ContactElement(
        email_label="Email",
        enabled=True,
        header="Contact Us",
        order=0,
        payment_icons=True,
        phone_label="Phone",
    ),
    logo=Element(
        enabled=True,
        order=0,
    ),
    message_before_paying=LabelElement(
        enabled=True,
        label="Please review your payment details",
        order=0,
    ),
    notes=NoteElement(
        enabled=True,
        header="Additional Notes",
        order=0,
        placeholder="Enter any additional notes here",
        value="",
    ),
    page=PageElement(
        description="Get paid securely",
        enabled=True,
        header="Payment Page",
        order=0,
    ),
    payment_button=LabelElement(
        enabled=True,
        label="Pay Now",
        order=0,
    ),
    payment_methods=MethodElementOut(
        all_methods_checked=True,
        allow_multiple_methods=True,
        default_method="vcard",
        enabled=True,
        header="Payment Methods",
        methods=MethodsListOut(
            ach=True,
            check=True,
            vcard=True,
        ),
        order=0,
        show_preview_virtual_card=True,
    ),
    review=HeaderElement(
        enabled=True,
        header="Review Payment",
        order=0,
    ),
    settings=PagelinkSetting(
        color="#000000",
        language="en",
    ),
)

```

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

import io.github.payabli.api.PayabliApiClient;
import io.github.payabli.api.types.ContactElement;
import io.github.payabli.api.types.Element;
import io.github.payabli.api.types.HeaderElement;
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.NoteElement;
import io.github.payabli.api.types.PageElement;
import io.github.payabli.api.types.PagelinkSetting;
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().updatePayLinkOutFromId(
            "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            PaymentPageRequestBodyOut
                .builder()
                .contactUs(
                    ContactElement
                        .builder()
                        .emailLabel("Email")
                        .enabled(true)
                        .header("Contact Us")
                        .order(0)
                        .paymentIcons(true)
                        .phoneLabel("Phone")
                        .build()
                )
                .logo(
                    Element
                        .builder()
                        .enabled(true)
                        .order(0)
                        .build()
                )
                .messageBeforePaying(
                    LabelElement
                        .builder()
                        .enabled(true)
                        .label("Please review your payment details")
                        .order(0)
                        .build()
                )
                .notes(
                    NoteElement
                        .builder()
                        .enabled(true)
                        .header("Additional Notes")
                        .order(0)
                        .placeholder("Enter any additional notes here")
                        .value("")
                        .build()
                )
                .page(
                    PageElement
                        .builder()
                        .description("Get paid securely")
                        .enabled(true)
                        .header("Payment Page")
                        .order(0)
                        .build()
                )
                .paymentButton(
                    LabelElement
                        .builder()
                        .enabled(true)
                        .label("Pay Now")
                        .order(0)
                        .build()
                )
                .paymentMethods(
                    MethodElementOut
                        .builder()
                        .allMethodsChecked(true)
                        .allowMultipleMethods(true)
                        .defaultMethod("vcard")
                        .enabled(true)
                        .header("Payment Methods")
                        .methods(
                            MethodsListOut
                                .builder()
                                .ach(true)
                                .check(true)
                                .vcard(true)
                                .build()
                        )
                        .order(0)
                        .showPreviewVirtualCard(true)
                        .build()
                )
                .review(
                    HeaderElement
                        .builder()
                        .enabled(true)
                        .header("Review Payment")
                        .order(0)
                        .build()
                )
                .settings(
                    PagelinkSetting
                        .builder()
                        .color("#000000")
                        .language("en")
                        .build()
                )
                .build()
        );
    }
}
```

```ruby UpdatePayLinkOutFull
require "payabli"

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

client.payment_link.update_pay_link_out_from_id(
  paylink_id: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
  contact_us: {
    email_label: "Email",
    enabled: true,
    header: "Contact Us",
    order: 0,
    payment_icons: true,
    phone_label: "Phone"
  },
  logo: {
    enabled: true,
    order: 0
  },
  message_before_paying: {
    enabled: true,
    label: "Please review your payment details",
    order: 0
  },
  notes: {
    enabled: true,
    header: "Additional Notes",
    order: 0,
    placeholder: "Enter any additional notes here",
    value: ""
  },
  page: {
    description: "Get paid securely",
    enabled: true,
    header: "Payment Page",
    order: 0
  },
  payment_button: {
    enabled: true,
    label: "Pay Now",
    order: 0
  },
  payment_methods: {
    all_methods_checked: true,
    allow_multiple_methods: true,
    default_method: "vcard",
    enabled: true,
    header: "Payment Methods",
    methods: {
      ach: true,
      check: true,
      vcard: true
    },
    order: 0,
    show_preview_virtual_card: true
  },
  review: {
    enabled: true,
    header: "Review Payment",
    order: 0
  },
  settings: {
    color: "#000000",
    language: "en"
  }
)

```

```csharp UpdatePayLinkOutFull
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.UpdatePayLinkOutFromIdAsync(
            paylinkId: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            request: new PaymentPageRequestBodyOut {
                ContactUs = new ContactElement {
                    EmailLabel = "Email",
                    Enabled = true,
                    Header = "Contact Us",
                    Order = 0,
                    PaymentIcons = true,
                    PhoneLabel = "Phone"
                },
                Logo = new Element {
                    Enabled = true,
                    Order = 0
                },
                MessageBeforePaying = new LabelElement {
                    Enabled = true,
                    Label = "Please review your payment details",
                    Order = 0
                },
                Notes = new NoteElement {
                    Enabled = true,
                    Header = "Additional Notes",
                    Order = 0,
                    Placeholder = "Enter any additional notes here",
                    Value = ""
                },
                Page = new PageElement {
                    Description = "Get paid securely",
                    Enabled = true,
                    Header = "Payment Page",
                    Order = 0
                },
                PaymentButton = new LabelElement {
                    Enabled = true,
                    Label = "Pay Now",
                    Order = 0
                },
                PaymentMethods = new MethodElementOut {
                    AllMethodsChecked = true,
                    AllowMultipleMethods = true,
                    DefaultMethod = "vcard",
                    Enabled = true,
                    Header = "Payment Methods",
                    Methods = new MethodsListOut {
                        Ach = true,
                        Check = true,
                        Vcard = true
                    },
                    Order = 0,
                    ShowPreviewVirtualCard = true
                },
                Review = new HeaderElement {
                    Enabled = true,
                    Header = "Review Payment",
                    Order = 0
                },
                Settings = new PagelinkSetting {
                    Color = "#000000",
                    Language = "en"
                }
            }
        );
    }

}

```

```go UpdatePayLinkOutFull
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.PaymentPageRequestBodyOut{
        ContactUs: &payabli.ContactElement{
            EmailLabel: payabli.String(
                "Email",
            ),
            Enabled: payabli.Bool(
                true,
            ),
            Header: payabli.String(
                "Contact Us",
            ),
            Order: payabli.Int(
                0,
            ),
            PaymentIcons: payabli.Bool(
                true,
            ),
            PhoneLabel: payabli.String(
                "Phone",
            ),
        },
        Logo: &payabli.Element{
            Enabled: payabli.Bool(
                true,
            ),
            Order: payabli.Int(
                0,
            ),
        },
        MessageBeforePaying: &payabli.LabelElement{
            Enabled: payabli.Bool(
                true,
            ),
            Label: payabli.String(
                "Please review your payment details",
            ),
            Order: payabli.Int(
                0,
            ),
        },
        Notes: &payabli.NoteElement{
            Enabled: payabli.Bool(
                true,
            ),
            Header: payabli.String(
                "Additional Notes",
            ),
            Order: payabli.Int(
                0,
            ),
            Placeholder: payabli.String(
                "Enter any additional notes here",
            ),
            Value: payabli.String(
                "",
            ),
        },
        Page: &payabli.PageElement{
            Description: payabli.String(
                "Get paid securely",
            ),
            Enabled: payabli.Bool(
                true,
            ),
            Header: payabli.String(
                "Payment Page",
            ),
            Order: payabli.Int(
                0,
            ),
        },
        PaymentButton: &payabli.LabelElement{
            Enabled: payabli.Bool(
                true,
            ),
            Label: payabli.String(
                "Pay Now",
            ),
            Order: payabli.Int(
                0,
            ),
        },
        PaymentMethods: &payabli.MethodElementOut{
            AllMethodsChecked: payabli.Bool(
                true,
            ),
            AllowMultipleMethods: payabli.Bool(
                true,
            ),
            DefaultMethod: payabli.String(
                "vcard",
            ),
            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(
                true,
            ),
        },
        Review: &payabli.HeaderElement{
            Enabled: payabli.Bool(
                true,
            ),
            Header: payabli.String(
                "Review Payment",
            ),
            Order: payabli.Int(
                0,
            ),
        },
        Settings: &payabli.PagelinkSetting{
            Color: payabli.String(
                "#000000",
            ),
            Language: payabli.String(
                "en",
            ),
        },
    }
    client.PaymentLink.UpdatePayLinkOutFromId(
        context.TODO(),
        "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
        request,
    )
}

```

```php UpdatePayLinkOutFull
<?php

namespace Example;

use Payabli\PayabliClient;
use Payabli\Types\PaymentPageRequestBodyOut;
use Payabli\Types\ContactElement;
use Payabli\Types\Element;
use Payabli\Types\LabelElement;
use Payabli\Types\NoteElement;
use Payabli\Types\PageElement;
use Payabli\Types\MethodElementOut;
use Payabli\Types\MethodsListOut;
use Payabli\Types\HeaderElement;
use Payabli\Types\PagelinkSetting;

$client = new PayabliClient(
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
);
$client->paymentLink->updatePayLinkOutFromId(
    '2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234',
    new PaymentPageRequestBodyOut([
        'contactUs' => new ContactElement([
            'emailLabel' => 'Email',
            'enabled' => true,
            'header' => 'Contact Us',
            'order' => 0,
            'paymentIcons' => true,
            'phoneLabel' => 'Phone',
        ]),
        'logo' => new Element([
            'enabled' => true,
            'order' => 0,
        ]),
        'messageBeforePaying' => new LabelElement([
            'enabled' => true,
            'label' => 'Please review your payment details',
            'order' => 0,
        ]),
        'notes' => new NoteElement([
            'enabled' => true,
            'header' => 'Additional Notes',
            'order' => 0,
            'placeholder' => 'Enter any additional notes here',
            'value' => '',
        ]),
        'page' => new PageElement([
            'description' => 'Get paid securely',
            'enabled' => true,
            'header' => 'Payment Page',
            'order' => 0,
        ]),
        'paymentButton' => new LabelElement([
            'enabled' => true,
            'label' => 'Pay Now',
            'order' => 0,
        ]),
        'paymentMethods' => new MethodElementOut([
            'allMethodsChecked' => true,
            'allowMultipleMethods' => true,
            'defaultMethod' => 'vcard',
            'enabled' => true,
            'header' => 'Payment Methods',
            'methods' => new MethodsListOut([
                'ach' => true,
                'check' => true,
                'vcard' => true,
            ]),
            'order' => 0,
            'showPreviewVirtualCard' => true,
        ]),
        'review' => new HeaderElement([
            'enabled' => true,
            'header' => 'Review Payment',
            'order' => 0,
        ]),
        'settings' => new PagelinkSetting([
            'color' => '#000000',
            'language' => 'en',
        ]),
    ]),
);

```

```swift UpdatePayLinkOutFull
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "contactUs": [
    "emailLabel": "Email",
    "enabled": true,
    "header": "Contact Us",
    "order": 0,
    "paymentIcons": true,
    "phoneLabel": "Phone"
  ],
  "logo": [
    "enabled": true,
    "order": 0
  ],
  "messageBeforePaying": [
    "enabled": true,
    "label": "Please review your payment details",
    "order": 0
  ],
  "notes": [
    "enabled": true,
    "header": "Additional Notes",
    "order": 0,
    "placeholder": "Enter any additional notes here",
    "value": ""
  ],
  "page": [
    "description": "Get paid securely",
    "enabled": true,
    "header": "Payment Page",
    "order": 0
  ],
  "paymentButton": [
    "enabled": true,
    "label": "Pay Now",
    "order": 0
  ],
  "paymentMethods": [
    "allMethodsChecked": true,
    "allowMultipleMethods": true,
    "defaultMethod": "vcard",
    "enabled": true,
    "header": "Payment Methods",
    "methods": [
      "ach": true,
      "check": true,
      "vcard": true
    ],
    "order": 0,
    "showPreviewVirtualCard": true
  ],
  "review": [
    "enabled": true,
    "header": "Review Payment",
    "order": 0
  ],
  "settings": [
    "color": "#000000",
    "language": "en"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentLink/updateOut/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()
```

### ChangeOfferedMethods

**Request**

```json
{
  "paymentButton": {
    "enabled": true,
    "label": "Choose Payment Method",
    "order": 0
  },
  "paymentMethods": {
    "allMethodsChecked": false,
    "allowMultipleMethods": true,
    "defaultMethod": "vcard",
    "enabled": true,
    "header": "Payment Methods",
    "methods": {
      "ach": true,
      "check": false,
      "vcard": true
    },
    "order": 0,
    "showPreviewVirtualCard": true
  }
}
```

**Response**

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

**SDK Code**

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

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

```

```python ChangeOfferedMethods
from payabli import payabli, LabelElement, MethodElementOut, MethodsListOut

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

client.payment_link.update_pay_link_out_from_id(
    paylink_id="2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
    payment_button=LabelElement(
        enabled=True,
        label="Choose Payment Method",
        order=0,
    ),
    payment_methods=MethodElementOut(
        all_methods_checked=False,
        allow_multiple_methods=True,
        default_method="vcard",
        enabled=True,
        header="Payment Methods",
        methods=MethodsListOut(
            ach=True,
            check=False,
            vcard=True,
        ),
        order=0,
        show_preview_virtual_card=True,
    ),
)

```

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

import io.github.payabli.api.PayabliApiClient;
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.PaymentPageRequestBodyOut;

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

        client.paymentLink().updatePayLinkOutFromId(
            "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            PaymentPageRequestBodyOut
                .builder()
                .paymentButton(
                    LabelElement
                        .builder()
                        .enabled(true)
                        .label("Choose Payment Method")
                        .order(0)
                        .build()
                )
                .paymentMethods(
                    MethodElementOut
                        .builder()
                        .allMethodsChecked(false)
                        .allowMultipleMethods(true)
                        .defaultMethod("vcard")
                        .enabled(true)
                        .header("Payment Methods")
                        .methods(
                            MethodsListOut
                                .builder()
                                .ach(true)
                                .check(false)
                                .vcard(true)
                                .build()
                        )
                        .order(0)
                        .showPreviewVirtualCard(true)
                        .build()
                )
                .build()
        );
    }
}
```

```ruby ChangeOfferedMethods
require "payabli"

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

client.payment_link.update_pay_link_out_from_id(
  paylink_id: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
  payment_button: {
    enabled: true,
    label: "Choose Payment Method",
    order: 0
  },
  payment_methods: {
    all_methods_checked: false,
    allow_multiple_methods: true,
    default_method: "vcard",
    enabled: true,
    header: "Payment Methods",
    methods: {
      ach: true,
      check: false,
      vcard: true
    },
    order: 0,
    show_preview_virtual_card: true
  }
)

```

```csharp ChangeOfferedMethods
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.UpdatePayLinkOutFromIdAsync(
            paylinkId: "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
            request: new PaymentPageRequestBodyOut {
                PaymentButton = new LabelElement {
                    Enabled = true,
                    Label = "Choose Payment Method",
                    Order = 0
                },
                PaymentMethods = new MethodElementOut {
                    AllMethodsChecked = false,
                    AllowMultipleMethods = true,
                    DefaultMethod = "vcard",
                    Enabled = true,
                    Header = "Payment Methods",
                    Methods = new MethodsListOut {
                        Ach = true,
                        Check = false,
                        Vcard = true
                    },
                    Order = 0,
                    ShowPreviewVirtualCard = true
                }
            }
        );
    }

}

```

```go ChangeOfferedMethods
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.PaymentPageRequestBodyOut{
        PaymentButton: &payabli.LabelElement{
            Enabled: payabli.Bool(
                true,
            ),
            Label: payabli.String(
                "Choose Payment Method",
            ),
            Order: payabli.Int(
                0,
            ),
        },
        PaymentMethods: &payabli.MethodElementOut{
            AllMethodsChecked: payabli.Bool(
                false,
            ),
            AllowMultipleMethods: payabli.Bool(
                true,
            ),
            DefaultMethod: payabli.String(
                "vcard",
            ),
            Enabled: payabli.Bool(
                true,
            ),
            Header: payabli.String(
                "Payment Methods",
            ),
            Methods: &payabli.MethodsListOut{
                Ach: payabli.Bool(
                    true,
                ),
                Check: payabli.Bool(
                    false,
                ),
                Vcard: payabli.Bool(
                    true,
                ),
            },
            Order: payabli.Int(
                0,
            ),
            ShowPreviewVirtualCard: payabli.Bool(
                true,
            ),
        },
    }
    client.PaymentLink.UpdatePayLinkOutFromId(
        context.TODO(),
        "2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234",
        request,
    )
}

```

```php ChangeOfferedMethods
<?php

namespace Example;

use Payabli\PayabliClient;
use Payabli\Types\PaymentPageRequestBodyOut;
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->updatePayLinkOutFromId(
    '2325-XXXXXXX-90b1-4598-b6c7-44cdcbf495d7-1234',
    new PaymentPageRequestBodyOut([
        'paymentButton' => new LabelElement([
            'enabled' => true,
            'label' => 'Choose Payment Method',
            'order' => 0,
        ]),
        'paymentMethods' => new MethodElementOut([
            'allMethodsChecked' => false,
            'allowMultipleMethods' => true,
            'defaultMethod' => 'vcard',
            'enabled' => true,
            'header' => 'Payment Methods',
            'methods' => new MethodsListOut([
                'ach' => true,
                'check' => false,
                'vcard' => true,
            ]),
            'order' => 0,
            'showPreviewVirtualCard' => true,
        ]),
    ]),
);

```

```swift ChangeOfferedMethods
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "paymentButton": [
    "enabled": true,
    "label": "Choose Payment Method",
    "order": 0
  ],
  "paymentMethods": [
    "allMethodsChecked": false,
    "allowMultipleMethods": true,
    "defaultMethod": "vcard",
    "enabled": true,
    "header": "Payment Methods",
    "methods": [
      "ach": true,
      "check": false,
      "vcard": true
    ],
    "order": 0,
    "showPreviewVirtualCard": true
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentLink/updateOut/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()
```