mutation updatePaymentPlanSessionAuthenticated

Updates a payment plan session used by the checkout process to create and authorize a payment plan.

Returns PaymentPlanSession!

Arguments

ArgumentTypeDescription
inputUpdatePaymentPlanSessionInput!

Example request

curl -X POST 'https://graph.clientloop.com/' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <api-key>' \
  -d '{
    "query": "mutation UpdatePaymentPlanSession($input: UpdatePaymentPlanSessionInput!) { updatePaymentPlanSession(input: $input) { id orgId contactId contact { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId brandLogoUrl brandName } }",
    "variables": {
      "input": {
        "orgId": "abc123",
        "id": "abc123"
      }
    }
  }'
const response = await fetch('https://graph.clientloop.com/', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <api-key>',
  },
  body: JSON.stringify({
    query: `
      mutation UpdatePaymentPlanSession($input: UpdatePaymentPlanSessionInput!) {
        updatePaymentPlanSession(input: $input) {
          id
          orgId
          contactId
          contact {
            id
            orgId
            ownerId
            name
            givenName
            familyName
            email
            phone
            deletedAt
            createdAt
            updatedAt
          }
          amount
          currency
          status
          frequency
          startDate
          occurrences
          callbackUrl
          cancelUrl
          successUrl
          link
          expirationDate
          paymentPlanId
          createdAt
          updatedAt
          checkoutConfigurationId
          brandLogoUrl
          brandName
        }
      }
    `,
    variables: {
      "input": {
        "orgId": "abc123",
        "id": "abc123"
      }
    },
  }),
});

const { data, errors } = await response.json();
<?php

$body = <<<'JSON'
{
  "query": "mutation UpdatePaymentPlanSession($input: UpdatePaymentPlanSessionInput!) { updatePaymentPlanSession(input: $input) { id orgId contactId contact { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId brandLogoUrl brandName } }",
  "variables": {
    "input": {
      "orgId": "abc123",
      "id": "abc123"
    }
  }
}
JSON;

$ch = curl_init('https://graph.clientloop.com/');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer <api-key>',
  ],
  CURLOPT_POSTFIELDS => $body,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var body = """
{
  "query": "mutation UpdatePaymentPlanSession($input: UpdatePaymentPlanSessionInput!) { updatePaymentPlanSession(input: $input) { id orgId contactId contact { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId brandLogoUrl brandName } }",
  "variables": {
    "input": {
      "orgId": "abc123",
      "id": "abc123"
    }
  }
}
""";

var request = HttpRequest.newBuilder(URI.create("https://graph.clientloop.com/"))
    .header("Content-Type", "application/json")
    .header("Authorization", "Bearer <api-key>")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();

var response = HttpClient.newHttpClient()
    .send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());
using System.Net.Http;
using System.Text;

var body = """
{
  "query": "mutation UpdatePaymentPlanSession($input: UpdatePaymentPlanSessionInput!) { updatePaymentPlanSession(input: $input) { id orgId contactId contact { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId brandLogoUrl brandName } }",
  "variables": {
    "input": {
      "orgId": "abc123",
      "id": "abc123"
    }
  }
}
""";

using var client = new HttpClient();
using var content = new StringContent(body, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("Authorization", "Bearer <api-key>");

var response = await client.PostAsync("https://graph.clientloop.com/", content);
var result = await response.Content.ReadAsStringAsync();

Types

input UpdatePaymentPlanSessionInput

FieldTypeDescription
orgIdID!

ID of the organization this payment session belongs to.

idID!

Unique identifier for the payment plan session.

contactIdID

ID of the platform contact associated with this payment plan session

amountAmount

Payment amount to be charged on the configured frequency.

currencyCurrency

Currency of the payment

frequencyPaymentPlanFrequency

Frequency of the payment plan

startDateDate

Start date of the payment plan

occurrencesInt

Number of payment occurrences to be run on the configured frequency from the start date

callbackUrlURL

URL to receive payment session events

cancelUrlURL

URL to redirect after a payment session is canceled by the customer

successUrlURL

URL to redirect after a payment session is completed by the customer

expirationDateDateTime

Optional expiration date for the payment session. ISO 8601 format.

paymentPlanIdID

ID of the payment plan created by this payment plan session

statusPaymentPlanSessionStatus

Status of the payment plan session.

checkoutConfigurationIdID

The checkout configuration ID to be used for this payment plan session. If a checkout configuration ID is not provided, the default checkout configuration will be used.

brandLogoUrlURL

Optional URL to a logo image to display during checkout, overriding the default branding. The caller supplies a URL that is used to render the logo.

brandNameString

Optional brand or merchant name to display during checkout, overriding the organization name.

type PaymentPlanSession

FieldTypeDescription
idID!

Unique identifier for this payment plan session

orgIdID!

ID of the organization this payment session belongs to

contactIdID!

ID of the platform contact associated with this payment plan session

contactContact

Platform contact associated with this payment plan session

amountAmount!

Payment amount to be charged on the configured frequency.

currencyCurrency!

Currency of the payment

statusPaymentPlanSessionStatus!

Status of the payment plan session

frequencyPaymentPlanFrequency!

Frequency of the payment plan

startDateDate!

Start date of the payment plan

occurrencesInt!

Number of payment occurrences to be run on the configured frequency from the start date

callbackUrlURL

URL to receive payment session events

cancelUrlURL

URL to redirect after a payment session is canceled by the customer

successUrlURL

URL to redirect after a payment session is completed by the customer

linkURL

Link to the payment plan session. This will be null if the session is expired or completed. This link is used to redirect the user to the payment page or may be used to embedded payment flow depending on the configuration provided.

expirationDateDateTime

Optional expiration date for the payment session. ISO 8601 format.

paymentPlanIdID

ID of the payment plan created by this payment plan session

createdAtDateTime!

Date the payment session was created

updatedAtDateTime!

Date the payment session was last updated

checkoutConfigurationIdID

The checkout configuration ID used for this payment session.

brandLogoUrlURL

Optional caller-supplied URL to a logo image to display during checkout, overriding the default branding.

brandNameString

Optional caller-supplied brand or merchant name to display during checkout, overriding the organization name.

scalar Amount

A monetary amount with up to two decimal places. Ex. 111.11

scalar Currency

Three letter ISO 4217 currency code. Ex. USD

enum PaymentPlanFrequency

  • Weekly
  • Monthly
  • Quarterly
  • Yearly

scalar Date

ISO 8601 formatted date in the format YYYY-MM-DD

scalar URL

A URL with protocol and port. ex. https://example.com

scalar DateTime

ISO 8601 formatted date time. Ex. 2023-11-23T14:30:00Z

enum PaymentPlanSessionStatus

  • Expired
  • Active
  • Completed
  • Canceled

type Contact

FieldTypeDescription
idID!

Unique ID of the contact.

orgIdID!

ID of the organization that owns the contact.

ownerIdID!

Global ID of the owning organization (Org#<id>). Deprecated; use orgId.

Deprecated: Use `orgId` instead.
nameString!

Full name of the contact.

givenNameString

Given name of the contact.

familyNameString

Family name of the contact.

emailEmail

Email address of the contact.

phonePhone

Phone number of the contact. This will be validated and normalized to the E.164 format.

deletedAtString

Set when the contact has been soft-deleted; null for an active contact.

createdAtString!

Date and time when the contact was created.

updatedAtString!

Date and time when the contact was last updated.

scalar Email

An email address

scalar Phone

E.164 formatted phone number. Ex. +14155554345