checkout-payments
1
总安装量
1
周安装量
#52860
全站排名
安装命令
npx skills add https://github.com/santiagoxor/pintureria-digital --skill checkout-payments
Agent 安装分布
amp
1
opencode
1
cursor
1
codex
1
github-copilot
1
Skill 文档
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