checkout-payments
SKILL.md
Checkout and Payments
Quick Start
When working with checkout:
- Validate cart data before creating order
- Validate shipping address
- Create order in database
- Integrate with MercadoPago
- Handle payment webhooks
- Update order status
Key Files
src/app/checkout/- Checkout pagessrc/components/Checkout/- Checkout componentssrc/lib/integrations/mercadopago/- MercadoPago integrationsrc/lib/business/orders/- Order logicsrc/hooks/useCheckout.ts- Checkout hook
Common Patterns
Create Order
import { createOrder } from '@/lib/business/orders/order-service';
import { createPayment } from '@/lib/integrations/mercadopago';
export async function POST(request: NextRequest) {
const { items, shippingAddress, paymentMethod } = await request.json();
const order = await createOrder({
items,
shippingAddress,
status: 'pending_payment',
});
const payment = await createPayment({
transaction_amount: order.total,
description: `Orden #${order.id}`,
payer: {
email: order.customer_email,
},
});
await updateOrder(order.id, {
payment_id: payment.id,
payment_status: 'pending',
});
return NextResponse.json({ order, payment });
}
Validate Address
import { validateAddress } from '@/lib/business/logistics/address-validation';
const validation = await validateAddress({
street: 'Av. Corrientes 1234',
city: 'Buenos Aires',
postalCode: 'C1043AAX',
country: 'AR',
});
if (!validation.isValid) {
return { errors: validation.errors };
}
MercadoPago Wallet
import { initMercadoPago, Wallet } from '@mercadopago/sdk-react';
function CheckoutPayment() {
const [paymentData, setPaymentData] = useState(null);
useEffect(() => {
initMercadoPago('YOUR_PUBLIC_KEY');
}, []);
return (
<Wallet
initialization={{ preferenceId: paymentData?.preference_id }}
onSubmit={onSubmit}
/>
);
}
Order States
pending_payment- Waiting for paymentpaid- Paidprocessing- Processingshipped- Shippeddelivered- Deliveredcancelled- Cancelledrefunded- Refunded
Weekly Installs
32
Repository
santiagoxor/pin…-digitalFirst Seen
Feb 6, 2026
Security Audits
Installed on
amp32
github-copilot32
codex32
kimi-cli32
gemini-cli32
cursor32