### Authorize Payment Method Token Variables Example
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example JSON variables for the `AuthorizePaymentMethodToken` mutation, demonstrating a customer-initiated installment payment with specific amount, currency, and installment details.
```json
{
"input": {
"paymentMethodTokenId": "tkpmc_01",
"merchantAcceptorId": "acqma_01",
"amount": {
"value": 1000,
"currencyCode": "USD"
},
"idempotencyKey": "UUID_v4",
"paymentInitiator": "CUSTOMER_INITIATED_INSTALLMENT_FIRST",
"installmentPayment": {
"totalAmount": {
"value": 6000,
"currencyCode": "USD"
},
"numberOfInstallments": 6,
"paymentAmount": {
"value": 1000,
"currencyCode": "USD"
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 1,
"fundedAmount": {
"value": 0,
"currencyCode": "USD"
}
}
}
}
```
--------------------------------
### Charge Payment Card Variables Example
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example variables for the `chargePaymentCard` mutation. This includes payment card details, merchant acceptor ID, amount, idempotency key, payment initiator, and installment payment configuration.
```json
{
"input": {
"paymentCard": {
"cardNumber": "4000000000000002",
"expiryYear": "29",
"expiryMonth": "12",
"securityCode": "111"
},
"merchantAcceptorId": "acqma_01",
"amount": {
"value": 1000,
"currencyCode": "USD"
},
"idempotencyKey": "UUID_v4",
"paymentInitiator": "CUSTOMER_INITIATED_INSTALLMENT_FIRST",
"externalCredentialOnFile": {
"intendToStore": true
},
"installmentPayment": {
"totalAmount": {
"value": 6000,
"currencyCode": "USD"
},
"numberOfInstallments": 6,
"paymentAmount": {
"value": 1000,
"currencyCode": "USD"
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 1,
"fundedAmount": {
"value": 0,
"currencyCode": "USD"
}
}
}
}
```
--------------------------------
### Installation
Source: https://docs.highnote.com/docs/developers/sdks/issuing/secure-inputs-sdk-pins
Instructions for installing the Highnote Secure Inputs SDK using package managers or a CDN.
```APIDOC
## Installation
The Highnote Secure Inputs SDK can be installed using npm, yarn, pnpm, or via a CDN.
### Install by package manager
**npm**
```bash
npm i @highnoteplatform/secure-inputs
```
**yarn**
```bash
yarn add @highnoteplatform/secure-inputs
```
**pnpm**
```bash
pnpm add @highnoteplatform/secure-inputs
```
### Install by CDN
To ensure stability, replace `@latest` with a specific version number (e.g., `@1.0.0`).
#### Script tag
```html
```
#### ESM import
```html
```
```
--------------------------------
### Install Card Viewer SDK with yarn
Source: https://docs.highnote.com/docs/developers/sdks/issuing/card-viewer-sdk
Installs the Highnote Card Viewer SDK using yarn. This is an alternative method for JavaScript package manager installations.
```bash
yarn add @highnoteplatform/card-viewer
```
--------------------------------
### POST /graphql (CreateCardProduct)
Source: https://docs.highnote.com/docs/issuing/accounts/onboarding/onboard-an-account
Creates a new card product in the Test environment, which is a prerequisite for onboarding account holders.
```APIDOC
## POST /graphql
### Description
Creates a new card product configuration to be used for issuing cards.
### Method
POST (GraphQL Mutation)
### Endpoint
/graphql
### Request Body
- **input** (CreateCardProductInput) - Required - Object containing card product details including name, usage, and vertical.
### Request Example
{
"query": "mutation CreateCardProduct($input: CreateCardProductInput!) { createCardProduct(input: $input) { __typename ... on CardProduct { id name usage } ... on UserError { errors { errorPath code description } } } }",
"variables": {
"input": {
"cardProduct": {
"name": "My Test Product",
"usage": "VERTICAL_USAGE",
"vertical": "CARD_VERTICAL"
}
}
}
}
### Response
#### Success Response (200)
- **id** (string) - The unique identifier of the created card product.
- **name** (string) - The name of the card product.
- **usage** (string) - The usage type of the product.
#### Response Example
{
"data": {
"createCardProduct": {
"__typename": "CardProduct",
"id": "CARD_PRODUCT_ID",
"name": "My Test Product",
"usage": "MULTI_USE"
}
}
}
```
--------------------------------
### GET /installments/eligibility
Source: https://docs.highnote.com/docs/api-reference/input
Endpoints to check installment eligibility and filter existing installment agreements.
```APIDOC
## GET /installments/eligibility
### Description
View installment eligibility for specific transaction events.
### Method
GET
### Query Parameters
- **cardTransactionEventIds** ([ID!]!) - Required - List of transaction event IDs (1-20).
### Response
#### Success Response (200)
- **eligibility** (Object) - Eligibility details for the provided transactions.
```
--------------------------------
### CreateCardProductInstallmentCreditPlan
Source: https://docs.highnote.com/docs/api-reference/input
Creates an Installment Credit Plan for a Card Product.
```APIDOC
## POST /cardProducts/{productId}/installmentCreditPlans
### Description
Creates a `CreditPlan` for a `CardProduct` with a `BalanceType` of `INSTALLMENT`, based on a `CreditPlanTemplate`.
### Method
POST
### Endpoint
/cardProducts/{productId}/installmentCreditPlans
### Parameters
#### Path Parameters
- **productId** (ID!) - Required - The id for the `CardProduct` to use when creating this `CreditPlan`.
#### Request Body
- **name** (String!) - Required - The name for this `CreditPlan`. Supports up to 255 alphanumeric characters. Does not need to be unique.
- **creditPlanTemplateId** (ID!) - Required - The id for the `CreditPlanTemplate` to use when creating this `CreditPlan`. Must have a `CreditBalanceType` of `INSTALLMENT`.
- **minimumPrincipalAmount** (AmountInput) - Optional - The minimum cleared `Amount` a `Transaction` can have to be eligible to convert into installments. Optional; if included, will be validated against the provided `CreditPlanTemplate`.
- **maximumPrincipalAmount** (AmountInput) - Optional - The maximum cleared `Amount` a `Transaction` can have to be eligible to convert into installments. Optional; if included, will be validated against the provided `CreditPlanTemplate`.
- **numberOfInstallmentPeriods** (UnsignedInt!) - Required - The number of periods for an `InstallmentAgreement` based on this `CreditPlan`.
- **fee** (CreditPlanFeeInput) - Optional - The fee configuration for this `CreditPlan`.
### Request Example
```json
{
"name": "Installment Plan",
"creditPlanTemplateId": "cpt_installment_123",
"minimumPrincipalAmount": {
"amount": 10000,
"currencyCode": "USD"
},
"numberOfInstallmentPeriods": 12,
"fee": {
"fixedAmount": {
"amount": 500,
"currencyCode": "USD"
},
"percentage": 1.0
}
}
```
### Response
#### Success Response (200)
- **creditPlanId** (ID!) - The ID of the newly created Installment Credit Plan.
#### Response Example
```json
{
"creditPlanId": "cp_install_abcde"
}
```
```
--------------------------------
### ProvisionAccountHolder Input Variables
Source: https://docs.highnote.com/docs/issuing/accounts/onboarding/onboard-an-account
Example JSON input variables for the ProvisionAccountHolder mutation, specifying the actions to perform and the necessary configuration for each step.
```json
{
"input": {
"idempotencyKey": "IDEMPOTENCY-KEY",
"accountHolderId": "og_ah02cac722541e144ab2beace82b9db33cca",
"actions": [
"CREATE_APPLICATION",
"ISSUE_FINANCIAL_ACCOUNT",
"ISSUE_PAYMENT_CARD"
],
"actionInput": {
"createAccountHolderCardProductApplicationInput": {
"cardProductId": "pd_63074611593b4967a74b632089e98f77",
"cardHolderAgreementConsent": {
"consentTimestamp": "2024-11-12T16:20:15.657Z",
"primaryAuthorizedPersonId": "ps_ap01583eb308f15f4cb181689e8d2b6c2ddc"
}
},
"issueFinancialAccountForApplicationInput": {
"name": "Fianancial Account Name"
},
"issuePaymentCardForFinancialAccountInput": {
"options": {
"activateOnCreate": true,
"expirationDate": "2026-01-01T23:59:59Z"
}
}
}
}
}
```
--------------------------------
### Query Installment Agreement Details (GraphQL)
Source: https://docs.highnote.com/docs/issuing/credit/revolving/credit-plans-bnpl
This GraphQL query retrieves comprehensive details about an installment agreement, including its ID, period start, status, associated credit plan information, payment details, and remaining balances. It requires an installment agreement ID as input.
```graphql
query nodeInstallmentAgreement($id: ID!) {
node(id: $id) {
__typename
... on InstallmentAgreement {
id
installmentAgreementPeriodStart
status
agreement {
creditPlan {
__typename
id
name
status
planType
balanceType
riskBasedPricingPolicy {
isRiskBased
}
percentageOfCreditLimit
effectiveFromDate
effectiveThroughDate
feeSchedule {
id
feeConfigurations {
feeActivityType
feeChargeRules {
value {
__typename
... on FixedFeeChargeValue {
amount {
value
currencyCode
}
}
... on VariableFeeChargeValue {
basisPoints
}
}
}
}
}
createdAt
updatedAt
}
details {
principalDuePerPeriod {
value
currencyCode
}
feesChargedPerPeriod {
value
currencyCode
}
totalCost {
value
currencyCode
}
totalFees {
value
currencyCode
}
totalPrincipal {
value
currencyCode
}
}
snapshot {
asOf
installmentPaymentsCompleted {
principalBalancePaid {
value
currencyCode
}
feesPaid {
value
currencyCode
}
numberOfInstallmentsCompleted
}
installmentPaymentsRemaining {
principalBalanceRemaining {
value
currencyCode
}
estimatedFeesRemaining {
value
currencyCode
}
numberOfInstallmentsRemaining
}
__typename
}
transactionEvent {
__typename
... on ClearingEvent {
id
approvedAmount {
value
currencyCode
}
}
}
createdAt
updatedAt
}
}
}
```
--------------------------------
### Authorize Payment Method Token Result Example
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example JSON response for a successful `authorizePaymentMethodToken` mutation, showing the transaction ID, network transaction identifier, and detailed installment payment information.
```json
{
"data": {
"authorizePaymentMethodToken": {
"transaction": {
"id": "acqpt_01",
"networkTransactionIdentifier": "532675987658354",
"installmentPayment": {
"__typename": "MerchantManagedInstallmentPayment",
"totalAmount": {
"__typename": "Amount",
"value": 6000,
"currencyCode": "USD",
"decimalPlaces": 2
},
"numberOfInstallments": 6,
"paymentAmount": {
"__typename": "Amount",
"value": 1000,
"currencyCode": "USD",
"decimalPlaces": 2
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 1,
"fundedAmount": {
"__typename": "Amount",
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
}
}
}
}
}
```
--------------------------------
### POST /graphql (CreateUSBusinessAccountHolder)
Source: https://docs.highnote.com/docs/issuing/accounts/onboarding/onboard-an-account
Creates a new US business account holder by providing business profile details, authorized personnel, and beneficial ownership information.
```APIDOC
## POST /graphql
### Description
Creates a new US business account holder. This mutation requires detailed information about the business, its primary authorized person, and beneficial owners.
### Method
POST
### Endpoint
/graphql
### Parameters
#### Request Body
- **input** (CreateUSBusinessAccountHolderInput) - Required - The object containing businessProfile and primaryAuthorizedPerson details.
### Request Example
{
"input": {
"primaryAuthorizedPerson": {
"name": { "givenName": "Bill", "familyName": "Someone" },
"email": "foo@example.com",
"dateOfBirth": "1980-09-01",
"percentageOwnership": 25,
"authorizingPersonTitle": "PRESIDENT"
},
"businessProfile": {
"name": { "legalBusinessName": "Foo Inc.", "doingBusinessAsName": "Foo Inc." },
"businessType": "PARTNERSHIP",
"website": "https://www.foowebsite.com"
}
}
}
### Response
#### Success Response (200)
- **id** (String) - The unique identifier of the created account holder.
- **externalId** (String) - The external reference ID.
- **createdAt** (String) - Timestamp of creation.
#### Response Example
{
"data": {
"createUSBusinessAccountHolder": {
"id": "acc_12345",
"externalId": "ext_98765",
"createdAt": "2023-10-27T10:00:00Z"
}
}
}
```
--------------------------------
### Create Account Holder Card Product Application via GraphQL
Source: https://docs.highnote.com/docs/issuing/templates/fleet-credit
This mutation initiates a new card product application for an account holder. It requires an input object containing the account holder ID, card product ID, and consent details, returning the application state and ID upon success.
```graphql
mutation createAccountHolderCardProductApplication($input: CreateAccountHolderCardProductApplicationInput!) {
createAccountHolderCardProductApplication(input: $input) {
__typename
... on AccountHolderCardProductApplication {
id
applicationState { status }
updatedAt
createdAt
}
... on UserError {
errors { errorPath code description }
}
}
}
```
```json
{
"input": {
"accountHolderId": "ACCOUNT_HOLDER_ID",
"cardProductId": "CARD_PRODUCT_ID",
"cardHolderAgreementConsent": {
"primaryAuthorizedPersonId": "PRIMARY_AUTHORIZED_PERSON_ID",
"consentTimestamp": "2021-12-22T17:10:55.662Z"
}
}
}
```
--------------------------------
### Charge Payment Card Result Example
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example successful result from the `chargePaymentCard` mutation. This JSON structure shows the transaction details, including the transaction ID, network transaction identifier, and installment payment information.
```json
{
"data": {
"chargePaymentCard": {
"transaction": {
"id": "acqpt_01",
"networkTransactionIdentifier": "532675987658354",
"installmentPayment": {
"__typename": "MerchantManagedInstallmentPayment",
"totalAmount": {
"value": 6000,
"currencyCode": "USD",
"decimalPlaces": 2
},
"numberOfInstallments": 6,
"paymentAmount": {
"value": 1000,
"currencyCode": "USD",
"decimalPlaces": 2
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 1,
"fundedAmount": {
"value": 0,
"currencyCode": "USD",
"decimalPlaces": 2
}
}
}
}
}
}
```
--------------------------------
### Configure ChargePaymentCard Variables
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-payments
Example variable structures for both Customer-Initiated (CIT) and Merchant-Initiated (MIT) transactions. CIT requires 'intendToStore: true', while MIT requires the 'networkTransactionIdentifier' from a previous transaction.
```json
{
"input": {
"paymentCard": {
"cardNumber": "customer card number",
"expiryYear": "customer card expiry year",
"expiryMonth": "customer card expiry month",
"securityCode": "customer card security code"
},
"amount": {
"value": 100,
"currencyCode": "USD"
},
"paymentInitiator": "CUSTOMER_INITIATED_VIA_WEB",
"externalCredentialOnFile": {
"intendToStore": true
}
}
}
```
```json
{
"input": {
"paymentCard": {
"cardNumber": "customer card number",
"expiryYear": "customer card expiry year",
"expiryMonth": "customer card expiry month",
"securityCode": "customer card security code"
},
"amount": {
"value": 100,
"currencyCode": "USD"
},
"paymentInitiator": "MERCHANT_INITIATED_UNSCHEDULED",
"externalCredentialOnFile": {
"networkTransactionIdentifier": "network-transaction-identifier"
}
}
}
```
--------------------------------
### Charge Network Token Input Variables
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example JSON input variables for the ChargeNetworkToken mutation, demonstrating the structure for network tokenization and installment payment details.
```json
{
"input": {
"networkToken": {
"cardNumber": "4000000000000002",
"expiryYear": "29",
"expiryMonth": "12",
"networkTokenization": {
"cryptogram": "test-cryptogram"
}
},
"merchantAcceptorId": "acqma_01",
"amount": {
"value": 1000,
"currencyCode": "USD"
},
"idempotencyKey": "NEW_UUID_v4",
"paymentInitiator": "MERCHANT_INITIATED_INSTALLMENT",
"externalCredentialOnFile": {
"networkTransactionIdentifier": "532675987658354"
},
"installmentPayment": {
"totalAmount": {
"value": 6000,
"currencyCode": "USD"
},
"numberOfInstallments": 6,
"paymentAmount": {
"value": 1000,
"currencyCode": "USD"
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 2,
"fundedAmount": {
"value": 1000,
"currencyCode": "USD"
},
"firstInstallmentPaymentTransactionId": "acqpt_01"
}
}
}
```
--------------------------------
### Authorize Payment Method Token Input Variables
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example JSON input variables for the authorizePaymentMethodToken mutation, including installment payment details and idempotency keys.
```json
{
"input": {
"paymentMethodTokenId": "tkpmc_01",
"merchantAcceptorId": "acqma_01",
"amount": {
"value": 1000,
"currencyCode": "USD"
},
"idempotencyKey": "NEW_UUID_v4",
"paymentInitiator": "MERCHANT_INITIATED_INSTALLMENT",
"installmentPayment": {
"totalAmount": {
"value": 6000,
"currencyCode": "USD"
},
"numberOfInstallments": 6,
"paymentAmount": {
"value": 1000,
"currencyCode": "USD"
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 2,
"fundedAmount": {
"value": 1000,
"currencyCode": "USD"
},
"firstInstallmentPaymentTransactionId": "acqpt_01"
}
}
}
```
--------------------------------
### POST /graphql (createAccountHolderCardProductApplication)
Source: https://docs.highnote.com/docs/issuing/templates/consumer-charge
Creates a new card product application for an account holder, initiating the decisioning process.
```APIDOC
## POST /graphql
### Description
Submits an application for an account holder to obtain a specific card product.
### Method
POST (GraphQL Mutation)
### Endpoint
/graphql
### Request Body
- **input** (Object) - Required - Application details.
- **accountHolderId** (String) - Required - ID of the account holder.
- **cardProductId** (String) - Required - ID of the card product.
- **cardHolderAgreementConsent** (Object) - Required - Consent details.
### Request Example
{
"input": {
"accountHolderId": "ACCOUNT_HOLDER_ID",
"cardProductId": "CARD_PRODUCT_ID",
"cardHolderAgreementConsent": {
"primaryAuthorizedPersonId": "PRIMARY_AUTHORIZED_PERSON_ID",
"consentTimestamp": "2021-12-22T17:10:55.662Z"
}
}
}
### Response
#### Success Response (200)
- **id** (String) - The unique ID of the created application.
- **applicationState** (Object) - Current status of the application.
#### Response Example
{
"data": {
"createAccountHolderCardProductApplication": {
"id": "APPLCATION_ID",
"applicationState": {
"status": "PENDING"
}
}
}
}
```
--------------------------------
### Authorize Payment Card Input Variables
Source: https://docs.highnote.com/docs/acquiring/payments/credential-on-file/cof-installments
Example JSON input variables for the AuthorizePaymentCard mutation, demonstrating how to structure payment card details, merchant information, and installment payment parameters.
```json
{
"input": {
"paymentCard": {
"cardNumber": "4000000000000002",
"expiryYear": "29",
"expiryMonth": "12"
},
"merchantAcceptorId": "acqma_01",
"amount": {
"value": 1000,
"currencyCode": "USD"
},
"idempotencyKey": "NEW_UUID_v4",
"paymentInitiator": "MERCHANT_INITIATED_INSTALLMENT",
"externalCredentialOnFile": {
"networkTransactionIdentifier": "532675987658354"
},
"installmentPayment": {
"totalAmount": {
"value": 6000,
"currencyCode": "USD"
},
"numberOfInstallments": 6,
"paymentAmount": {
"value": 1000,
"currencyCode": "USD"
},
"frequency": "MONTHLY",
"firstPaymentDate": "2025-01-15",
"paymentNumber": 2,
"fundedAmount": {
"value": 1000,
"currencyCode": "USD"
},
"firstInstallmentPaymentTransactionId": "acqpt_01"
}
}
}
```
--------------------------------
### Example GraphQL Response for Application Details
Source: https://docs.highnote.com/docs/issuing/credit/simulations/sim-underwriting-decisions
This is an example of a successful response from the `GetAccountHolderCardProductApplication` GraphQL query. It includes the application's ID, status, card product information, adverse action reasons, and detailed account holder and underwriting verification data. The structure mirrors the query, providing the requested fields.
```json
{
"data": {
"node": {
"id": "ACCOUNT_HOLDER_APPLICATION_ID",
"applicationState": {
"status": "DENIED"
},
"cardProduct": {
"id": "CARD_PRODUCT_ID",
"name": "Test Credit Consumer Charge"
},
"adverseActionReasons": [
{
"code": "DELINQUENT_CREDIT_OBLIGATIONS",
"description": "Delinquent past or present credit obligations"
},
{
"code": "INSUFFICIENT_INCOME",
"description": "Income insufficient for the amount of credit requested"
}
],
"accountHolderSnapshot": {
"accountHolderCurrent": {
"id": "ACCOUNT_HOLDER_ID"
},
"billingAddress": {
"streetAddress": "123 Main Street"
},
"currentVerification": {
"status": "PASSED",
"reason": "PASSED",
"adverseActionReasons": null
},
"dateOfBirth": "1980-09-01",
"currentCreditUnderwritingVerification": {
"__typename": "CreditUnderwritingVerification",
"status": "DENIED",
"decisionResults": [
"NO_LIMIT_SET",
"CURRENT_DEBT_OBLIGATIONS",
"RECENT_CHARGE_OFF",
"RECENT_BANKRUPTCY"
],
"reviewReasonDetails": null,
"decision": {
"__typename": "UnderwriterAdverseDecision",
"adverseActionReasons": [
{
"code": "DELINQUENT_CREDIT_OBLIGATIONS",
"description": "Delinquent past or present credit obligations",
"__typename": "AdverseActionReason"
},
{
"code": "INSUFFICIENT_INCOME",
"description": "Income insufficient for the amount of credit requested",
"__typename": "AdverseActionReason"
}
]
},
"decisionDate": "2022-10-12T23:53:52.860Z"
}
},
"applicationHistory": {
"pageInfo": {
"startCursor": "start-cursor",
"endCursor": "end-cursor",
"hasNextPage": false,
"hasPreviousPage": false
},
"edges": [
{
"cursor": "some-cursor",
"node": {
"applicationState": {
"status": "PENDING"
}
}
},
{
"cursor": "some-cursor",
"node": {
"applicationState": {
```
--------------------------------
### Activate Installment Credit Plan Mutation
Source: https://docs.highnote.com/docs/issuing/credit/revolving/credit-plans-bnpl
This mutation activates a credit plan, making its rates and terms applicable to new financial accounts. You can optionally specify effective start and end dates. If not provided, the plan becomes effective immediately and remains active until a new plan for the same balance type is activated.
```APIDOC
## Activate Installment Credit Plan
### Description
Activates a credit plan, making its rates and terms applicable to new financial accounts. Allows optional effective start and end dates.
### Method
POST
### Endpoint
`/graphql`
### Parameters
#### Query Parameters
None
#### Request Body
```json
{
"query": "mutation ActivateCreditPlan($creditPlanId: ID!, $effectiveFromDate: Date, $effectiveThroughDate: Date) { activateCreditPlan(creditPlanId: $creditPlanId, effectiveFromDate: $effectiveFromDate, effectiveThroughDate: $effectiveThroughDate) { id activationDate createdAt status updatedAt feeScheduleAssociatedTo feeConfigurations { id feeChargeRules { id name order value { ... on FixedFeeChargeValue { amount { value } } } conditions { ... on FeeChargeRuleCountCondition { id description condition { ... on CountFeeCondition { operator value { count maximumCount } } } } } } } effectiveFromDate effectiveThroughDate createdAt updatedAt } }",
"variables": {
"creditPlanId": "creditPlanId_value",
"effectiveFromDate": "YYYY-MM-DD",
"effectiveThroughDate": "YYYY-MM-DD"
}
}
```
### Request Example
```json
{
"query": "mutation ActivateCreditPlan($creditPlanId: ID!, $effectiveFromDate: Date, $effectiveThroughDate: Date) { activateCreditPlan(creditPlanId: $creditPlanId, effectiveFromDate: $effectiveFromDate, effectiveThroughDate: $effectiveThroughDate) { id activationDate createdAt status updatedAt feeScheduleAssociatedTo feeConfigurations { id feeChargeRules { id name order value { ... on FixedFeeChargeValue { amount { value } } } conditions { ... on FeeChargeRuleCountCondition { id description condition { ... on CountFeeCondition { operator value { count maximumCount } } } } } } } effectiveFromDate effectiveThroughDate createdAt updatedAt } }",
"variables": {
"creditPlanId": "crdpln_a1b2c3d4e5f67890",
"effectiveFromDate": "2025-03-01",
"effectiveThroughDate": "2025-12-31"
}
}
```
### Response
#### Success Response (200)
- **id** (ID) - The unique identifier of the activated credit plan.
- **activationDate** (ISO8601DateTime) - The date and time when the credit plan was activated.
- **createdAt** (ISO8601DateTime) - The date and time when the credit plan was created.
- **status** (String) - The current status of the credit plan (e.g., "ACTIVE").
- **updatedAt** (ISO8601DateTime) - The date and time when the credit plan was last updated.
- **effectiveFromDate** (ISO8601DateTime or null) - The date and time from which the credit plan becomes effective.
- **effectiveThroughDate** (ISO8601DateTime or null) - The date and time until which the credit plan remains effective.
#### Response Example
```json
{
"data": {
"activateCreditPlan": {
"id": "crdpln_a1b2c3d4e5f67890",
"activationDate": "2025-02-26T17:44:01.888Z",
"createdAt": "2025-02-26T17:44:01.937Z",
"status": "ACTIVE",
"updatedAt": "2025-02-26T17:44:02.142Z",
"effectiveFromDate": "2025-03-01T00:00:00.000Z",
"effectiveThroughDate": "2025-12-31T23:59:59.999Z"
}
}
}
```
```
--------------------------------
### Create Account Holder Card Product Application (GraphQL)
Source: https://docs.highnote.com/docs/issuing/accounts/onboarding/onboard-an-account
This GraphQL mutation is used to create an application for a card product for an account holder. It requires the account holder ID, card product ID, and optionally the primary authorized person ID for business accounts. The response includes the application ID and its status.
```graphql
mutation createAccountHolderCardProductApplication(
$input: CreateAccountHolderCardProductApplicationInput!
) {
createAccountHolderCardProductApplication(input: $input) {
__typename
... on AccountHolderCardProductApplication {
id
applicationState {
status
}
updatedAt
createdAt
}
... on UserError {
errors {
errorPath
code
description
}
}
}
}
```
```json
{
"input": {
"accountHolderId": "ACCOUNT_HOLDER_ID",
"cardProductId": "CARD_PRODUCT_ID",
"cardHolderAgreementConsent": {
"primaryAuthorizedPersonId": "PRIMARY_AUTHORIZED_PERSON_ID",
"consentTimestamp": "2021-12-22T17:10:55.662Z"
}
}
}
```
```json
{
"data": {
"createAccountHolderCardProductApplication": {
"__typename": "AccountHolderCardProductApplication",
"id": "APPLICATION_ID",
"applicationState": {
"status": "PENDING"
},
"createdAt": "2021-07-07T23:22:30.475Z",
"updatedAt": "2021-07-07T23:22:30.475Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}
```
--------------------------------
### Example Variables for Transaction Event Query (JSON)
Source: https://docs.highnote.com/docs/issuing/credit/revolving/credit-plans-bnpl
This JSON object provides the necessary variables to execute the `installmentOffersForTransactionEvent` GraphQL query. It includes the `cardTransactionEventId` which identifies the specific transaction for which offers are being requested.
```json
{
"input": {
"cardTransactionEventId": "te_23wpgf4xk41aa5k3971ak93eseb1sb6mt3"
}
}
```
--------------------------------
### Lookup Application Details (GraphQL)
Source: https://docs.highnote.com/docs/issuing/accounts/onboarding/onboard-an-account
Queries for detailed information about a specific card product application, including its state, decision, expiration, and verification status. Requires an application ID as input.
```graphql
query LookupApplication($id: ID!) {
node(id: $id) {
... on AccountHolderCardProductApplication {
__typename
applicationState {
status
}
decisionedAt
expiresAt
accountHolderSnapshot {
... on USPersonAccountHolderSnapshot {
__typename
currentVerification {
status
reason
results {
code
description
}
}
}
}
}
}
}
{
"id": "APPLICATION_ID"
}
```
--------------------------------
### Configure Live Environment
Source: https://docs.highnote.com/docs/developers/sdks/issuing/secure-inputs-sdk-pins
Illustrates how to switch the SDK from the default Test environment to the Live environment by setting the environment configuration property.
```typescript
const { unmount } = await renderFields({
environment: "live",
});
```
--------------------------------
### FindPaymentCard API Response Example
Source: https://docs.highnote.com/docs/issuing/cards/issue/embedded-devices
A sample JSON response returned by the API, containing the requested payment card data and metadata including request ID and rate limit information.
```json
{
"data": {
"node": {
"id": "cd_6f1a35648d7840959da75df91e292c34",
"bin": "547203",
"last4": "9174",
"expirationDate": "2026-01-01T23:59:59Z",
"network": "MASTERCARD",
"status": "ACTIVE",
"formFactor": "PHYSICAL",
"externalPhysicalPaymentCardOrders": [
{
"id": "ffext_227c8ef9d7037e4c26b87471cc10865cc1",
"embeddedDevice": {
"formFactor": "WRISTBAND",
"image": "https://example.com/device-image.png",
"name": "MyDevice",
"serialNumber": "123abc",
"variant": "Plastic"
}
}
]
}
},
"extensions": {
"requestId": "3a31dd25-aa8d-9b58-9393-64b8da6450c0",
"rateLimit": {
"cost": 2,
"limit": 60060,
"remaining": 60056
}
}
}
```
--------------------------------
### GraphQL Variables: Get Card Product With Applications
Source: https://docs.highnote.com/docs/developers/api/api-searching-the-api
Example variables to be used with the GetCardProductWithApplications GraphQL query. These variables specify the target card product ID and can include filters to narrow down the search for applications.
```json
{
"id": "CARD_PRODUCT_ID",
"searchFilter": {
"id": {
"equals": "APPLICATION_ID"
}
}
}
```
--------------------------------
### Switch to Live Environment (JavaScript)
Source: https://docs.highnote.com/docs/developers/sdks/acquiring/checkout-sdk
Demonstrates how to configure the Secure Inputs SDK to use the 'live' environment instead of the default 'test' environment. This is a crucial step when moving from development to production.
```javascript
const { unmount } = await renderCheckout({
// Set this to `live`
environment: "live",
// ...
});
```
--------------------------------
### Attach Fee to Credit Plan Variables (JSON)
Source: https://docs.highnote.com/docs/issuing/credit/revolving/credit-plans-bnpl
Example JSON payload for the attachFeeToCreditPlan mutation. It specifies the credit plan ID and the fee schedule ID to be attached. This payload is used as input for the mutation.
```json
{
"input": {
"creditPlanId": "crppn_7d5260aeaaaa4620bd55f59808f6a238",
"fee": {
"scheduleId": "fxsch_22a3ef6960b5144b9997efe43072c1f9a1"
}
}
}
```
--------------------------------
### Notification Activation Payload (JSON)
Source: https://docs.highnote.com/docs/developers/events/events-reference
Example JSON payload for a notification activation event. This event is sent to verify webhook setup and is triggered upon initial creation or reactivation of a webhook. It includes a simple ping-pong structure.
```json
{
"data": {
"node": {
"__typename": "NotificationEvent",
"createdAt": "2022-10-21T19:14:46.664Z",
"id": "nee_b0f306cc171b44ef89223ca68a0da569",
"name": "NOTIFICATION_ACTIVATION",
"node": {
"__typename": "NotificationTargetActivationEvent",
"ping": "pong"
}
}
},
"extensions": {
"signatureTimestamp": 1666379691368
}
}
```
--------------------------------
### Configure Card Viewer Environment
Source: https://docs.highnote.com/docs/developers/sdks/issuing/card-viewer-sdk
Initializes the Card Viewer SDK and sets the environment to 'live' for production requests. This function call requires a valid client token and payment card ID.
```javascript
const { unmount } = await renderFields({
clientToken: "client token from server",
paymentCardId: "PAYMENT_CARD_ID",
// Set this to `live`
environment: "live",
onError: handleError,
elements,
});
```
--------------------------------
### Initialize Checkout SDK
Source: https://docs.highnote.com/docs/developers/sdks/acquiring/checkout-sdk
Initializes the checkout UI using the renderCheckout function, which returns a promise and unmount method.
```APIDOC
## Initialize Checkout
### Description
Initializes the Checkout SDK by rendering the UI into a specified selector. It handles tokenization success and error callbacks.
### Method
N/A (Client-side SDK)
### Parameters
- **selector** (string) - Required - The DOM element ID where the checkout UI will be rendered.
- **clientToken** (string) - Required - The client token fetched from your server.
- **onTokenizeSuccess** (function) - Optional - Callback triggered upon successful tokenization; receives a payload with the payment token.
- **onTokenizeError** (function) - Optional - Callback triggered if tokenization fails.
### Request Example
```javascript
renderCheckout({
selector: "#checkoutForm",
clientToken: "client_token_here",
onTokenizeSuccess: (payload) => { console.log(payload.token); }
});
```
```
--------------------------------
### Account Holder Creation Input Variables
Source: https://docs.highnote.com/docs/issuing/templates/consumer-charge
Example JSON payload containing the necessary fields to create a US person account holder, including personal details, contact information, and credit risk data.
```json
{
"input": {
"personAccountHolder": {
"email": "gerrytest1@abc.com",
"name": {
"givenName": "Gerry",
"familyName": "Wolfe"
},
"billingAddress": {
"streetAddress": "123 Main Street",
"postalCode": "60654",
"locality": "Chicago",
"region": "IL",
"countryCodeAlpha3": "USA"
},
"phoneNumber": {
"countryCode": "1",
"number": "5555555555",
"label": "MOBILE",
"extension": "312"
},
"identificationDocument": {
"socialSecurityNumber": {
"number": "111-11-1111",
"countryCodeAlpha3": "USA"
}
},
"personCreditRiskAttributes": {
"totalAnnualIncome": {
"value": "1000",
"currencyCode": "USD"
},
"currentDebtObligations": {
"value": "1000",
"currencyCode": "USD"
},
"employmentStatus": "EMPLOYED"
},
"dateOfBirth": "1980-09-01",
"externalId": "some-id"
}
}
}
```
--------------------------------
### Activate Installment Agreement Mutation
Source: https://docs.highnote.com/docs/issuing/credit/revolving/credit-plans-bnpl
This mutation is used to activate an installment agreement for a specific cleared transaction. It applies the selected installment plan payment terms to the transaction record.
```graphql
mutation ActivateInstallmentAgreement($transactionId: ID!, $planId: ID!) {
activateInstallmentAgreement(transactionId: $transactionId, planId: $planId) {
agreement {
id
status
effectiveDate
}
}
}
```
--------------------------------
### View Credit Card Product Configuration (GraphQL)
Source: https://docs.highnote.com/docs/issuing/templates/commercial-credit
This GraphQL query retrieves the credit configuration for a specific card product in the Test environment. It includes details about account aging, minimum payment, repayment, interest, and billing cycle settings. The query requires a card product ID as input.
```graphql
query GetCardProductWithCreditConfiguration($id: ID!) {
node(id: $id) {
__typename
... on CardProduct {
id
creditConfiguration {
... on CreditCardProductConfiguration {
accountAging {
delinquentInDays
suspendedInDays
chargeOffInDays
lateFeeGracePeriodInDays
}
minimumPayment {
percentage
thresholdAmount {
value
currencyCode
}
includesPastDueAmount
includesPastDueAmount
includesInterestAmount
includesFeesCharged
}
repayment {
repaymentWaterfall
}
interest {
includesPurchase
includesFees
}
billingCycleConfiguration {
billingCyclePeriod
billingCycleGracePeriodType
billingCycleGracePeriodInDays
}
}
}
}
}
}
```