Skip to main content
Crie ou atualize uma sessão de pagamento para um pedido Pending. A ação de pagamento acessará o canal de pagamento e poderá alterar o status do pedido; antes da chamada, é necessário confirmar o ID do pedido, o valor e o método de pagamento.

Visão geral da API

Limites do pagamento anônimo

O acesso anônimo é usado para cenários em que a sessão de login é perdida após abrir um link de pagamento copiado, não precisa nem deve transportar um Account Token de longa duração. Chamadas anônimas:
  • Permitem apenas métodos de pagamento hospedados com redirecionamento configurados pelo servidor;
  • Usam fixamente a página de pagamento para desktop;
  • Não podem resgatar pedidos de valor zero;
  • Estão sujeitas a limitação de taxa por IP e por pedido;
  • Retornam uma projeção mínima do pedido, sem incluir conta, Application ou metadata interna.
Chamadores autenticados devem ser o proprietário do pedido ou um superadministrador. Métodos que exigem contexto do usuário, como X402 e resgate de recompensas, não podem ser chamados anonimamente.

Exemplo de solicitação

Métodos de pagamento que exigem autenticação:
pay_way usa valores reais suportados pelo modelo de pedido, por exemplo WechatPay, AliPay, Stripe, Card, Airwallex, X402, PayPal, AppleIAP, Reward, BankTransfer. Nem todos os valores estão disponíveis para solicitações anônimas ou para todos os sites.

Descrição da resposta

A resposta bem-sucedida é o objeto de pedido atualizado, normalmente fornecendo o ponto de entrada para a próxima etapa por meio de pay_url; diferentes métodos de pagamento também podem retornar, em campos controlados, as informações necessárias para o cliente continuar o pagamento. Respostas anônimas usam uma lista mínima de campos permitidos, enquanto o proprietário autenticado obtém os detalhes completos. Não dependa de nomes de campos antigos como payment_url, qr_code_url ou payment_method; o contrato atual de Order usa pay_url e pay_way.

Compras no app iOS

O proprietário autenticado do pedido pode passar pay_way: "AppleIAP". Essa solicitação atualiza o pedido pendente com base em metadata.apple_price do plano selecionado e remove descontos, não gera cobrança, não concede créditos e não retorna um link de pagamento. Pedidos pendentes antigos devem primeiro concluir esta etapa e, em seguida, iniciar o pagamento nativo da Apple. Apenas um plano Usage com um produto Apple e preço configurados é compatível; planos não compatíveis ou pedidos em lote retornam 400. Após o pagamento nativo da Apple, envie transaction_id por meio de /api/v1/orders/{id}/apple-verify/ para concluir a verificação no servidor e a concessão de créditos. A quantidade de créditos vem do plano; o valor usa o preço predefinido independente em dólares americanos da Apple, sem acumular descontos de assinatura ou acréscimos do site, e o valor cobrado na moeda local em outras regiões prevalece conforme a página de confirmação da Apple.

Erros e tentativas

  • O pedido não está Pending: retorna 400; não crie repetidamente sessões de pagamento.
  • pay_way não foi fornecido: pedidos com valor diferente de zero retornam 400.
  • Uma chamada anônima usou um método não permitido ou um pedido de valor zero: retorna 403, faça nova tentativa como proprietário após fazer login.
  • Autenticado, mas não é o proprietário do pedido: retorna 403.
  • Falha do canal de pagamento: não reenvie cegamente; primeiro consulte os detalhes do pedido e tente novamente somente após confirmar que ele ainda está Pending.

APIs relacionadas