Skip to main content
PUT
/
payments
/
orders
/
{order_id}
import cobo_waas2
from cobo_waas2.models.order import Order
from cobo_waas2.models.update_payment_order_request import UpdatePaymentOrderRequest
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.PaymentApi(api_client)
    order_id = "O20250304-M1001-1001"
    update_payment_order_request = cobo_waas2.UpdatePaymentOrderRequest(expired=True)

    try:
        # Update pay-in order
        api_response = api_instance.update_payment_order(
            order_id, update_payment_order_request=update_payment_order_request
        )
        print("The response of PaymentApi->update_payment_order:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling PaymentApi->update_payment_order: %s\n" % e)

{
  "order_id": "5001",
  "merchant_id": "1001",
  "token_id": "ETH_USDT",
  "chain_id": "ETH",
  "payable_amount": "103.03",
  "receive_address": "0x1234567890abcdef1234567890abcdef12345678",
  "currency": "USD",
  "order_amount": "100.00",
  "fee_amount": "2.00",
  "exchange_rate": "0.99",
  "expired_at": 1711324800,
  "merchant_order_code": "M20240201001",
  "psp_order_code": "P20240201001",
  "status": "Pending",
  "received_token_amount": "103.0305",
  "created_timestamp": 1744689600,
  "updated_timestamp": 1744689600,
  "transactions": [
    {
      "tx_id": "tx_123e4567-e89b-12d3-a456-426614174003",
      "tx_hash": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "token_id": "ETH_USDT",
      "from_address": "0xF8e4bfc10A2821DF52D3322cB5170E5E9276b537",
      "to_address": "0x15B95A2D8af95D9F48148667B6b8B3CdF89e4F15",
      "amount": "0.15",
      "status": "Submitted",
      "created_timestamp": 1610445878970,
      "updated_timestamp": 1610445878970
    }
  ],
  "settlement_status": "Pending"
}
import cobo_waas2
from cobo_waas2.models.order import Order
from cobo_waas2.models.update_payment_order_request import UpdatePaymentOrderRequest
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.PaymentApi(api_client)
    order_id = "O20250304-M1001-1001"
    update_payment_order_request = cobo_waas2.UpdatePaymentOrderRequest(expired=True)

    try:
        # Update pay-in order
        api_response = api_instance.update_payment_order(
            order_id, update_payment_order_request=update_payment_order_request
        )
        print("The response of PaymentApi->update_payment_order:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling PaymentApi->update_payment_order: %s\n" % e)

Authorizations

BIZ-API-KEY
string
header
required

The API key. For more details, refer to API key.

In the API playground, enter your API secret, and your API key will be accordingly calculated.

Path Parameters

order_id
string
required

The pay-in order ID.

Body

application/json

The request body to update a pay-in order.

expired
boolean
required

Whether to manually expire the order. If set to true, the order status will be updated to Expired.

Example:

true

Response

The request was successful.

order_id
string
required

The order ID.

Example:

"5001"

token_id
string
required

The ID of the cryptocurrency used for payment. Supported tokens:

  • USDC: ETH_USDC, ARBITRUM_USDCOIN, SOL_USDC, BASE_USDC, MATIC_USDC2, BSC_USDC
  • USDT: TRON_USDT, ETH_USDT, ARBITRUM_USDT, SOL_USDT, BASE_USDT, MATIC_USDT, BSC_USDT
Example:

"ETH_USDT"

chain_id
string
required

The ID of the blockchain network where the payment transaction should be made. Supported chains:

  • USDC: ETH, ARBITRUM, SOL, BASE, MATIC, BSC
  • USDT: TRON, ETH, ARBITRUM, SOL, BASE, MATIC, BSC
Example:

"ETH"

payable_amount
string
required

The cryptocurrency amount to be paid for this order.

Example:

"103.03"

receive_address
string
required

The recipient wallet address to be used for the payment transaction.

Example:

"0x1234567890abcdef1234567890abcdef12345678"

currency
string
required

The fiat currency of the order.

Example:

"USD"

order_amount
string
required

The base amount of the order in fiat currency, excluding the developer fee (specified in fee_amount).

Example:

"100.00"

fee_amount
string
required

The developer fee for the order in fiat currency. It is added to the base amount (order_amount) to determine the final charge.

Example:

"2.00"

exchange_rate
string
required

The exchange rate between a currency pair. Expressed as the amount of fiat currency per one unit of cryptocurrency. For example, if the cryptocurrency is USDT and the fiat currency is USD, a rate of "0.99" means 1 USDT = 0.99 USD.

Example:

"0.99"

psp_order_code
string
required

A unique reference code assigned by the developer to identify this order in their system.

Example:

"P20240201001"

status
enum<string>
required

The current status of the pay-in order:

  • Pending: The order has been created and is awaiting payment. No incoming transaction has been detected.
  • Processing: An incoming transaction has been detected at the recipient address.
  • Completed: The payment has been fully received and is now complete.
  • Expired: The order has reached its expiration time without receiving any payment, or the order has been cancelled by the Update pay-in order operation.
  • Underpaid: The order has reached its expiration time. A payment was received but the amount is less than the order's required amount.
Available options:
Pending,
Processing,
Completed,
Expired,
Underpaid
Example:

"Pending"

received_token_amount
string
required

The total cryptocurrency amount received for this order. Updates until the expiration time. Precision matches the token standard (e.g., 6 decimals for USDT).

Example:

"103.0305"

merchant_id
string

The merchant ID.

Example:

"1001"

expired_at
integer

The expiration time of the pay-in order, represented as a UNIX timestamp in seconds.

Example:

1711324800

merchant_order_code
string

A unique reference code assigned by the merchant to identify this order in their system.

Example:

"M20240201001"

created_timestamp
integer

The creation time of the order, represented as a UNIX timestamp in seconds.

Example:

1744689600

updated_timestamp
integer

The last update time of the order, represented as a UNIX timestamp in seconds.

Example:

1744689600

transactions
object[]

An array of transactions associated with this pay-in order. Each transaction represents a separate blockchain operation related to the pay-in process.

settlement_status
enum<string>

The current status of a settlement.

  • Pending: The settlement has been created and is awaiting processing.
  • Processing: The settlement is being processed.
  • Completed: The funds have been successfully deposited into the bank account or the withdrawal crypto address.
  • PartiallyCompleted: Some settlement transactions have been completed successfully, while others have failed.
  • Failed: The settlement could not be completed due to an error.
Available options:
Pending,
Processing,
Completed,
PartiallyCompleted,
Failed
Example:

"Pending"