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 { orgId id name givenName familyName email phone createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId } }",
    "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 {
            orgId
            id
            name
            givenName
            familyName
            email
            phone
            createdAt
            updatedAt
          }
          amount
          currency
          status
          frequency
          startDate
          occurrences
          callbackUrl
          cancelUrl
          successUrl
          link
          expirationDate
          paymentPlanId
          createdAt
          updatedAt
          checkoutConfigurationId
        }
      }
    `,
    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 { orgId id name givenName familyName email phone createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId } }",
  "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 { orgId id name givenName familyName email phone createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId } }",
  "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 { orgId id name givenName familyName email phone createdAt updatedAt } amount currency status frequency startDate occurrences callbackUrl cancelUrl successUrl link expirationDate paymentPlanId createdAt updatedAt checkoutConfigurationId } }",
  "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.
contactIdIDID of the platform contact associated with this payment plan session
amountAmountPayment amount to be charged on the configured frequency.
currencyCurrencyCurrency of the payment
frequencyPaymentPlanFrequencyFrequency of the payment plan
startDateDateStart date of the payment plan
occurrencesIntNumber of payment occurrences to be run on the configured frequency from the start date
callbackUrlURLURL to receive payment session events
cancelUrlURLURL to redirect after a payment session is canceled by the customer
successUrlURLURL to redirect after a payment session is completed by the customer
expirationDateDateTimeOptional expiration date for the payment session. ISO 8601 format.
paymentPlanIdIDID of the payment plan created by this payment plan session
statusPaymentPlanSessionStatusStatus of the payment plan session.
checkoutConfigurationIdIDThe 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.

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
callbackUrlURLURL to receive payment session events
cancelUrlURLURL to redirect after a payment session is canceled by the customer
successUrlURLURL to redirect after a payment session is completed by the customer
linkURLLink 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.
expirationDateDateTimeOptional expiration date for the payment session. ISO 8601 format.
paymentPlanIdIDID 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
checkoutConfigurationIdIDThe checkout configuration ID used for this payment session.

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
orgIdID!
idID!
nameString!
givenNameString
familyNameString
emailEmail
phonePhone
createdAtString!
updatedAtString!

scalar Email

An email address

scalar Phone

E.164 formatted phone number. Ex. +14155554345