POC de pagamento dividido: pré-requisitos e configuração de ambiente
Conclua todas as etapas deste tutorial antes de executar qualquer um dos prompts de construção. A falta de uma única etapa é o motivo mais comum para o fluxo ser interrompido no meio do tutorial.
1. Requisitos do Adobe Commerce
- Adobe Commerce 2.4.5 ou posterior (local ou Commerce Cloud)
- Acesso Git ao projeto Commerce (você adiciona um módulo em
app/code/) - Acesso a Commerce Admin
Somente Commerce Cloud: habilitar eventos de E/S
Adicione o seguinte a .magento.env.yaml e implante antes de adicionar o módulo:
stage:
global:
ENABLE_EVENTING: true
Aviso: esta implantação deve ser concluída com êxito para que a dependência do módulo de Eventos de E/S possa ser resolvida.
2. Configuração de administração do Commerce
Faça essas etapas antes de qualquer outra coisa. O checkout do JavaScript depende das correspondências exatas da string.
2-A. Habilitar Pagamento na Entrega com o título exato
Stores > Configuration > Sales > Payment Methods > Cash On Delivery Payment
- Enabled: Sim
- Title:
Cash(esta cadeia de caracteres exata é a que o JavaScript de check-out corresponde)
Observação: se sua loja usar uma implementação ou um título diferente para pagamento na entrega (COD), ajuste
payment-method-helper.jsno módulo Commerce.
2-B. Habilitar crédito da loja
Stores > Configuration > Customers > Customer Configuration > Store Credit Options
- Enable Store Credit Functionality: Sim
2-C. Adicionar crédito da loja ao cliente de teste
Customers > All Customers > [seu cliente de teste] > Store Credit > Update Balance
Adicione pelo menos $50 ao crédito da loja. Você testará com um pedido abaixo de US$ 100 no total.
2-D Criar a integração do Commerce
System > Integrations > Add New Integration
-
Name:
Split Payment App Builder(ou qualquer nome que você preferir) -
Na guia API, conceda no mínimo:
Magento_Sales::actions(obrigatório para o ponto de extremidadecash-received)Magento_Sales::cancel(obrigatório para o ponto de extremidadecash-decline)- Gerenciamento de cotas ou carrinhos (completo ou um subconjunto relevante)
- Customer balance (completo ou um subconjunto relevante)
Selecione Save, depois Activate.
Copie todos os quatro valores; eles são mostrados apenas uma vez:
COMMERCE_CONSUMER_KEYCOMMERCE_CONSUMER_SECRETCOMMERCE_ACCESS_TOKENCOMMERCE_ACCESS_TOKEN_SECRETArmazene esses valores com segurança. Você precisa deles em cada arquivo do App Builder .env.
3. ADOBE DEVELOPER CONSOLE e APP BUILDER
- Acesso a uma organização da Adobe Developer Console
- Um projeto App Builder (novo ou um que você reutilize)
- Um espaço de trabalho configurado; os prompts presumem Stage
- Adobe I/O Events adicionado como um serviço ao espaço de trabalho
- Commerce conectado como provedor de eventos do espaço de trabalho
O código de evento usado na prova de conceito é: com.adobe.commerce.observer.sales_order_place_before
Se você não tiver conectado o Commerce como um provedor de eventos, consulte Configurar o Commerce para emitir eventos para o Adobe I/O no guia de Extensibilidade do Commerce.
4. Ambiente de desenvolvimento local
# Required versions
node --version # 18.x or later
npm --version # any recent version
# Adobe I/O CLI
npm install -g @adobe/aio-cli
# Authenticate
aio login
# Select your project and workspace
aio app use
# Confirm the org, project, and workspace shown are correct
5. Dois diretórios de projeto a conhecer
Este tutorial usa duas raízes de diretório separadas. Mantenha-os separados.
raiz do projeto Commerce (seu repositório Git Magento):
<commerce-root>/
└── app/code/Client/SplitPayment/ ← Module goes here
Raiz do projeto do App Builder (a pasta split-payment-orchestrator do pacote de origem ou um novo projeto que você cria):
split-payment-orchestrator/
├── app.config.yaml
├── package.json
├── .env ← Copy from .env.example, then fill in
└── actions/
6. entity_id comparada com increment_id
Sempre usar
entity_id(a ID do banco de dados numérico), nãoincrement_id(por exemplo000000042), em chamadas REST.
Localizar entity_id da URL do pedido Commerce Admin:
/admin/sales/order/view/order_id/42/ → entity_id = 42
Ou no script de simulação:
node scripts/simulate-split-payment.mjs show 42
7. O limite de $100
A interface de usuário de pagamento dividido e a proteção de limite direcionam pedidos $100.00 ou menos. O fluxo se comporta da seguinte maneira:
- A partir de US$ 100: a interface de pagamento parcelado aparece; o cliente pode definir uma divisão de crédito de depósito com caixa
- Acima de $100:
CheckoutPluginlança um erro na etapa de pagamento
Para testar, crie um carrinho cujo subtotal, remessa e imposto sejam menores ou iguais a US$ 100 (por exemplo, um produto abaixo de US$ 90, portanto, remessa e imposto ainda se encaixam no limite).
O limite é armazenado em:
- Configuração do Commerce:
split_payment/general/threshold(padrão100emetc/config.xml) - Ambiente do App Builder:
PAYMENT_THRESHOLD=100(deve corresponder ao Commerce)
8. Fastly (somente Commerce Cloud)
As ações do App Builder chamam o Commerce em REST (/rest/V1/split-payment/orders/...). Se o seu projeto do Commerce Cloud usar o Fastly com incluir na lista de permissões de IP, os endereços IP de saída em tempo de execução do App Builder deverão ser.
Como verificar: Execute primeiro o script de simulação (curl direto com assinatura OAuth). Se isso funcionar, mas a ação do App Builder retornar 403, o Fastly provavelmente está bloqueando a solicitação.
Use a documentação atual do Adobe para intervalos de IP de saída do App Builder e adicione-os à sua configuração do Fastly, conforme necessário.
Lista de verificação de verificação
Antes de iniciar os prompts de build, confirme o seguinte:
- [ A versão do Commerce ] é 2.4.5 ou posterior
- [ ] evento de E/S habilitado (Commerce Cloud) e implantado
- [ ] Pagamento na entrega habilitado com o título definido exatamente como
Cash - [ ] Crédito da loja habilitado
- [ ] O cliente de teste tem pelo menos US$ 50 de crédito de loja
- [ ] A integração do Commerce é criada e ativada, e todos os quatro valores OAuth são salvos
- [ ] O projeto do App Builder tem o serviço de Eventos de E/S e o provedor de eventos do Commerce configurados
- [ ]
aio loginestá concluído e o espaço de trabalho correto está selecionado comaio app use - [ ] Node.js 18 ou posterior está instalado e a CLI do
aioestá instalada - [ ]
.envarquivos são preparados por POC de pagamento dividido: referência de variáveis de ambiente (e seu pacote de origem, se você usar um)
Related split payment POC resources
- Criar uma POC de pagamento dividido: ferramentas do App Builder e da IA
- Criar uma POC de pagamento dividido: demonstração completa do App Builder
- POC de pagamento dividido: decisões de arquitetura e design
- POC de pagamento dividido: pré-requisitos e configuração de ambiente
- POC de pagamento dividido: referência de variáveis de ambiente
- Split payment POC: Commerce module AI prompt
- POC de pagamento dividido: prompt do App Builder orchestrator AI
- POC de pagamento dividido: prompt da IA de extensão da interface do usuário do Experience Cloud
- POC de pagamento dividido: guia de teste e verificação
- POC de pagamento dividido: próximas etapas após a prova de conceito
- Split payment POC: tutorial quick reference for authors