Skip to main content
API Reference
Cards
Card Payments

Card Payments group together interactions related to a single card payment, such as an authorization and its corresponding settlement.

Events
Your application can listen to webhooks about this resource. The events about Card Payments will have the categories "card_payment.created" or "card_payment.updated" .
The Card Payment object
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "card_id": "card_oubs0hwk5rn6knuecxg2",
  "created_at": "2020-01-31T23:59:59Z",
  "digital_wallet_token_id": null,
  "elements": [
    {
      "card_authorization": {
        "actioner": "increase",
        "additional_amounts": {
          "clinic": null,
          "dental": null,
          "original": null,
          "prescription": null,
          "surcharge": {
            "amount": 10,
            "currency": "USD"
          },
          "total_cumulative": null,
          "total_healthcare": null,
          "transit": null,
          "unknown": null,
          "vision": null
        },
        "amount": 100,
        "card_payment_id": "card_payment_nd3k2kacrqjli8482ave",
        "currency": "USD",
        "digital_wallet_token_id": null,
        "direction": "settlement",
        "expires_at": "2020-01-31T23:59:59Z",
        "healthcare": null,
        "id": "card_authorization_6iqxap6ivd0fo5eu3i8x",
        "merchant_acceptor_id": "5665270011000168",
        "merchant_category_code": "5734",
        "merchant_city": "New York",
        "merchant_country": "US",
        "merchant_descriptor": "AMAZON.COM",
        "merchant_postal_code": "10045",
        "merchant_state": "NY",
        "network_details": {
          "category": "visa",
          "pulse": null,
          "visa": {
            "electronic_commerce_indicator": "secure_electronic_commerce",
            "point_of_service_entry_mode": "manual",
            "stand_in_processing_reason": null,
            "terminal_entry_capability": "magnetic_stripe"
          }
        },
        "network_identifiers": {
          "authorization_identification_response": null,
          "retrieval_reference_number": "785867080153",
          "trace_number": "487941",
          "transaction_id": "627199945183184"
        },
        "network_risk_score": 10,
        "pending_transaction_id": null,
        "physical_card_id": null,
        "presentment_amount": 100,
        "presentment_currency": "USD",
        "processing_category": "purchase",
        "real_time_decision_id": null,
        "scheme_fees": [
          {
            "amount": "0.137465",
            "created_at": "2020-01-31T23:59:59Z",
            "currency": "USD",
            "fee_type": "visa_corporate_acceptance_fee",
            "fixed_component": null,
            "variable_rate": "0.0002"
          }
        ],
        "terminal_id": "RCN5VNXS",
        "type": "card_authorization",
        "verification": {
          "card_verification_code": {
            "result": "match"
          },
          "cardholder_address": {
            "actual_line1": "33 Liberty Street",
            "actual_postal_code": "94131",
            "provided_line1": "33 Liberty Street",
            "provided_postal_code": "94132",
            "result": "postal_code_no_match_address_match"
          },
          "cardholder_name": null
        }
      },
      "category": "card_authorization",
      "created_at": "2020-01-31T23:59:59Z"
    },
    {
      "card_reversal": {
        "card_authorization_id": "card_authorization_6iqxap6ivd0fo5eu3i8x",
        "currency": "USD",
        "id": "card_reversal_8vr9qy60cgf5d0slpb68",
        "merchant_acceptor_id": "5665270011000168",
        "merchant_category_code": "5734",
        "merchant_city": "New York",
        "merchant_country": "US",
        "merchant_descriptor": "AMAZON.COM",
        "merchant_postal_code": "10045",
        "merchant_state": "NY",
        "network": "visa",
        "network_identifiers": {
          "authorization_identification_response": null,
          "retrieval_reference_number": "785867080153",
          "trace_number": "487941",
          "transaction_id": "627199945183184"
        },
        "pending_transaction_id": "pending_transaction_k1sfetcau2qbvjbzgju4",
        "presentment_currency": "USD",
        "reversal_amount": 20,
        "reversal_presentment_amount": 20,
        "reversal_reason": "reversed_by_customer",
        "scheme_fees": [
          {
            "amount": "0.137465",
            "created_at": "2020-01-31T23:59:59Z",
            "currency": "USD",
            "fee_type": "visa_corporate_acceptance_fee",
            "fixed_component": null,
            "variable_rate": "0.0002"
          }
        ],
        "terminal_id": "RCN5VNXS",
        "type": "card_reversal",
        "updated_authorization_amount": 80,
        "updated_authorization_presentment_amount": 80
      },
      "category": "card_reversal",
      "created_at": "2020-01-31T23:59:59Z"
    },
    {
      "card_increment": {
        "actioner": "increase",
        "additional_amounts": {
          "clinic": null,
          "dental": null,
          "original": null,
          "prescription": null,
          "surcharge": null,
          "total_cumulative": null,
          "total_healthcare": null,
          "transit": null,
          "unknown": null,
          "vision": null
        },
        "amount": 20,
        "card_authorization_id": "card_authorization_6iqxap6ivd0fo5eu3i8x",
        "currency": "USD",
        "id": "card_increment_6ztayc58j1od0rpebp3e",
        "network": "visa",
        "network_identifiers": {
          "authorization_identification_response": null,
          "retrieval_reference_number": "785867080153",
          "trace_number": "487941",
          "transaction_id": "627199945183184"
        },
        "network_risk_score": 10,
        "pending_transaction_id": "pending_transaction_k1sfetcau2qbvjbzgju4",
        "presentment_amount": 20,
        "presentment_currency": "USD",
        "real_time_decision_id": null,
        "scheme_fees": [
          {
            "amount": "0.137465",
            "created_at": "2020-01-31T23:59:59Z",
            "currency": "USD",
            "fee_type": "visa_corporate_acceptance_fee",
            "fixed_component": null,
            "variable_rate": "0.0002"
          }
        ],
        "type": "card_increment",
        "updated_authorization_amount": 120
      },
      "category": "card_increment",
      "created_at": "2020-01-31T23:59:59Z"
    },
    {
      "card_settlement": {
        "amount": 100,
        "card_authorization": null,
        "card_payment_id": "card_payment_nd3k2kacrqjli8482ave",
        "cashback": null,
        "currency": "USD",
        "id": "card_settlement_khv5kfeu0vndj291omg6",
        "interchange": {
          "amount": "0.137465",
          "code": "271",
          "currency": "USD"
        },
        "merchant_acceptor_id": "5665270011000168",
        "merchant_category_code": "5734",
        "merchant_city": "New York",
        "merchant_country": "US",
        "merchant_name": "AMAZON.COM",
        "merchant_postal_code": "10045",
        "merchant_state": "NY",
        "network": "visa",
        "network_identifiers": {
          "acquirer_business_id": "69650702",
          "acquirer_reference_number": "83163715445437604865089",
          "authorization_identification_response": "ABC123",
          "transaction_id": "627199945183184"
        },
        "pending_transaction_id": null,
        "presentment_amount": 100,
        "presentment_currency": "USD",
        "purchase_details": {
          "car_rental": null,
          "customer_reference_identifier": "51201",
          "local_tax_amount": null,
          "local_tax_currency": "usd",
          "lodging": {
            "check_in_date": "2023-07-20",
            "daily_room_rate_amount": 1000,
            "daily_room_rate_currency": "usd",
            "extra_charges": "restaurant",
            "folio_cash_advances_amount": 0,
            "folio_cash_advances_currency": "usd",
            "food_beverage_charges_amount": 0,
            "food_beverage_charges_currency": "usd",
            "no_show_indicator": "no_show",
            "prepaid_expenses_amount": 0,
            "prepaid_expenses_currency": "usd",
            "room_nights": 1,
            "total_room_tax_amount": 100,
            "total_room_tax_currency": "usd",
            "total_tax_amount": 100,
            "total_tax_currency": "usd"
          },
          "national_tax_amount": null,
          "national_tax_currency": "usd",
          "purchase_identifier": "10203",
          "purchase_identifier_format": "order_number",
          "travel": null
        },
        "scheme_fees": [
          {
            "amount": "0.137465",
            "created_at": "2020-01-31T23:59:59Z",
            "currency": "USD",
            "fee_type": "visa_corporate_acceptance_fee",
            "fixed_component": null,
            "variable_rate": "0.0002"
          }
        ],
        "surcharge": null,
        "transaction_id": "transaction_uyrp7fld2ium70oa7oi",
        "type": "card_settlement"
      },
      "category": "card_settlement",
      "created_at": "2020-01-31T23:59:59Z"
    }
  ],
  "id": "card_payment_nd3k2kacrqjli8482ave",
  "physical_card_id": null,
  "state": {
    "authorized_amount": 100,
    "fuel_confirmed_amount": 0,
    "incremented_amount": 20,
    "refund_authorized_amount": 0,
    "refunded_amount": 0,
    "reversed_amount": 20,
    "settled_amount": 100
  },
  "type": "card_payment"
}
Attributes
account_id
string

