---
title: Send payments
slug: apis/payments/cos-card-payments/payment-apis/post-payments
description: Explore the API endpoint "/v1/payments" for seamless payment transactions, detailing required parameters, data structure schema, and optional response insights for efficient tracking.
icon: {"apiMethod":"POST"}
docTags: 
createdAt: 2024-08-14T07:39:58.503Z
---

## Relevant webhooks

For this endpoint be sure you have [registered](docId\:BN5XtgkJogBe-CtwomCbS) for these webhooks:

- [CardPayments.Payment.Cleared](docId\:wso2E9CMh8zs8PyIjC-7r)
- [CardPayments.Payment.Completed](docId\:wso2E9CMh8zs8PyIjC-7r)&#x20;
- [CardPayments.Payment.Rejected](docId\:wso2E9CMh8zs8PyIjC-7r)
- [CardPayments.Payment.Failed](docId\:wso2E9CMh8zs8PyIjC-7r)

## API reference

Push or pull funds&#x20;

:::ApiMethodV2
```json
{
  "name": "Endpoint: /v1/payments",
  "method": "POST",
  "url": "https://sandbox.crbcos.com/cardpayments/v1/payments",
  "description": "",
  "tab": "examples",
  "examples": {
    "languages": [
      {
        "id": "m2Ue7Qz6dVWcDZ36gKpPo",
        "language": "curl",
        "code": "curl --location 'https://sandbox.crbcos.com/cardpayments/v1/payments' \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json' \\\n--data '{\n  \"productId\": \"29f3022a-ccfc-42eb-aa8f-b29500f13d00\",\n  \"cardToken\": \"\",\n  \"accountNumber\": \"2287979807\",\n  \"amount\": 1000,\n  \"paymentType\": \"Push\",\n  \"correspondingEntity\": {\n    \"firstName\": \"Darrin\",\n    \"lastName\": \"Considine\",\n    \"externalAccountIdentifier\": \"12345678901234\",\n    \"address\": {\n      \"street1\": \"2436 Bradtke Mountains\",\n      \"street2\": \"\",\n      \"city\": \"Marysville\",\n      \"state\": \"NY\",\n      \"postalCode\": \"123456789\",\n      \"countryCode\": \"US\"\n    }\n },\n  \"mcc\": \"9876\",\n  \"cvv\": \"123\",\n  \"clientIdentifier\": \"string\",\n  \"businessType\": \"AA\"\n}'",
        "customLabel": ""
      },
      {
        "id": "VeeGmwkA_clEzxjzmMBUK",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n  'method': 'POST',\n  'url': 'https://sandbox.crbcos.com/cardpayments/v1/payments',\n  'headers': {\n    'Content-Type': 'application/json',\n    'Accept': 'application/json'\n  },\n  body: JSON.stringify({\n    \"productId\": \"29f3022a-ccfc-42eb-aa8f-b29500f13d00\",\n    \"cardToken\": \"\",\n    \"accountNumber\": \"2287979807\",\n    \"amount\": 1000,\n    \"paymentType\": \"Push\",\n    \"correspondingEntity\": {\n      \"firstName\": \"Prudence\",\n      \"lastName\": \"Stracke\",\n      \"externalAccountIdentifier\": \"12345678901234\",\n      \"address\": {\n        \"street1\": \"2866 Margie Burg\",\n        \"street2\": \"\",\n        \"city\": \"Lorishire\",\n        \"state\": \"NY\",\n        \"postalCode\": \"123456789\",\n        \"countryCode\": \"US\"\n      }\n    },\n    \"mcc\": \"9876\",\n    \"cvv\": \"123\",\n    \"clientIdentifier\": \"string\",\n    \"businessType\": \"AA\"\n  })\n\n};\nrequest(options, function (error, response) {\n  if (error) throw new Error(error);\n  console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "BP-IjxQK-9xJ_YCWNyGNx",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://sandbox.crbcos.com/cardpayments/v1/payments\"\n\npayload = json.dumps({\n  \"productId\": \"29f3022a-ccfc-42eb-aa8f-b29500f13d00\",\n  \"cardToken\": \"\",\n  \"accountNumber\": \"2287979807\",\n  \"amount\": 1000,\n  \"paymentType\": \"Push\",\n  \"correspondingEntity\": {\n    \"firstName\": \"Lyla\",\n    \"lastName\": \"Abbott\",\n    \"externalAccountIdentifier\": \"12345678901234\",\n    \"address\": {\n      \"street1\": \"39633 Bianka Fork\",\n      \"street2\": \"\",\n      \"city\": \"Kansas City\",\n      \"state\": \"NY\",\n      \"postalCode\": \"123456789\",\n      \"countryCode\": \"US\"\n    }\n  },\n  \"mcc\": \"9876\",\n  \"cvv\": \"123\",\n  \"clientIdentifier\": \"string\",\n  \"businessType\": \"AA\"\n})\nheaders = {\n  'Content-Type': 'application/json',\n  'Accept': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      },
      {
        "id": "xu3xbbWT_a-_Y7mcgL0S3",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://sandbox.crbcos.com/cardpayments/v1/payments\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Content-Type\"] = \"application/json\"\nrequest[\"Accept\"] = \"application/json\"\nrequest.body = JSON.dump({\n  \"productId\": \"29f3022a-ccfc-42eb-aa8f-b29500f13d00\",\n  \"cardToken\": \"\",\n  \"accountNumber\": \"2287979807\",\n  \"amount\": 1000,\n  \"paymentType\": \"Push\",\n  \"correspondingEntity\": {\n    \"firstName\": \"Darwin\",\n    \"lastName\": \"Reilly\",\n    \"externalAccountIdentifier\": \"12345678901234\",\n    \"address\": {\n      \"street1\": \"83160 Hector Turnpike\",\n      \"street2\": \"\",\n      \"city\": \"Thousand Oaks\",\n      \"state\": \"NY\",\n      \"postalCode\": \"123456789\",\n      \"countryCode\": \"US\"\n    }\n  },\n  \"mcc\": \"9876\",\n  \"cvv\": \"123\",\n  \"clientIdentifier\": \"string\",\n  \"businessType\": \"AA\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      },
      {
        "id": "yes-XNvEAr36pmLaxLh_p",
        "language": "go",
        "code": "package main\n\nimport (\n  \"fmt\"\n  \"strings\"\n  \"net/http\"\n  \"io\"\n)\n\nfunc main() {\n\n  url := \"https://sandbox.crbcos.com/cardpayments/v1/payments\"\n  method := \"POST\"\n\n  payload := strings.NewReader(`{`+\"\n\"+`\n  \"productId\": \"29f3022a-ccfc-42eb-aa8f-b29500f13d00\",`+\"\n\"+`\n  \"cardToken\": \"\",`+\"\n\"+`\n  \"accountNumber\": \"2287979807\",`+\"\n\"+`\n  \"amount\": 1000,`+\"\n\"+`\n  \"paymentType\": \"Push\",`+\"\n\"+`\n  \"correspondingEntity\": {`+\"\n\"+`\n    \"firstName\": \"Zoe\",`+\"\n\"+`\n    \"lastName\": \"Klein\",`+\"\n\"+`\n    \"externalAccountIdentifier\": \"12345678901234\",`+\"\n\"+`\n    \"address\": {`+\"\n\"+`\n      \"street1\": \"24683 Cara Villages\",`+\"\n\"+`\n      \"street2\": \"\",`+\"\n\"+`\n      \"city\": \"Walshside\",`+\"\n\"+`\n      \"state\": \"NY\",`+\"\n\"+`\n      \"postalCode\": \"123456789\",`+\"\n\"+`\n      \"countryCode\": \"US\"`+\"\n\"+`\n    }`+\"\n\"+`\n },`+\"\n\"+`\n  \"mcc\": \"9876\",`+\"\n\"+`\n  \"cvv\": \"123\",`+\"\n\"+`\n  \"clientIdentifier\": \"string\",`+\"\n\"+`\n  \"businessType\": \"AA\"`+\"\n\"+`\n}`)\n\n  client := &http.Client {\n  }\n  req, err := http.NewRequest(method, url, payload)\n\n  if err != nil {\n    fmt.Println(err)\n    return\n  }\n  req.Header.Add(\"Content-Type\", \"application/json\")\n  req.Header.Add(\"Accept\", \"application/json\")\n\n  res, err := client.Do(req)\n  if err != nil {\n    fmt.Println(err)\n    return\n  }\n  defer res.Body.Close()\n\n  body, err := io.ReadAll(res.Body)\n  if err != nil {\n    fmt.Println(err)\n    return\n  }\n  fmt.Println(string(body))\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "m2Ue7Qz6dVWcDZ36gKpPo"
  },
  "results": {
    "languages": [
      {
        "id": "-5D43_yNMyUekjZaiPAYE",
        "language": "200",
        "code": "{\n    \"id\": \"d706c741-e556-4101-a849-b42b00bfd7e9\",\n    \"clientIdentifier\": \"string\",\n    \"amount\": 1000,\n    \"paymentType\": \"Push\",\n    \"status\": \"Created\",\n    \"source\": \"OpsPortal\",\n    \"productId\": \"31cae717-408e-4813-a6b1-ad6600e48632\",\n    \"partnerId\": \"82a1cfb9-de92-4cc2-8a74-ad6600e36d7a\",\n    \"cardId\": \"26acd726-dade-4064-996a-b42b00b634df\",\n    \"cardToken\": \"11FB445C487140A9BEA51457A796172A000000\",\n    \"cardBrand\": \"Visa\",\n    \"panLastFour\": \"1111\",\n    \"issuerCountryCode\": \"US\",\n    \"correspondingEntity\": {\n        \"firstName\": \"Justina\",\n        \"lastName\": \"Jacobs\",\n        \"externalAccountIdentifier\": \"123456***1234\",\n        \"address\": {\n            \"street1\": \"511 Annalise Squares\",\n            \"street2\": \"\",\n            \"city\": \"Columbus\",\n            \"state\": \"NY\",\n            \"postalCode\": \"123456789\",\n            \"countryCode\": \"US\"\n        }\n    },\n    \"mcc\": \"9876\",\n    \"merchantVerificationValue\": \"123456\",\n    \"accountNumber\": \"2287979807\",\n    \"businessType\": \"AA\",\n    \"wasRefunded\": false,\n    \"createdAt\": \"2026-04-13T07:38:28.8271201-04:00\",\n    \"limitsEligibleOn\": \"2026-04-13T07:38:28.8271201-04:00\",\n    \"lastModifiedAt\": \"2026-04-13T07:38:28.9388613-04:00\"\n}"
      }
    ],
    "selectedLanguageId": "-5D43_yNMyUekjZaiPAYE"
  },
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "name": "cardId",
        "kind": "optional",
        "type": "string",
        "description": "",
        "": "cardId"
      },
      {
        "name": "cardToken",
        "kind": "optional",
        "type": "string",
        "description": "A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters).",
        "": "A randomly generated string of characters that relates to the consumer's payment card (15-38 alphanumeric characters)."
      },
      {
        "name": "accountNumber",
        "kind": "required",
        "type": "string",
        "description": "The identifier for the account, as defined in COS.",
        "": "The identifier for the account, as defined in COS."
      },
      {
        "name": "amount",
        "kind": "required",
        "type": "Integer",
        "description": "The amount to be transferred, in cents. For example, 10001 = $100.01.",
        "children": []
      },
      {
        "name": "paymentType",
        "kind": "required",
        "type": "string",
        "description": "The type of payment. Value is either \"Push\" or \"Pull\"",
        "": "required"
      },
      {
        "name": "correspondingEntity",
        "kind": "optional",
        "type": "object",
        "description": "Information about who initiated the transaction",
        "": "optional",
        "children": [
          {
            "name": "firstName",
            "kind": "required",
            "type": "string",
            "description": "First name"
          },
          {
            "name": "lastName",
            "kind": "required",
            "type": "string",
            "description": "Last name"
          },
          {
            "name": "externalAccountIdentifier",
            "kind": "required",
            "type": "string",
            "description": "Account number to ensure the money movement is routed to the correct destination."
          },
          {
            "name": "address",
            "kind": "optional",
            "type": "object",
            "description": "Address of the corresponding entity. This block is optional. When it is provided there are required fields as indicated",
            "children": [
              {
                "name": "street1",
                "kind": "required",
                "type": "string",
                "description": "Address information, street apartment etc"
              },
              {
                "name": "street2",
                "kind": "optional",
                "type": "string",
                "description": "Additional address information"
              },
              {
                "name": "city",
                "kind": "required",
                "type": "string",
                "description": "CIty full name"
              },
              {
                "name": "state",
                "kind": "optional",
                "type": "string",
                "description": "State where corresponding entity is located"
              },
              {
                "name": "postalCode",
                "kind": "required",
                "type": "string",
                "description": "Postal code of address where correponding entity is loacted"
              },
              {
                "name": "countryCode",
                "kind": "required",
                "type": "string",
                "description": " 2-letter ISO country code"
              }
            ]
          }
        ],
        "schema": [
          {
            "name": "firstName",
            "kind": "required",
            "type": "string",
            "description": "First name"
          },
          {
            "name": "lastName",
            "kind": "required",
            "type": "string",
            "description": "Last name"
          },
          {
            "name": "externalAccountIdentifier",
            "kind": "required",
            "type": "string",
            "description": "Account number to ensure the money movement is routed to the correct destination."
          },
          {
            "name": "address",
            "kind": "optional",
            "type": "object",
            "description": "Address of the corresponding entity. This block is optional. When it is provided there are required fields as indicated",
            "children": [
              {
                "name": "street1",
                "kind": "required",
                "type": "string",
                "description": "Address information, street apartment etc"
              },
              {
                "name": "street2",
                "kind": "optional",
                "type": "string",
                "description": "Additional address information"
              },
              {
                "name": "city",
                "kind": "required",
                "type": "string",
                "description": "CIty full name"
              },
              {
                "name": "state",
                "kind": "optional",
                "type": "string",
                "description": "State where corresponding entity is located"
              },
              {
                "name": "postalCode",
                "kind": "required",
                "type": "string",
                "description": "Postal code of address where correponding entity is loacted"
              },
              {
                "name": "countryCode",
                "kind": "required",
                "type": "string",
                "description": " 2-letter ISO country code"
              }
            ]
          }
        ]
      },
      {
        "name": "mcc",
        "kind": "optional",
        "type": "string",
        "description": "Merchant Category Code (MCC). 4-digits that a credit card issuer uses to categorize consumer transactions for their card.",
        "": "mcc"
      },
      {
        "name": "cvv",
        "kind": "optional",
        "type": "string",
        "description": "Card Verification Value (CVV). 3 or 4-digits printed on card to help verify that the customer physically possesses the card during card-not-present transactions.",
        "": "Card Verification Value (CVV). 3 or 4-digits printed on card to help verify that the customer physically possesses the card during card-not-present transactions."
      },
      {
        "name": "clientIdentifier",
        "kind": "optional",
        "type": "string",
        "description": "A string that identifies the client associated with the payment. Max 50 characters",
        "": "A string that identifies the client associated with the payment. Max 50 characters"
      },
      {
        "name": "businessType",
        "kind": "optional",
        "type": "string",
        "description": "Business Application Indicator (BAI) -- a standardized category used to classify the nature of a business.\nOne of \nBB - 'Business2Business', \nFD - 'Funds Disbursement ', \nAA - 'Account2Account', \nPP - 'Person2Person', \nMT -'Money Transfer', \nCD - 'Cash Deposit', \nFT - 'Funds Transfer', \nWT - 'Wallet Transfer', \nCP - 'Card Bill Payment'\nMD - 'Merchant Disbursement'",
        "": "businessType"
      },
      {
        "name": "purposeOfPayment",
        "kind": "optional",
        "type": "string",
        "description": "The reason for the transaction. e.g. payroll. Needed for international. ",
        "": "purposeOfPayment"
      },
      {
        "name": "initiatorName",
        "kind": "optional",
        "type": "string",
        "description": "Per-payment merchant/sender name override for the cardholder's bank statement. Max 17 chars",
        "": "Per-payment merchant/sender name override for the cardholder's bank statement. Max 17 chars"
      }
    ],
    "formDataParameters": []
  },
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "response": [
    {
      "name": "id",
      "kind": "optional",
      "type": "string",
      "description": "",
      "children": []
    },
    {
      "name": "originalPaymentId",
      "kind": "optional",
      "type": "string",
      "description": " A UUID that is the primary identifier for the payment.",
      "children": []
    },
    {
      "name": "clientIdentifier",
      "kind": "optional",
      "type": "string",
      "description": " A string that identifies the client associated with the payment.",
      "children": []
    },
    {
      "name": "amount",
      "kind": "optional",
      "type": "string",
      "description": "The amount to be transferred, in cents. For example, 10001 = $100.01.",
      "children": []
    },
    {
      "name": "paymentType",
      "kind": "optional",
      "type": "string",
      "description": "Indicates the direction of the payment:\nPush -  Money sent out (e.g. disbursement to a customer)\nPull -  Money received (e.g. a charge to a customer's card)",
      "children": []
    },
    {
      "name": "status",
      "kind": "optional",
      "type": "string",
      "description": "One of  \"Created\",\n                        \"Pending\",\n                        \"Authorized\",\n                        \"Submitted\",\n                        \"Processing\",\n                        \"Completed\",\n                        \"Rejected\",\n                        \"Failed\"",
      "children": []
    },
    {
      "name": "source",
      "kind": "optional",
      "type": "string",
      "description": "",
      "children": []
    },
    {
      "name": "productId",
      "kind": "optional",
      "type": "string",
      "description": " A UUID that identifies the product, as defined in COS.",
      "children": []
    },
    {
      "name": "partnerId",
      "kind": "optional",
      "type": "string",
      "description": " A UUID that identifies the partner, as defined in COS.",
      "children": []
    },
    {
      "name": "cardId",
      "kind": "optional",
      "type": "string",
      "description": " A UUID that identifies the card used.",
      "children": []
    },
    {
      "name": "cardToken",
      "kind": "optional",
      "type": "string",
      "description": "",
      "children": []
    },
    {
      "name": "network",
      "kind": "optional",
      "type": "string",
      "description": "The network through which the payment is processed (e.g. Visa, Mastercard).",
      "children": []
    },
    {
      "name": "cardBrand",
      "kind": "optional",
      "type": "string",
      "description": "One of  \"AmericanExpress\",\n                        \"ChinaUnionPay\",\n                        \"Dankort\",\n                        \"DinersClub\",\n                        \"Discover\",\n                        \"Hipercard\",\n                        \"JCB\",\n                        \"Laser\",\n                        \"Maestro\",\n                        \"MasterCard\",\n                        \"RuPay\",\n                        \"Solo\",\n                        \"Switch\",\n                        \"Visa\",\n                        \"Unknown\"",
      "children": []
    },
    {
      "name": "panLastFour",
      "kind": "optional",
      "type": "string",
      "description": "The last four digits of the Primary Account Number (card number).",
      "children": []
    },
    {
      "name": "issuerCountryCode",
      "kind": "optional",
      "type": "string",
      "description": "A string representing the country code of the card issuer.",
      "children": []
    },
    {
      "name": "retrievalReferenceId",
      "kind": "optional",
      "type": "string",
      "description": "A unique identifier used for retrieving transaction details, often used in disputes or reconciliation.",
      "children": []
    },
    {
      "name": "reasonCode",
      "kind": "optional",
      "type": "string",
      "description": "A 2-digit code signifying the transaction result (approved or decline). For example, 00 means successful.",
      "children": []
    },
    {
      "name": "reasonDescription",
      "kind": "optional",
      "type": "string",
      "description": "A string describing the transaction result. For example, Approved.",
      "children": []
    },
    {
      "name": "traceNumber",
      "kind": "optional",
      "type": "string",
      "description": "A unique number assigned to a transaction from the time it leaves the merchant bank until it arrives at the cardholder bank",
      "children": []
    },
    {
      "name": "correspondingEntity",
      "kind": "optional",
      "type": "object",
      "description": "",
      "children": []
    },
    {
      "name": "mcc",
      "kind": "optional",
      "type": "string",
      "description": "Merchant Category Code (MCC). 4-digits that a credit card issuer uses to categorize consumer transactions for their card.",
      "children": []
    },
    {
      "name": "merchantVerificationValue",
      "kind": "optional",
      "type": "string",
      "description": "A value used to verify the merchant's identity.",
      "children": []
    },
    {
      "name": "initiatorName",
      "kind": "optional",
      "type": "string",
      "description": "Per-payment merchant/sender name override for the cardholder's bank statement. Max 17 chars",
      "children": []
    },
    {
      "name": "accountNumber",
      "kind": "optional",
      "type": "string",
      "description": "The account number associated with the payment.",
      "children": []
    },
    {
      "name": "businessType",
      "kind": "optional",
      "type": "string",
      "description": "Business Application Indicator (BAI) -- a standardized category used to classify the nature of a business.\nOne of \nBB - 'Business2Business', \nFD - 'Funds Disbursement ', \nAA - 'Account2Account', \nPP - 'Person2Person', \nMT -'Money Transfer', \nCD - 'Cash Deposit', \nFT - 'Funds Transfer', \nWT - 'Wallet Transfer', \nCP - 'Card Bill Payment'\nMD - 'Merchant Disbursement'",
      "children": []
    },
    {
      "name": "purposeOfPayment",
      "kind": "optional",
      "type": "string",
      "description": "",
      "children": []
    },
    {
      "name": "coreTransactionId",
      "kind": "optional",
      "type": "string",
      "description": "A UUID that links the payment to the core banking system.",
      "children": []
    },
    {
      "name": "memoPostId",
      "kind": "optional",
      "type": "string",
      "description": "A UUID that identifies the corresponding memo post (a temporary transaction posting).",
      "children": []
    },
    {
      "name": "memoPostRemovedAt",
      "kind": "optional",
      "type": "string",
      "description": "When the memo post was removed. I.e. When the temporary hold was released.",
      "children": []
    },
    {
      "name": "wasRefunded",
      "kind": "optional",
      "type": "boolean",
      "description": "Boolean value indicating whether the payment has been refunded.",
      "children": []
    },
    {
      "name": "refundPaymentId",
      "kind": "optional",
      "type": "string",
      "description": "A UUID that identifies the refund transaction associated with the payment.",
      "children": []
    },
    {
      "name": "createdAt",
      "kind": "optional",
      "type": "string",
      "description": "When the payment was created",
      "children": []
    },
    {
      "name": "authorizedOn",
      "kind": "optional",
      "type": "string",
      "description": "When the payment was authorized by the issuing bank.",
      "children": []
    },
    {
      "name": "submittedOn",
      "kind": "optional",
      "type": "string",
      "description": "When the payment was submitted to the network.",
      "children": []
    },
    {
      "name": "rejectedAt",
      "kind": "optional",
      "type": "string",
      "description": "When the payment was rejected.",
      "children": []
    },
    {
      "name": "completedAt",
      "kind": "optional",
      "type": "string",
      "description": "When the payment was successfully completed.",
      "children": []
    },
    {
      "name": "failedAt",
      "kind": "optional",
      "type": "string",
      "description": "When the payment failed to process.",
      "children": []
    },
    {
      "name": "limitsEligibleOn",
      "kind": "optional",
      "type": "string",
      "description": "When the transaction becomes eligible for limit calculations.",
      "children": []
    },
    {
      "name": "lastModifiedAt",
      "kind": "optional",
      "type": "string",
      "description": "When the payment record was last modified.",
      "children": []
    }
  ],
  "hasTryItOut": false,
  "autoGeneratedAnchorSlug": "endpoint-v1payments",
  "legacyHash": "AhHh_9ZYMt-U1G3BS7Rdj"
}
```
:::

