Quando um pagamento é cancelado, a Xsolla envia detalhes da transação cancelada
em um webhook com o tipo refund para o URL do webhook.
O mecanismo de repetição do webhook depende de quem iniciou o reembolso:
5xx foi retornado, o webhook é reenviado em
intervalos crescentes. O número máximo de tentativas é 12 em até 48 horas a
partir da primeira tentativa.Para informações detalhadas sobre o processo de reembolso, consulte as instruções.
Aviso
O pagamento ainda será reembolsado ao usuário se todas as seguintes condições forem atendidas:
4xx foi retornado, ou nenhuma resposta foi recebida após todas as tentativas repetidas, ou um código de status 5xx foi retornado.Quando você salva o URL do webhook na Conta de Distribuidor, você também pode configurar o recebimento de informações adicionais nos webhooks.
Observação
Se você se registrou na Conta de Distribuidor no dia 22 de janeiro de 2025 ou antes, você encontrará as opções no seu projeto na seção Project settings > Webhooks > Testing > Payments > Advanced settings.
| Opção | Descrição |
|---|---|
| Exibir informações sobre transações pelos métodos de pagamento salvos | As informações são passadas nos seguintes parâmetros personalizados do webhook:
|
Códigos de reembolso:
| Código | Motivo | Descrição |
|---|---|---|
| 1 | Cancellation by the user request / the game request | Cancelamento iniciado a partir da Publisher Account. |
| 2 | Chargeback | Estorno de transação solicitado. |
| 3 | Integration error | Problemas na integração entre a Xsolla e o jogo. Recomendação: não adicione o usuário à lista de bloqueio. |
| 4 | Potential fraud | Suspeita de fraude. Recomendação: adicionar o usuário à lista de bloqueio. |
| 5 | Test payment | Transação de teste seguida de cancelamento. Recomendação: não adicione o usuário à lista de bloqueio. |
| 6 | User invoice expired | Invoice vencido (utilizado no modelo pós-pago). |
| 7 | Fraud notification from PS | Pagamento recusado pelo sistema de pagamento. Potencial fraude detectada pelo PS. Recomendação: adicionar o usuário à lista de bloqueio. |
| 8 | Cancellation by the PS request | Cancelamento solicitado pelo sistema de pagamento. Recomendação: não adicionar o usuário à lista de bloqueio. |
| 9 | Cancellation by the user request | O usuário não ficou satisfeito com o jogo ou a compra por qualquer motivo. Recomendação: não adicionar o usuário à lista de bloqueio. |
| 10 | Cancellation by the game request | Cancelamento solicitado pelo jogo. Recomendação: não adicionar o usuário à lista de bloqueio. |
| 11 | Account holder called to report fraud | O proprietário da conta afirma que não fez a transação. |
| 12 | Friendly fraud | Fraude amigável denunciada. |
| 13 | Duplicate | Duplique a transação para o mesmo invoice. |
| notification_type required | string Tipo de notificação. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Detalhes da transação (objeto). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
required | object Detalhes de pagamento (objeto). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| custom_parameters | object Seus parâmetros personalizados. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Dados da compra (objeto). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Detalhes do reembolso (objeto). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Configurações personalizadas do projeto (objeto). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object Dados do usuário (objeto). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Retorne para indicar o processamento bem-sucedido.
Retorne em caso de erro nas informações fornecidas (por exemplo, um parâmetro obrigatório ausente, falha na autorização, etc.).
Retorne para indicar erros temporários com seus servidores.
curl -v 'https://your.hostname/your/uri' \ -X POST \ -d '{ "notification_type": "refund", "settings": { "project_id": 18404, "merchant_id": 2340 }, "purchase": { "virtual_currency": { "name": "Coins", "quantity": 10, "currency": "USD", "amount": 100 }, "subscription": { "plan_id": "b5dac9c8", "subscription_id": "10", "date_create": "2014-09-22T19:25:25+04:00", "currency": "USD", "amount": 9.99 }, "checkout": { "currency": "USD", "amount": 50 }, "virtual_items": { "items": [ { "sku": "com.xsolla.item1", "amount": 1 } ], "currency": "USD", "amount": 50 }, "total":{ "currency": "USD", "amount": 200 } }, "user": { "ip": "127.0.0.1", "phone": "18777976552", "email": "email@example.com", "id": "1234567", "name": "Xsolla User", "country": "US" }, "transaction": { "id": 1, "external_id": 1, "dry_run": 1, "agreement": 1 }, "refund_details": { "code": 4, "reason": "Potential fraud" }, "payment_details": { "sales_tax": { "currency": "USD", "amount": 0 }, "direct_wht": { "currency": "USD", "amount": 0.70 }, "xsolla_fee": { "currency": "USD", "amount": "10" }, "payout": { "currency": "USD", "amount": "200" }, "payment_method_fee": { "currency": "USD", "amount": "20" }, "payment": { "currency": "USD", "amount": "230" }, "repatriation_commission": { "currency": "USD", "amount": 10 } } } }'
{- "error": {
- "code": "INCORRECT_AMOUNT",
- "message": "Incorrect amount"
}
}