onramp-docs-cli
Version:
CLI tool to set up Onramp documentation and integration in your project
248 lines (207 loc) • 17.8 kB
Markdown
# Transaction Status & History
## Onramp Transaction Status
The Transaction Status API provides developers with a real time list of user Onramp transactions. Developers can poll the real time status of transactions and show users a view of their Coinbase Onramp transactions made within the client app.
To link all transactions created during the session, developers must provide the (optional) field `partnerUserId` as a query parameter when [initializing Coinbase Onramp](/onramp-&-offramp/onramp-apis/generating-onramp-url).
Transaction Status returns a paginated list of all transactions from newest to oldest. If the client app doesn’t have a concept of a user, clients can pass a random `partnerUserId` to reference a one-off session.
<Tip>
Full API endpoint list
For a complete list of all API endpoints supported by Onramp/Offramp, visit our [API Reference section](/api-reference/rest-api/onramp-offramp/get-onramp-transactions-by-id).
</Tip>
### Method
```
GET
```
### URL
```
https://api.developer.coinbase.com/onramp/v1/buy/user/{partner_user_id}/transactions?page_key={next_page_key}&page_size={page_size}
```
### Request Parameters
The Transaction Status API is an RPC endpoint that accepts an argument as part of its URL path.
| Name | Type | Req | Description |
| :---------------- | :----- | :-- | :---------------------------------------------------------------------------- |
| `partner_user_id` | String | Y | ID referring to user Onramp transactions in client app. |
| `page_key` | String | N | Reference to next page of transactions. Returned in previous page’s response. |
| `page_size` | Number | N | Number of transactions to return per page. Default is 1. |
### Response Fields
The Transaction Status API returns a JSON response including the following fields.
| Name | Description |
| :-------------- | :----------------------------------------------------------- |
| `transactions` | List of `OnrampTransactions` in reverse chronological order. |
| `next_page_key` | A reference to the next page of transactions. |
| `total_count` | The total number of transactions made by the user. |
#### Onramp Transaction Schema
| Name | Description | Value |
| :------------------ | :---------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |
| `status` | Status of the onramp transaction. | `ONRAMP_TRANSACTION_STATUS_IN_PROGRESS`<br />`ONRAMP_TRANSACTION_STATUS_SUCCESS`<br />`ONRAMP_TRANSACTION_STATUS_FAILED` |
| `purchase_currency` | Crypto currency being purchased. | String |
| `purchase_network` | Network used to deliver crypto to the user’s wallet. | String |
| `purchase_amount` | Amount of crypto currency being purchased. | String |
| `payment_total` | Total amount of fiat the user will pay. | String |
| `payment_subtotal` | Amount of fiat the user will pay, exclusive of fees | String |
| `coinbase_fee` | Amount of fiat charged to cover brokerage fees. | String |
| `network_fee` | Amount of fiat charged to cover network fees. | String |
| `exchange_rate` | Unit price of the crypto currency being purchased. | String |
| `country` | Country the user resides in. | String |
| `user_id` | Unique identifier representing the user. | String |
| `partner_user_ref` | `partner_user_ref` corresponds to the `partnerUserId` parameter if one was originally included in the Onramp URL. | String |
| `payment_method` | Type of payment method the user is paying with. | `CARD`<br />`ACH_BANK_ACCOUNT`<br />`APPLE_PAY`<br />`FIAT_WALLET`<br />`CRYPTO_WALLET`<br /> |
| `tx_hash` | The block hash of the onchain send. | String |
| `transaction_id` | Unique identifier for the onramp transaction | String |
| `wallet_address` | The address of the wallet the transaction was sent to. | String |
| `type` | The type of transaction. | `ONRAMP_TRANSACTION_TYPE_BUY_AND_SEND`<br />`ONRAMP_TRANSACTION_TYPE_SEND`<br /> |
### Example Request/Response
<Tabs>
<Tab value="bash" title="Request (cURL)">
```bash lines wrap
cdpcurl -k /tmp/cdp_api_key.json 'https://api.developer.coinbase.com/onramp/v1/buy/user/{partner_user_id}/transactions?page_key={next_page_key}&page_size={page_size}'
```
</Tab>
<Tab value="jsonResponse" title="Response 200 (JSON)">
```json lines wrap
{
"transactions": [
{
"status":"ONRAMP_TRANSACTION_STATUS_SUCCESS",
"purchase_currency": "USDC",
"purchase_network": "base",
"purchase_amount": {
"value": "5",
"currency": "USDC"
},
"payment_total": {
"value": "5.07",
"currency": "USD"
},
"payment_subtotal": {
"value": "5",
"currency": "USD"
},
"coinbase_fee": {
"value": "0",
"currency": "USD"
},
"network_fee": {
"value": "0.07",
"currency": "USD"
},
"exchange_rate": {
"value": "1",
"currency": "USDC"
},
"tx_hash": "0x31814ba2fef2a400a9816767370be09ca12d9e9753b972198fe330a0ecedcbf6",
"created_at": "2023-09-26T20:06:07.076Z",
"country": "US",
"user_id": "9f86d081884c7d659a2feaa0c55ad01",
"payment_method": "CARD",
"transaction_id": "1ee7a7ec-fdd1-6032-ad91-0e2bacb520d3"
}
],
"next_page_key":"eyJndF9za2lwIjowLCJvdF9za2lwIjoxfQ==",
"total_count":"3"
}
```
</Tab>
</Tabs>
## Onramp Transactions
The Transactions API provides clients with a historical list of Coinbase Onramp transactions between two dates.
Transactions returns a paginated list of all transactions from newest to oldest.
The Transactions API is indented for analytics purposes.
If you need real time information about a specific transaction, use the [Onramp Transaction Status API](#onramp-transaction-status).
<Tip>
Full API endpoint list
For a complete list of all API endpoints supported by Onramp/Offramp, visit our [API Reference section](/api-reference/rest-api/onramp-offramp/get-all-onramp-transactions).
</Tip>
### Method
```
GET
```
### URL
```
https://api.developer.coinbase.com/onramp/v1/buy/transactions?page_key={next_page_key}&page_size={page_size}&start_date={start_date}&end_date={end_date}
```
### Request Parameters
| Name | Type | Req | Description |
| :----------- | :----- | :-- | :---------------------------------------------------------------------------------------------------------------------------- |
| `page_key` | String | N | Reference to next page of transactions. Returned in previous page’s response. |
| `page_size` | Number | N | Number of transactions to return per page. Default is 1000. |
| `start_date` | String | N | The start date (inclusive) of the range of transactions to return. YYYY-MM-DD format. Default is one month before `end_date`. |
| `end_date` | String | N | The end date (exclusive) of the range of transactions to return. YYYY-MM-DD format. Default is tomorrow. |
### Response Fields
The Transaction API returns a JSON response including the following fields.
| Name | Description |
| :-------------- | :----------------------------------------------------------- |
| `transactions` | List of `OnrampTransactions` in reverse chronological order. |
| `next_page_key` | A reference to the next page of transactions. |
#### Onramp Transaction Schema
| Name | Description | Value |
| :------------------ | :---------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- |
| `status` | Status of the buy transaction. | `ONRAMP_TRANSACTION_STATUS_SUCCESS`<br />`ONRAMP_TRANSACTION_STATUS_FAILED` |
| `purchase_currency` | Crypto currency being purchased. | String |
| `purchase_network` | Network used to deliver crypto to the user’s wallet. | String |
| `purchase_amount` | Amount of crypto currency being purchased. | String |
| `payment_total` | Total amount of fiat the user will pay. | String |
| `payment_subtotal` | Amount of fiat the user will pay, exclusive of fees | String |
| `coinbase_fee` | Amount of fiat charged to cover brokerage fees. | String |
| `network_fee` | Amount of fiat charged to cover network fees. | String |
| `exchange_rate` | Unit price of the crypto currency being purchased. | String |
| `country` | Country the user resides in. | String |
| `user_id` | Unique identifier representing the user. | String |
| `partner_user_ref` | `partner_user_ref` corresponds to the `partnerUserId` parameter if one was originally included in the Onramp URL. | String |
| `payment_method` | Type of payment method the user is paying with. | `CARD`<br />`ACH_BANK_ACCOUNT`<br />`APPLE_PAY`<br />`FIAT_WALLET`<br />`CRYPTO_WALLET` |
| `tx_hash` | The block hash of the onchain send. | String |
| `transaction_id` | Unique identifier for the onramp transaction | String |
| `wallet_address` | The address of the wallet the transaction was sent to. | String |
| `type` | The type of transaction. | `ONRAMP_TRANSACTION_TYPE_BUY_AND_SEND`<br />`ONRAMP_TRANSACTION_TYPE_SEND`<br /> |
### Example Request/Response
<Tabs>
<Tab value="bash" title="Request (cURL)">
```bash lines wrap
cdpcurl -k /tmp/cdp_api_key.json 'https://api.developer.coinbase.com/onramp/v1/buy/transactions?page_key={next_page_key}&page_size={page_size}&start_date={start_date}&end_date={end_date}'
```
</Tab>
<Tab value="jsonResponse" title="Response 200 (JSON)">
```json lines wrap
{
"transactions": [
{
"status":"ONRAMP_TRANSACTION_STATUS_SUCCESS",
"purchase_currency": "USDC",
"purchase_network": "base",
"purchase_amount": {
"value": "5",
"currency": "USDC"
},
"payment_total": {
"value": "5.07",
"currency": "USD"
},
"payment_subtotal": {
"value": "5",
"currency": "USD"
},
"coinbase_fee": {
"value": "0",
"currency": "USD"
},
"network_fee": {
"value": "0.07",
"currency": "USD"
},
"exchange_rate": {
"value": "1",
"currency": "USDC"
},
"tx_hash": "0x31814ba2fef2a400a9816767370be09ca12d9e9753b972198fe330a0ecedcbf6",
"created_at": "2023-09-26T20:06:07.076Z",
"country": "US",
"user_id": "9f86d081884c7d659a2feaa0c55ad01",
"payment_method": "CARD",
"transaction_id": "1ee7a7ec-fdd1-6032-ad91-0e2bacb520d3",
"wallet_address": "0x3d7b51da8AA41270C6e052eE261db4514Ba4D50A"
}
],
"next_page_key":"eyJndF9za2lwIjowLCJvdF9za2lwIjoxfQ==",
}
```
</Tab>
</Tabs>