Download OpenAPI specification:
Payment processing endpoints via Demeter payment system
Process a payment transaction via Demeter payment system.
Required Headers:
X-Demeter-Base-Url: Demeter API base URLX-Demeter-Username: Demeter API usernameX-Demeter-Api-Key: Demeter API keyX-Merchant-Account-Global-Id: Merchant account GUID| X-Demeter-Base-Url required | string Example: https://demeter-api.bonterra.network Demeter API base URL |
| X-Demeter-Username required | string Demeter API username |
| X-Demeter-Api-Key required | string Demeter API key |
| X-Merchant-Account-Global-Id required | string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... Demeter merchant account GUID |
| confirmationTokenId required | string Stripe ConfirmationToken ID from PaymentElement |
| amount required | number <double> >= 0.01 Payment amount in specified currency |
| currency required | string Value: "USD" ISO 4217 currency code |
| paymentMethodType | string Default: "card" Enum: "card" "apple_pay" "google_pay" "us_bank_account" Type of payment method |
required | object Donor information. Supports two address formats: Format 1 (Flat): Address fields at donor level
Format 2 (Nested - Preferred): Address as nested object
|
| sourceId | string <= 100 characters Source system identifier |
| source | string <= 100 characters Alternative to sourceId - source system identifier |
| invoiceNumber | string <= 100 characters Invoice or reference number |
| merchantAccountId | string^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... Demeter merchant account GUID (optional, uses header value if not provided) |
| paymentId | string Payment transaction identifier |
| gatewayTransactionId | string Stripe PaymentIntent ID |
| status | string Enum: "completed" "pending" "failed" "cancelled" "Authorized" Payment status |
| amount | number <double> Payment amount |
| currency | string Currency code |
object | |
object | |
| invoiceNumber | string |
| source | string |
| createdAt | string <date-time> |
| demeterData | object Raw response from Demeter system |
{- "confirmationTokenId": "ctoken_1QaybcGgJgpo8mZyToken123456",
- "amount": 25,
- "currency": "USD",
- "paymentMethodType": "card",
- "donor": {
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@company.com",
- "phone": "+1234567890",
- "address": "123 Main Street",
- "city": "Springfield",
- "state": "IL",
- "zip": "62701",
- "country": "US"
}, - "sourceId": "cybergrants",
- "invoiceNumber": "CG-2024-001234"
}{- "paymentId": "txn_demeter_12345",
- "gatewayTransactionId": "pi_1QaybcGgJgpo8mZyPayment123",
- "status": "completed",
- "amount": 25,
- "currency": "USD",
- "paymentMethod": {
- "type": "card",
- "last4": "4242",
- "brand": "visa",
- "expiryMonth": 12,
- "expiryYear": 2025
}, - "donor": {
- "firstName": "string",
- "lastName": "string",
- "email": "string"
}, - "invoiceNumber": "string",
- "source": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "demeterData": { }
}Retrieve a list of payment transactions
| status | string Enum: "completed" "pending" "failed" "cancelled" Filter by payment status |
| limit | integer [ 1 .. 100 ] Default: 50 Number of items to return |
| offset | integer >= 0 Default: 0 Number of items to skip |
| paymentId | string Payment transaction identifier |
| gatewayTransactionId | string Stripe PaymentIntent ID |
| status | string Enum: "completed" "pending" "failed" "cancelled" "Authorized" Payment status |
| amount | number <double> Payment amount |
| currency | string Currency code |
object | |
object | |
| invoiceNumber | string |
| source | string |
| createdAt | string <date-time> |
| demeterData | object Raw response from Demeter system |
[- {
- "paymentId": "txn_demeter_12345",
- "gatewayTransactionId": "pi_1QaybcGgJgpo8mZyPayment123",
- "status": "completed",
- "amount": 25,
- "currency": "USD",
- "paymentMethod": {
- "type": "card",
- "last4": "4242",
- "brand": "visa",
- "expiryMonth": 12,
- "expiryYear": 2025
}, - "donor": {
- "firstName": "string",
- "lastName": "string",
- "email": "string"
}, - "invoiceNumber": "string",
- "source": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "demeterData": { }
}
]Retrieve merchant account details from Demeter system.
Required Headers:
X-Demeter-Base-Url: Demeter API base URLX-Demeter-Username: Demeter API usernameX-Demeter-Api-Key: Demeter API keyX-Merchant-Account-Global-Id: Merchant account GUID| X-Demeter-Base-Url required | string |
| X-Demeter-Username required | string |
| X-Demeter-Api-Key required | string |
| X-Merchant-Account-Global-Id required | string |
| merchantAccountId | string |
| merchantAccountName | string |
| status | string |
| supportedPaymentMethods | Array of strings |
| configuration | object |
{- "merchantAccountId": "string",
- "merchantAccountName": "string",
- "status": "string",
- "supportedPaymentMethods": [
- "string"
], - "configuration": { }
}Retrieve the status and details of a specific transaction.
Returns transaction timeline, payment method details, fees, and current status.
| transactionId required | string Example: txn_12345 The unique transaction identifier |
| status | string |
| timestamp | string <date-time> |
| operation | string |
object |
{- "status": "success",
- "timestamp": "2019-08-24T14:15:22Z",
- "operation": "GetTransactionStatus",
- "data": {
- "transactionId": "string",
- "status": "pending",
- "type": "payment",
- "amount": 0,
- "currency": "string",
- "timeline": [
- {
- "status": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "message": "string"
}
]
}
}Verify that the Payment API Lambda and Demeter integration are operational
| status | string |
| version | string |
| service | string |
{- "status": "ok",
- "version": "1.0.0",
- "service": "payments"
}