Appearance
TransactCore Payment API
The TransactCore Payment API enables you to integrate Stripe-powered checkout into your ecommerce applications. It handles payment intent creation, Stripe configuration, and payment lifecycle management through Stripe Connect.
Overview
TransactCore provides a simple REST API for ecommerce payment processing:
- Stripe Config - Retrieve publishable keys and connected account IDs for Stripe.js initialization
- Payment Intents - Create, check, and cancel payment intents
- Stripe Connect - Multi-location payment routing through Stripe Connect accounts
- PCI Compliance - All card data handled by Stripe Elements, keeping your app out of PCI scope
Payment Flow
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Your Backend │ │ TransactCore │ │ Stripe │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
│ GET /config/stripe │ │
│──────────────────────>│ │
│ publishable_key, │ │
│ stripe_account_id │ │
│<──────────────────────│ │
│ │ │
│ ┌────────────┐ │
│ │ Frontend │ │
│ │ loads │ │
│ │ Stripe.js │ │
│ └────────────┘ │
│ │ │
│ POST /payment-intents│ │
│──────────────────────>│ Create PaymentIntent │
│ │──────────────────────>│
│ │ client_secret │
│ │<──────────────────────│
│ client_secret │ │
│<──────────────────────│ │
│ │ │
│ ┌────────────┐ │
│ │ Frontend │ │
│ │ confirms │──────────────>│
│ │ payment │ Card payment │
│ │ via │<──────────────│
│ │ Stripe.js │ Result │
│ └────────────┘ │Base URLs
| Environment | URL |
|---|---|
| Staging | https://api-staging.transactcore.retailsuccessplatform.com/api/v1/ecommerce |
| Production | https://api.transactcore.retailsuccessplatform.com/api/v1/ecommerce |
Quick Start
1. Get Stripe Config
Retrieve the Stripe publishable key needed to initialize Stripe.js on the client:
bash
curl https://api.transactcore.retailsuccessplatform.com/api/v1/ecommerce/config/stripe \
-H "Authorization: Bearer ${TOKEN}"Response:
json
{
"publishable_key": "pk_live_xxxxx",
"stripe_account_id": "acct_xxxxx"
}2. Create a Payment Intent
Create a PaymentIntent to get the client_secret for Stripe.js:
bash
curl -X POST https://api.transactcore.retailsuccessplatform.com/api/v1/ecommerce/payment-intents \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"organization_id": "org_00000k1L2m3N4o5",
"amount": 3420,
"currency": "usd"
}'Response:
json
{
"client_secret": "pi_3abc123_secret_xyz789",
"payment_intent_id": "pi_3abc123",
"publishable_key": "pk_live_xxxxx",
"amount": 3420,
"currency": "usd"
}3. Confirm Payment on the Client
Use the client_secret with Stripe.js to collect and confirm the payment:
javascript
const stripe = await loadStripe(publishableKey);
const { error, paymentIntent } = await stripe.confirmPayment({
elements,
clientSecret: client_secret,
redirect: 'if_required',
});Authentication
| Endpoint | Scope | Rate Limit |
|---|---|---|
| Stripe Config | transactcore:payment-intents.read | 100/min per IP |
| Connected Account | transactcore:connected-accounts.read | 100/min per IP |
| Create Payment Intent | transactcore:payment-intents.create | 100/min per IP |
| Get Payment Intent | transactcore:payment-intents.read | 100/min per IP |
| Cancel Payment Intent | transactcore:payment-intents.create | 100/min per IP |
All endpoints require an OAuth 2.0 Bearer token from the Identity API.
Available Scopes
| Scope | Description |
|---|---|
transactcore:payment-intents.read | Get Stripe config and check payment intent status |
transactcore:payment-intents.create | Create and cancel payment intents |
transactcore:connected-accounts.read | Look up connected account by organization |
Use Cases
Ecommerce Checkout
Build a checkout page with Stripe Elements:
- Fetch Stripe config from TransactCore
- Initialize Stripe.js with the publishable key
- Mount Payment Element for card collection
- Create a PaymentIntent via your backend
- Confirm the payment with Stripe.js
- Submit the order with the successful payment_intent_id
Multi-Location Stripe Connect
Route payments to location-specific Stripe Connect accounts:
- Pass
connected_account_idwhen fetching Stripe config - Receive the
stripe_account_idfor the location - Use
on_behalf_ofin Stripe Elements for Connect mode - Payment is routed to the correct connected account
Next Steps
- Getting Started - Detailed setup guide
- Authentication - OAuth setup and scopes
- Stripe Config Reference - Config endpoint details
- Connected Account Reference - Look up connected account by organization
- Payment Intents Reference - Payment intent lifecycle
- JavaScript Example - Full Stripe.js integration
Changelog
| Date | Change |
|---|---|
| 2026-03-19 | Added connected account lookup endpoint and fixed scope format. |
| 2026-03-19 | Initial publication. |