# Create Payment — QuickBooks

> Creates a payment. See the documentation

- Key: `quickbooks-create-payment`
- Type: Action (Write)
- Version: 0.0.12
- App: QuickBooks (`quickbooks`) — https://pipedream.com/apps/quickbooks.md
- This page (HTML): https://pipedream.com/apps/quickbooks/actions/create-payment
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/quickbooks/actions/create-payment/create-payment.mjs

## Description

Creates a payment. [See the documentation](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/payment#create-a-payment)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `totalAmount` | `string` | Yes | Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. E.g. 25.0 |
| `customerRefValue` | `string` | Yes | Reference to a customer or job Options are loaded from the connected account. |
| `currencyRefValue` | `string` | No | A three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on. This must be defined if multicurrency is enabled for the company. Multicurrency is enabled for the company if Preferences.MultiCurrencyEnabled is set to true. Read more about multicurrency support here. Required if multicurrency is enabled for the company. Options are loaded from the connected account. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "quickbooks",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "quickbooks-create-payment",
  arguments: {
    totalAmount: "Total Amount",
    customerRefValue: "Customer Reference",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "quickbooks-create-payment",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    quickbooks: { authProvisionId: "apn_xxxxxxx" },
    totalAmount: "Total Amount",
    customerRefValue: "Customer Reference",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "quickbooks-create-payment",
    "configured_props": {
      "quickbooks": { "authProvisionId": "apn_xxxxxxx" },
      "totalAmount": "Total Amount",
      "customerRefValue": "Customer Reference"
    }
  }'
```

---

- App: https://pipedream.com/apps/quickbooks.md · All apps: https://pipedream.com/apps
