Confirmation
POST
/api/v1/customer-payment-confirmationConfirms an external payment for a case. Records payment details such as amount, date, and status for payments processed outside of CareValidate.
cv-api-key
Production
https://api.care360-next.carevalidate.com/api/v1/customer-payment-confirmationStaging
https://api-staging.care360-next.carevalidate.com/api/v1/customer-payment-confirmationRequest Body
Body Parameters
caseIdstringrequiredCare Validate system Case ID
Example:
abc123-def456-ghi789emailstringoptionalThe email address of the case submitter
Example:
user@example.comphoneNumberstringoptionalThe phone number of the case submitter
Example:
+1404567890decisionIdstringoptionalCase Approval Decision ID
Example:
dec-123-456amountnumberrequiredAmount of the payment (e.g. 50)
Example:
50descriptionstringoptionalDescription of the payment (e.g. Payment for Compounded Semaglutide)
Example:
Payment for Compounded SemaglutidepaymentDatestringrequiredPayment date in ISO format YYYY-MM-DD (e.g. 2025-01-01)
Example:
2025-01-01statusstringrequiredPayment status
Example:
PAIDValues:PAIDUNPAIDCANCELEDIN_DISPUTELOST_DISPUTEREFUNDERROR
validUntilstringrequiredPayment validity end date in ISO format YYYY-MM-DD (e.g. 2025-02-01)
Example:
2025-02-01idempotencyKeystringoptionalOptional unique key to prevent duplicate payment confirmation. Scoped per organization.
Request Examples
- cURL
- JavaScript
- Python
curl -X POST "https://api.care360-next.carevalidate.com/api/v1/customer-payment-confirmation" \
-H "Content-Type: application/json" \
-H "cv-api-key: YOUR_SECRET_KEY_HERE" \
-d '{
"caseId": "your-case-id",
"decisionId": "your-decision-id",
"amount": 50,
"paymentDate": "2025-01-01",
"validUntil": "2025-02-01",
"status": "PAID",
"description": "Payment for Compounded Semaglutide",
"idempotencyKey": "unique-payment-key-123"
}'
const response = await fetch(
"https://api.care360-next.carevalidate.com/api/v1/customer-payment-confirmation",
{
method: "POST",
headers: {
"cv-api-key": "YOUR_SECRET_KEY_HERE",
"Content-Type": "application/json",
},
body: JSON.stringify({
caseId: "your-case-id",
decisionId: "your-decision-id",
amount: 50,
paymentDate: "2025-01-01",
validUntil: "2025-02-01",
status: "PAID",
description: "Payment for Compounded Semaglutide",
idempotencyKey: "unique-payment-key-123",
}),
}
);
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://api.care360-next.carevalidate.com/api/v1/customer-payment-confirmation",
headers={
"cv-api-key": "YOUR_SECRET_KEY_HERE",
"Content-Type": "application/json",
},
json={
"caseId": "your-case-id",
"decisionId": "your-decision-id",
"amount": 50,
"paymentDate": "2025-01-01",
"validUntil": "2025-02-01",
"status": "PAID",
"description": "Payment for Compounded Semaglutide",
"idempotencyKey": "unique-payment-key-123",
},
)
data = response.json()
print(data)
Try It Out
Try itAPI Playground
▶Responses
▶200SuccessPayment confirmation processed successfully
{
"status": 200,
"success": true
}
▶409ConflictA record with the provided idempotencyKey already exists for this organization.
{
"status": 409,
"success": false,
"code": "IDEMPOTENCY_ERROR",
"description": "A record with the provided idempotencyKey already exists for this organization."
}