The identifier for the Account the Transaction belongs to.

More about Accounts.
card_id
string

The Card identifier for this payment.

More about Cards.
created_at
string

The ISO 8601 time at which the Card Payment was created.

digital_wallet_token_id
string
Nullable

The Digital Wallet Token identifier for this payment.

More about Digital Wallet Tokens.
elements
array

The interactions related to this card payment.

id
string

The Card Payment identifier.

physical_card_id
string
Nullable

The Physical Card identifier for this payment.

More about Physical Cards.
state
dictionary

The summarized state of this card payment.

type
string

A constant representing the object’s type. For this resource it will always be card_payment.

List Card Payments
curl \
  --url "${INCREASE_URL}/card_payments?account_id=account_in71c4amph0vgo2qllky" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const cardPayment of client.cardPayments.list()) {
  console.log(cardPayment.id);
}
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
page = client.card_payments.list()
page = page.data[0]
print(page.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

page = increase.card_payments.list

puts(page)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	page, err := client.CardPayments.List(context.TODO(), increase.CardPaymentListParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPaymentListPage;
import com.increase.api.models.cardpayments.CardPaymentListParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardPaymentListPage page = client.cardPayments().list();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPaymentListPage
import com.increase.api.models.cardpayments.CardPaymentListParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val page: CardPaymentListPage = client.cardPayments().list()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $page = $client->cardPayments->list(
    accountID: 'account_id',
    cardID: 'card_id',
    createdAt: [
      'after' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'before' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'onOrAfter' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'onOrBefore' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
    ],
    cursor: 'cursor',
    limit: 1,
  );

  var_dump($page);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.CardPayments;

IncreaseClient client = new();

CardPaymentListParams parameters = new();

var page = await client.CardPayments.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
Returns a list response :
{
  "data": [
    { /* Card Payment object */ },
    { /* Card Payment object */ }
    /* ... */
  ],
  "next_cursor": "v57w5d",
}
Parameters
account_id
string

Filter Card Payments to ones belonging to the specified Account.

More about Accounts.
card_id
string

Filter Card Payments to ones belonging to the specified Card.

More about Cards.
More
cursor
string
limit
integer
created_at.after
string
created_at.before
string
created_at.on_or_after
string
created_at.on_or_before
string
Retrieve a Card Payment
curl \
  --url "${INCREASE_URL}/card_payments/card_payment_nd3k2kacrqjli8482ave" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.cardPayments.retrieve('card_payment_nd3k2kacrqjli8482ave');

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.card_payments.retrieve(
    "card_payment_nd3k2kacrqjli8482ave",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.card_payments.retrieve("card_payment_nd3k2kacrqjli8482ave")

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.CardPayments.Get(context.TODO(), "card_payment_nd3k2kacrqjli8482ave")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.cardpayments.CardPaymentRetrieveParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardPayment cardPayment = client.cardPayments().retrieve("card_payment_nd3k2kacrqjli8482ave");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.cardpayments.CardPaymentRetrieveParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val cardPayment: CardPayment = client.cardPayments().retrieve("card_payment_nd3k2kacrqjli8482ave")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->cardPayments->retrieve(
    'card_payment_nd3k2kacrqjli8482ave'
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.CardPayments;

IncreaseClient client = new();

CardPaymentRetrieveParams parameters = new()
{
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave"
};

var cardPayment = await client.CardPayments.Retrieve(parameters);

Console.WriteLine(cardPayment);
Parameters
card_payment_id
string
Required

The identifier of the Card Payment.

More about Card Payments.
Sandbox: Create a Card Authentication attempt

Simulates a Card Authentication attempt on a Card. The attempt always results in a Card Payment being created, either with a status that allows further action or a terminal failed status.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_authentications" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "card_id": "card_oubs0hwk5rn6knuecxg2",
    "merchant_acceptor_id": "5665270011000168",
    "merchant_category_code": "5734",
    "merchant_country": "US",
    "purchase_amount": 1000
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardAuthentications.create({
  card_id: 'card_oubs0hwk5rn6knuecxg2',
});

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_authentications.create(
    card_id="card_oubs0hwk5rn6knuecxg2",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_authentications.create(card_id: "card_oubs0hwk5rn6knuecxg2")

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardAuthentications.New(context.TODO(), increase.SimulationCardAuthenticationNewParams{
		CardID: increase.F("card_oubs0hwk5rn6knuecxg2"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardauthentications.CardAuthenticationCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardAuthenticationCreateParams params = CardAuthenticationCreateParams.builder()
            .cardId("card_oubs0hwk5rn6knuecxg2")
            .build();
        CardPayment cardPayment = client.simulations().cardAuthentications().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardauthentications.CardAuthenticationCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardAuthenticationCreateParams = CardAuthenticationCreateParams.builder()
        .cardId("card_oubs0hwk5rn6knuecxg2")
        .build()
    val cardPayment: CardPayment = client.simulations().cardAuthentications().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardAuthentications->create(
    cardID: 'card_oubs0hwk5rn6knuecxg2',
    category: 'payment_authentication',
    deviceChannel: 'app',
    merchantAcceptorID: '5665270011000168',
    merchantCategoryCode: '5734',
    merchantCountry: 'US',
    merchantName: 'x',
    purchaseAmount: 1000,
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardAuthentications;

IncreaseClient client = new();

CardAuthenticationCreateParams parameters = new()
{
    CardID = "card_oubs0hwk5rn6knuecxg2"
};

var cardPayment = await client.Simulations.CardAuthentications.Create(parameters);

Console.WriteLine(cardPayment);
Parameters
card_id
string
Required

The identifier of the Card to be authorized.

More about Cards.
category
enum

The category of the card authentication attempt.

device_channel
enum

The device channel of the card authentication attempt.

merchant_acceptor_id
string

The merchant identifier (commonly abbreviated as MID) of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_category_code
string

The Merchant Category Code (commonly abbreviated as MCC) of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_country
string

The country the merchant resides in.

Between 1 and 200 characters
merchant_name
string

The name of the merchant

Between 1 and 200 characters
purchase_amount
integer

The purchase amount in cents.

Sandbox: Create a Card Authentication Challenge attempt

Simulates an attempt at a Card Authentication Challenge. This updates the card_authentications object under the Card Payment. You can also attempt the challenge by navigating to https://dashboard.increase.com/card_authentication_simulation/:card_payment_id.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_authentications/card_payment_nd3k2kacrqjli8482ave/challenge_attempts" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "one_time_code": "123456"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardAuthentications.challengeAttempts(
  'card_payment_nd3k2kacrqjli8482ave',
  { one_time_code: '123456' },
);

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_authentications.challenge_attempts(
    card_payment_id="card_payment_nd3k2kacrqjli8482ave",
    one_time_code="123456",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_authentications.challenge_attempts(
  "card_payment_nd3k2kacrqjli8482ave",
  one_time_code: "123456"
)

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardAuthentications.ChallengeAttempts(
		context.TODO(),
		"card_payment_nd3k2kacrqjli8482ave",
		increase.SimulationCardAuthenticationChallengeAttemptsParams{
			OneTimeCode: increase.F("123456"),
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardauthentications.CardAuthenticationChallengeAttemptsParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardAuthenticationChallengeAttemptsParams params = CardAuthenticationChallengeAttemptsParams.builder()
            .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
            .oneTimeCode("123456")
            .build();
        CardPayment cardPayment = client.simulations().cardAuthentications().challengeAttempts(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardauthentications.CardAuthenticationChallengeAttemptsParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardAuthenticationChallengeAttemptsParams = CardAuthenticationChallengeAttemptsParams.builder()
        .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
        .oneTimeCode("123456")
        .build()
    val cardPayment: CardPayment = client.simulations().cardAuthentications().challengeAttempts(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardAuthentications->challengeAttempts(
    'card_payment_nd3k2kacrqjli8482ave', oneTimeCode: '123456'
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardAuthentications;

IncreaseClient client = new();

CardAuthenticationChallengeAttemptsParams parameters = new()
{
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave",
    OneTimeCode = "123456",
};

var cardPayment = await client.Simulations.CardAuthentications.ChallengeAttempts(parameters);

Console.WriteLine(cardPayment);
Parameters
card_payment_id
string
Required

The identifier of the Card Payment to be challenged.

More about Card Payments.
one_time_code
string
Required

The one-time code to be validated.

Between 1 and 200 characters
Sandbox: Create an initial Card Authentication Challenge

Simulates starting a Card Authentication Challenge for an existing Card Authentication. This updates the card_authentications object under the Card Payment. To attempt the challenge, use the /simulations/card_authentications/:card_payment_id/challenge_attempts endpoint or navigate to https://dashboard.increase.com/card_authentication_simulation/:card_payment_id.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_authentications/card_payment_nd3k2kacrqjli8482ave/challenges" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardAuthentications.challenges(
  'card_payment_nd3k2kacrqjli8482ave',
);

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_authentications.challenges(
    "card_payment_nd3k2kacrqjli8482ave",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_authentications.challenges("card_payment_nd3k2kacrqjli8482ave")

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardAuthentications.Challenges(context.TODO(), "card_payment_nd3k2kacrqjli8482ave")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardauthentications.CardAuthenticationChallengesParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardPayment cardPayment = client.simulations().cardAuthentications().challenges("card_payment_nd3k2kacrqjli8482ave");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardauthentications.CardAuthenticationChallengesParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val cardPayment: CardPayment = client.simulations().cardAuthentications().challenges("card_payment_nd3k2kacrqjli8482ave")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardAuthentications->challenges(
    'card_payment_nd3k2kacrqjli8482ave'
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardAuthentications;

IncreaseClient client = new();

CardAuthenticationChallengesParams parameters = new()
{
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave"
};

var cardPayment = await client.Simulations.CardAuthentications.Challenges(parameters);

Console.WriteLine(cardPayment);
Parameters
card_payment_id
string
Required

The identifier of the Card Payment to be challenged.

More about Card Payments.
Sandbox: Expire a Card Authorization

Simulates expiring a Card Authorization immediately.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_authorization_expirations" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "card_payment_id": "card_payment_nd3k2kacrqjli8482ave"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardAuthorizationExpirations.create({
  card_payment_id: 'card_payment_nd3k2kacrqjli8482ave',
});

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_authorization_expirations.create(
    card_payment_id="card_payment_nd3k2kacrqjli8482ave",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_authorization_expirations.create(
  card_payment_id: "card_payment_nd3k2kacrqjli8482ave"
)

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardAuthorizationExpirations.New(context.TODO(), increase.SimulationCardAuthorizationExpirationNewParams{
		CardPaymentID: increase.F("card_payment_nd3k2kacrqjli8482ave"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardauthorizationexpirations.CardAuthorizationExpirationCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardAuthorizationExpirationCreateParams params = CardAuthorizationExpirationCreateParams.builder()
            .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
            .build();
        CardPayment cardPayment = client.simulations().cardAuthorizationExpirations().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardauthorizationexpirations.CardAuthorizationExpirationCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardAuthorizationExpirationCreateParams = CardAuthorizationExpirationCreateParams.builder()
        .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
        .build()
    val cardPayment: CardPayment = client.simulations().cardAuthorizationExpirations().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardAuthorizationExpirations->create(
    cardPaymentID: 'card_payment_nd3k2kacrqjli8482ave'
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardAuthorizationExpirations;

IncreaseClient client = new();

CardAuthorizationExpirationCreateParams parameters = new()
{
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave"
};

var cardPayment = await client.Simulations.CardAuthorizationExpirations.Create(parameters);

Console.WriteLine(cardPayment);
Parameters
card_payment_id
string
Required

The identifier of the Card Payment to expire.

More about Card Payments.
Sandbox: Create a Card Authorization

Simulates a purchase authorization on a Card. Depending on the balance available to the card and the amount submitted, the authorization activity will result in a Pending Transaction of type card_authorization or a Declined Transaction of type card_decline. You can pass either a Card id or a Digital Wallet Token id to simulate the two different ways purchases can be made.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_authorizations" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "amount": 1000,
    "card_id": "card_oubs0hwk5rn6knuecxg2",
    "event_subscription_id": "event_subscription_001dzz0r20rcdxgb013zqb8m04g",
    "merchant_acceptor_id": "5665270011000168",
    "merchant_category_code": "5734",
    "merchant_city": "New York",
    "merchant_country": "US",
    "merchant_descriptor": "AMAZON.COM",
    "merchant_state": "NY"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardAuthorization = await client.simulations.cardAuthorizations.create({ amount: 1000 });

console.log(cardAuthorization.declined_transaction);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_authorization = client.simulations.card_authorizations.create(
    amount=1000,
)
print(card_authorization.declined_transaction)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_authorization = increase.simulations.card_authorizations.create(amount: 1000)

puts(card_authorization)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardAuthorization, err := client.Simulations.CardAuthorizations.New(context.TODO(), increase.SimulationCardAuthorizationNewParams{
		Amount: increase.F(int64(1000)),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardAuthorization.DeclinedTransaction)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.simulations.cardauthorizations.CardAuthorizationCreateParams;
import com.increase.api.models.simulations.cardauthorizations.CardAuthorizationCreateResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardAuthorizationCreateParams params = CardAuthorizationCreateParams.builder()
            .amount(1000L)
            .build();
        CardAuthorizationCreateResponse cardAuthorization = client.simulations().cardAuthorizations().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.simulations.cardauthorizations.CardAuthorizationCreateParams
import com.increase.api.models.simulations.cardauthorizations.CardAuthorizationCreateResponse

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardAuthorizationCreateParams = CardAuthorizationCreateParams.builder()
        .amount(1000L)
        .build()
    val cardAuthorization: CardAuthorizationCreateResponse = client.simulations().cardAuthorizations().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardAuthorization = $client->simulations->cardAuthorizations->create(
    amount: 1000,
    authenticatedCardPaymentID: 'authenticated_card_payment_id',
    cardID: 'card_oubs0hwk5rn6knuecxg2',
    declineReason: 'account_closed',
    digitalWalletTokenID: 'digital_wallet_token_id',
    eventSubscriptionID: 'event_subscription_001dzz0r20rcdxgb013zqb8m04g',
    merchantAcceptorID: '5665270011000168',
    merchantCategoryCode: '5734',
    merchantCity: 'New York',
    merchantCountry: 'US',
    merchantDescriptor: 'AMAZON.COM',
    merchantState: 'NY',
    networkDetails: [
      'visa' => [
        'electronicCommerceIndicator' => 'mail_phone_order',
        'pointOfServiceEntryMode' => 'unknown',
        'standInProcessingReason' => 'issuer_error',
        'terminalEntryCapability' => 'unknown',
      ],
    ],
    networkRiskScore: 0,
    physicalCardID: 'physical_card_id',
    processingCategory: [
      'category' => 'account_funding',
      'refund' => ['originalCardPaymentID' => 'original_card_payment_id'],
    ],
    terminalID: 'x',
  );

  var_dump($cardAuthorization);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardAuthorizations;

IncreaseClient client = new();

CardAuthorizationCreateParams parameters = new() { Amount = 1000 };

var cardAuthorization = await client.Simulations.CardAuthorizations.Create(parameters);

Console.WriteLine(cardAuthorization);
Returns a Inbound Card Authorization Simulation Result object:
{
  "declined_transaction": null,
  "pending_transaction": {
    "account_id": "account_in71c4amph0vgo2qllky",
    "amount": 100,
    "completed_at": null,
    "created_at": "2020-01-31T23:59:59Z",
    "currency": "USD",
    "description": "INVOICE 2468",
    "held_amount": 100,
    "id": "pending_transaction_k1sfetcau2qbvjbzgju4",
    "route_id": "card_oubs0hwk5rn6knuecxg2",
    "route_type": "card",
    "source": {
      "card_authorization": {
        "actioner": "increase",
        "additional_amounts": {
          "clinic": null,
          "dental": null,
          "original": null,
          "prescription": null,
          "surcharge": {
            "amount": 10,
            "currency": "USD"
          },
          "total_cumulative": null,
          "total_healthcare": null,
          "transit": null,
          "unknown": null,
          "vision": null
        },
        "amount": 100,
        "card_payment_id": "card_payment_nd3k2kacrqjli8482ave",
        "currency": "USD",
        "digital_wallet_token_id": null,
        "direction": "settlement",
        "expires_at": "2020-01-31T23:59:59Z",
        "healthcare": null,
        "id": "card_authorization_6iqxap6ivd0fo5eu3i8x",
        "merchant_acceptor_id": "5665270011000168",
        "merchant_category_code": "5734",
        "merchant_city": "New York",
        "merchant_country": "US",
        "merchant_descriptor": "AMAZON.COM",
        "merchant_postal_code": "10045",
        "merchant_state": "NY",
        "network_details": {
          "category": "visa",
          "pulse": null,
          "visa": {
            "electronic_commerce_indicator": "secure_electronic_commerce",
            "point_of_service_entry_mode": "manual",
            "stand_in_processing_reason": null,
            "terminal_entry_capability": "magnetic_stripe"
          }
        },
        "network_identifiers": {
          "authorization_identification_response": null,
          "retrieval_reference_number": "785867080153",
          "trace_number": "487941",
          "transaction_id": "627199945183184"
        },
        "network_risk_score": 10,
        "pending_transaction_id": null,
        "physical_card_id": null,
        "presentment_amount": 100,
        "presentment_currency": "USD",
        "processing_category": "purchase",
        "real_time_decision_id": null,
        "scheme_fees": [
          {
            "amount": "0.137465",
            "created_at": "2020-01-31T23:59:59Z",
            "currency": "USD",
            "fee_type": "visa_corporate_acceptance_fee",
            "fixed_component": null,
            "variable_rate": "0.0002"
          }
        ],
        "terminal_id": "RCN5VNXS",
        "type": "card_authorization",
        "verification": {
          "card_verification_code": {
            "result": "match"
          },
          "cardholder_address": {
            "actual_line1": "33 Liberty Street",
            "actual_postal_code": "94131",
            "provided_line1": "33 Liberty Street",
            "provided_postal_code": "94132",
            "result": "postal_code_no_match_address_match"
          },
          "cardholder_name": null
        }
      },
      "category": "card_authorization"
    },
    "status": "pending",
    "type": "pending_transaction"
  },
  "type": "inbound_card_authorization_simulation_result"
}
Parameters
amount
integer
Required

The authorization amount in cents.

authenticated_card_payment_id
string

The identifier of a Card Payment with a card_authentication if you want to simulate an authenticated authorization.

More about Card Payments.
card_id
string

The identifier of the Card to be authorized.

More about Cards.
decline_reason
enum

Forces a card decline with a specific reason. No real time decision will be sent.

digital_wallet_token_id
string

The identifier of the Digital Wallet Token to be authorized.

event_subscription_id
string

The identifier of the Event Subscription to use. If provided, will override the default real time event subscription. Because you can only create one real time decision event subscription, you can use this field to route events to any specified event subscription for testing purposes.

merchant_acceptor_id
string

The merchant identifier (commonly abbreviated as MID) of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_category_code
string

The Merchant Category Code (commonly abbreviated as MCC) of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_city
string

The city the merchant resides in.

Between 1 and 200 characters
merchant_country
string

The country the merchant resides in.

Between 1 and 200 characters
merchant_descriptor
string

The merchant descriptor of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_state
string

The state the merchant resides in.

Between 1 and 200 characters
network_details
dictionary

Fields specific to a given card network.

network_risk_score
integer

The risk score generated by the card network. For Visa this is the Visa Advanced Authorization risk score, from 0 to 99, where 99 is the riskiest.

physical_card_id
string

The identifier of the Physical Card to be authorized.

More about Physical Cards.
processing_category
dictionary

Fields specific to a specific type of authorization, such as Automatic Fuel Dispensers, Refund Authorizations, or Cash Disbursements.

terminal_id
string

The terminal identifier (commonly abbreviated as TID) of the terminal the card is transacting with.

Between 1 and 200 characters
Sandbox: Create a Card Balance Inquiry

Simulates a balance inquiry on a Card.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_balance_inquiries" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "balance": 1000000,
    "card_id": "card_oubs0hwk5rn6knuecxg2",
    "event_subscription_id": "event_subscription_001dzz0r20rcdxgb013zqb8m04g",
    "merchant_acceptor_id": "5665270011000168",
    "merchant_category_code": "5734",
    "merchant_city": "New York",
    "merchant_country": "US",
    "merchant_descriptor": "CITIBANK",
    "merchant_state": "NY"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardBalanceInquiries.create();

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_balance_inquiries.create()
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_balance_inquiries.create

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardBalanceInquiries.New(context.TODO(), increase.SimulationCardBalanceInquiryNewParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardbalanceinquiries.CardBalanceInquiryCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardPayment cardPayment = client.simulations().cardBalanceInquiries().create();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardbalanceinquiries.CardBalanceInquiryCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val cardPayment: CardPayment = client.simulations().cardBalanceInquiries().create()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardBalanceInquiries->create(
    balance: 1000000,
    cardID: 'card_oubs0hwk5rn6knuecxg2',
    declineReason: 'account_closed',
    digitalWalletTokenID: 'digital_wallet_token_id',
    eventSubscriptionID: 'event_subscription_001dzz0r20rcdxgb013zqb8m04g',
    merchantAcceptorID: '5665270011000168',
    merchantCategoryCode: '5734',
    merchantCity: 'New York',
    merchantCountry: 'US',
    merchantDescriptor: 'CITIBANK',
    merchantState: 'NY',
    networkDetails: ['visa' => ['standInProcessingReason' => 'issuer_error']],
    networkRiskScore: 0,
    physicalCardID: 'physical_card_id',
    terminalID: 'x',
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardBalanceInquiries;

IncreaseClient client = new();

CardBalanceInquiryCreateParams parameters = new();

var cardPayment = await client.Simulations.CardBalanceInquiries.Create(parameters);

Console.WriteLine(cardPayment);
Parameters
balance
integer

The balance amount in cents. The account balance will be used if not provided.

card_id
string

The identifier of the Card to be authorized.

More about Cards.
decline_reason
enum

Forces a card decline with a specific reason. No real time decision will be sent.

digital_wallet_token_id
string

The identifier of the Digital Wallet Token to be authorized.

event_subscription_id
string

The identifier of the Event Subscription to use. If provided, will override the default real time event subscription. Because you can only create one real time decision event subscription, you can use this field to route events to any specified event subscription for testing purposes.

merchant_acceptor_id
string

The merchant identifier (commonly abbreviated as MID) of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_category_code
string

The Merchant Category Code (commonly abbreviated as MCC) of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_city
string

The city the merchant resides in.

Between 1 and 200 characters
merchant_country
string

The country the merchant resides in.

Between 1 and 200 characters
merchant_descriptor
string

The merchant descriptor of the merchant the card is transacting with.

Between 1 and 200 characters
merchant_state
string

The state the merchant resides in.

Between 1 and 200 characters
network_details
dictionary

Fields specific to a given card network.

network_risk_score
integer

The risk score generated by the card network. For Visa this is the Visa Advanced Authorization risk score, from 0 to 99, where 99 is the riskiest.

physical_card_id
string

The identifier of the Physical Card to be authorized.

More about Physical Cards.
terminal_id
string

The terminal identifier (commonly abbreviated as TID) of the terminal the card is transacting with.

Between 1 and 200 characters
Sandbox: Confirm the fuel pump amount for a Card Authorization

Simulates the fuel confirmation of an authorization by a card acquirer. This happens asynchronously right after a fuel pump transaction is completed. A fuel confirmation can only happen once per authorization.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_fuel_confirmations" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "amount": 5000,
    "card_payment_id": "card_payment_nd3k2kacrqjli8482ave"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardFuelConfirmations.create({
  amount: 5000,
  card_payment_id: 'card_payment_nd3k2kacrqjli8482ave',
});

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_fuel_confirmations.create(
    amount=5000,
    card_payment_id="card_payment_nd3k2kacrqjli8482ave",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_fuel_confirmations.create(
  amount: 5000,
  card_payment_id: "card_payment_nd3k2kacrqjli8482ave"
)

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardFuelConfirmations.New(context.TODO(), increase.SimulationCardFuelConfirmationNewParams{
		Amount:        increase.F(int64(5000)),
		CardPaymentID: increase.F("card_payment_nd3k2kacrqjli8482ave"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardfuelconfirmations.CardFuelConfirmationCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardFuelConfirmationCreateParams params = CardFuelConfirmationCreateParams.builder()
            .amount(5000L)
            .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
            .build();
        CardPayment cardPayment = client.simulations().cardFuelConfirmations().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardfuelconfirmations.CardFuelConfirmationCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardFuelConfirmationCreateParams = CardFuelConfirmationCreateParams.builder()
        .amount(5000L)
        .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
        .build()
    val cardPayment: CardPayment = client.simulations().cardFuelConfirmations().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardFuelConfirmations->create(
    amount: 5000, cardPaymentID: 'card_payment_nd3k2kacrqjli8482ave'
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardFuelConfirmations;

IncreaseClient client = new();

CardFuelConfirmationCreateParams parameters = new()
{
    Amount = 5000,
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave",
};

var cardPayment = await client.Simulations.CardFuelConfirmations.Create(parameters);

Console.WriteLine(cardPayment);
Parameters
amount
integer
Required

The amount of the fuel_confirmation in minor units in the card authorization’s currency.

card_payment_id
string
Required

The identifier of the Card Payment to create a fuel_confirmation on.

More about Card Payments.
Sandbox: Increment a Card Authorization

Simulates the increment of an authorization by a card acquirer. An authorization can be incremented multiple times.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_increments" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "amount": 500,
    "card_payment_id": "card_payment_nd3k2kacrqjli8482ave"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardIncrements.create({
  amount: 500,
  card_payment_id: 'card_payment_nd3k2kacrqjli8482ave',
});

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_increments.create(
    amount=500,
    card_payment_id="card_payment_nd3k2kacrqjli8482ave",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_increments.create(
  amount: 500,
  card_payment_id: "card_payment_nd3k2kacrqjli8482ave"
)

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardIncrements.New(context.TODO(), increase.SimulationCardIncrementNewParams{
		Amount:        increase.F(int64(500)),
		CardPaymentID: increase.F("card_payment_nd3k2kacrqjli8482ave"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardincrements.CardIncrementCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardIncrementCreateParams params = CardIncrementCreateParams.builder()
            .amount(500L)
            .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
            .build();
        CardPayment cardPayment = client.simulations().cardIncrements().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardincrements.CardIncrementCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardIncrementCreateParams = CardIncrementCreateParams.builder()
        .amount(500L)
        .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
        .build()
    val cardPayment: CardPayment = client.simulations().cardIncrements().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardIncrements->create(
    amount: 500,
    cardPaymentID: 'card_payment_nd3k2kacrqjli8482ave',
    eventSubscriptionID: 'event_subscription_id',
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardIncrements;

IncreaseClient client = new();

CardIncrementCreateParams parameters = new()
{
    Amount = 500,
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave",
};

var cardPayment = await client.Simulations.CardIncrements.Create(parameters);

Console.WriteLine(cardPayment);
Parameters
amount
integer
Required

The amount of the increment in minor units in the card authorization’s currency.

card_payment_id
string
Required

The identifier of the Card Payment to create an increment on.

More about Card Payments.
event_subscription_id
string

The identifier of the Event Subscription to use. If provided, will override the default real time event subscription. Because you can only create one real time decision event subscription, you can use this field to route events to any specified event subscription for testing purposes.

Sandbox: Refund a card transaction

Simulates refunding a card transaction. The full value of the original sandbox transaction is refunded.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_refunds" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "transaction_id": "transaction_uyrp7fld2ium70oa7oi"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const transaction = await client.simulations.cardRefunds.create();

console.log(transaction.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
transaction = client.simulations.card_refunds.create()
print(transaction.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

transaction = increase.simulations.card_refunds.create

puts(transaction)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	transaction, err := client.Simulations.CardRefunds.New(context.TODO(), increase.SimulationCardRefundNewParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", transaction.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.simulations.cardrefunds.CardRefundCreateParams;
import com.increase.api.models.transactions.Transaction;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        Transaction transaction = client.simulations().cardRefunds().create();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.simulations.cardrefunds.CardRefundCreateParams
import com.increase.api.models.transactions.Transaction

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val transaction: Transaction = client.simulations().cardRefunds().create()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $transaction = $client->simulations->cardRefunds->create(
    amount: 1,
    pendingTransactionID: 'pending_transaction_id',
    transactionID: 'transaction_uyrp7fld2ium70oa7oi',
  );

  var_dump($transaction);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardRefunds;

IncreaseClient client = new();

CardRefundCreateParams parameters = new();

var transaction = await client.Simulations.CardRefunds.Create(parameters);

Console.WriteLine(transaction);
Returns a Transaction object:
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "amount": 100,
  "created_at": "2020-01-31T23:59:59Z",
  "currency": "USD",
  "description": "INVOICE 2468",
  "id": "transaction_uyrp7fld2ium70oa7oi",
  "route_id": "account_number_v18nkfqm6afpsrvy82b2",
  "route_type": "account_number",
  "source": {
    "category": "inbound_ach_transfer",
    "inbound_ach_transfer": {
      "addenda": null,
      "amount": 100,
      "originator_company_descriptive_date": null,
      "originator_company_discretionary_data": null,
      "originator_company_entry_description": "RESERVE",
      "originator_company_id": "0987654321",
      "originator_company_name": "BIG BANK",
      "receiver_id_number": "12345678900",
      "receiver_name": "IAN CREASE",
      "trace_number": "021000038461022",
      "transfer_id": "inbound_ach_transfer_tdrwqr3fq9gnnq49odev"
    }
  },
  "type": "transaction"
}
Parameters
amount
integer

The refund amount in cents. Pulled off the pending_transaction or the transaction if not provided.

pending_transaction_id
string

The identifier of the Pending Transaction for the refund authorization. If this is provided, transaction must not be provided as a refund with a refund authorized can not be linked to a regular transaction.

transaction_id
string

The identifier for the Transaction to refund. The Transaction’s source must have a category of card_settlement.

More about Transactions.
Sandbox: Reverse a Card Authorization

Simulates the reversal of an authorization by a card acquirer. An authorization can be partially reversed multiple times, up until the total authorized amount. Marks the pending transaction as complete if the authorization is fully reversed.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_reversals" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "card_payment_id": "card_payment_nd3k2kacrqjli8482ave"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardPayment = await client.simulations.cardReversals.create({
  card_payment_id: 'card_payment_nd3k2kacrqjli8482ave',
});

console.log(cardPayment.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_payment = client.simulations.card_reversals.create(
    card_payment_id="card_payment_nd3k2kacrqjli8482ave",
)
print(card_payment.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_payment = increase.simulations.card_reversals.create(card_payment_id: "card_payment_nd3k2kacrqjli8482ave")

puts(card_payment)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardPayment, err := client.Simulations.CardReversals.New(context.TODO(), increase.SimulationCardReversalNewParams{
		CardPaymentID: increase.F("card_payment_nd3k2kacrqjli8482ave"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardPayment.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardpayments.CardPayment;
import com.increase.api.models.simulations.cardreversals.CardReversalCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardReversalCreateParams params = CardReversalCreateParams.builder()
            .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
            .build();
        CardPayment cardPayment = client.simulations().cardReversals().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardpayments.CardPayment
import com.increase.api.models.simulations.cardreversals.CardReversalCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardReversalCreateParams = CardReversalCreateParams.builder()
        .cardPaymentId("card_payment_nd3k2kacrqjli8482ave")
        .build()
    val cardPayment: CardPayment = client.simulations().cardReversals().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardPayment = $client->simulations->cardReversals->create(
    cardPaymentID: 'card_payment_nd3k2kacrqjli8482ave', amount: 1
  );

  var_dump($cardPayment);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardReversals;

IncreaseClient client = new();

CardReversalCreateParams parameters = new()
{
    CardPaymentID = "card_payment_nd3k2kacrqjli8482ave"
};

var cardPayment = await client.Simulations.CardReversals.Create(parameters);

Console.WriteLine(cardPayment);
Parameters
amount
integer

The amount of the reversal in minor units in the card authorization’s currency. This defaults to the authorization amount.

card_payment_id
string
Required

The identifier of the Card Payment to create a reversal on.

More about Card Payments.
Sandbox: Settle a Card Authorization

Simulates the settlement of an authorization by a card acquirer. After a card authorization is created, the merchant will eventually send a settlement. This simulates that event, which may occur many days after the purchase in production. The amount settled can be different from the amount originally authorized, for example, when adding a tip to a restaurant bill.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_settlements" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "card_id": "card_oubs0hwk5rn6knuecxg2",
    "pending_transaction_id": "pending_transaction_k1sfetcau2qbvjbzgju4"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const transaction = await client.simulations.cardSettlements.create({
  card_id: 'card_oubs0hwk5rn6knuecxg2',
  pending_transaction_id: 'pending_transaction_k1sfetcau2qbvjbzgju4',
});

console.log(transaction.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
transaction = client.simulations.card_settlements.create(
    card_id="card_oubs0hwk5rn6knuecxg2",
    pending_transaction_id="pending_transaction_k1sfetcau2qbvjbzgju4",
)
print(transaction.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

transaction = increase.simulations.card_settlements.create(
  card_id: "card_oubs0hwk5rn6knuecxg2",
  pending_transaction_id: "pending_transaction_k1sfetcau2qbvjbzgju4"
)

puts(transaction)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	transaction, err := client.Simulations.CardSettlements.New(context.TODO(), increase.SimulationCardSettlementNewParams{
		CardID:               increase.F("card_oubs0hwk5rn6knuecxg2"),
		PendingTransactionID: increase.F("pending_transaction_k1sfetcau2qbvjbzgju4"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", transaction.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.simulations.cardsettlements.CardSettlementCreateParams;
import com.increase.api.models.transactions.Transaction;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardSettlementCreateParams params = CardSettlementCreateParams.builder()
            .cardId("card_oubs0hwk5rn6knuecxg2")
            .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4")
            .build();
        Transaction transaction = client.simulations().cardSettlements().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.simulations.cardsettlements.CardSettlementCreateParams
import com.increase.api.models.transactions.Transaction

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: CardSettlementCreateParams = CardSettlementCreateParams.builder()
        .cardId("card_oubs0hwk5rn6knuecxg2")
        .pendingTransactionId("pending_transaction_k1sfetcau2qbvjbzgju4")
        .build()
    val transaction: Transaction = client.simulations().cardSettlements().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $transaction = $client->simulations->cardSettlements->create(
    cardID: 'card_oubs0hwk5rn6knuecxg2',
    pendingTransactionID: 'pending_transaction_k1sfetcau2qbvjbzgju4',
    amount: 1,
  );

  var_dump($transaction);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardSettlements;

IncreaseClient client = new();

CardSettlementCreateParams parameters = new()
{
    CardID = "card_oubs0hwk5rn6knuecxg2",
    PendingTransactionID = "pending_transaction_k1sfetcau2qbvjbzgju4",
};

var transaction = await client.Simulations.CardSettlements.Create(parameters);

Console.WriteLine(transaction);
Returns a Transaction object:
{
  "account_id": "account_in71c4amph0vgo2qllky",
  "amount": 100,
  "created_at": "2020-01-31T23:59:59Z",
  "currency": "USD",
  "description": "INVOICE 2468",
  "id": "transaction_uyrp7fld2ium70oa7oi",
  "route_id": "account_number_v18nkfqm6afpsrvy82b2",
  "route_type": "account_number",
  "source": {
    "category": "inbound_ach_transfer",
    "inbound_ach_transfer": {
      "addenda": null,
      "amount": 100,
      "originator_company_descriptive_date": null,
      "originator_company_discretionary_data": null,
      "originator_company_entry_description": "RESERVE",
      "originator_company_id": "0987654321",
      "originator_company_name": "BIG BANK",
      "receiver_id_number": "12345678900",
      "receiver_name": "IAN CREASE",
      "trace_number": "021000038461022",
      "transfer_id": "inbound_ach_transfer_tdrwqr3fq9gnnq49odev"
    }
  },
  "type": "transaction"
}
Parameters
amount
integer

The amount to be settled. This defaults to the amount of the Pending Transaction being settled.

card_id
string
Required

The identifier of the Card to create a settlement on.

More about Cards.
pending_transaction_id
string
Required

The identifier of the Pending Transaction for the Card Authorization you wish to settle.