Xsolla-logo
  • Documentação
  • Criar conta

Successful payment for order (with payment and transaction details)Webhook POST

A Xsolla envia o webhook order_paid para o URL especificado quando o usuário paga pelo pedido com sucesso.

O webhook order_paid contém informações sobre os itens comprados, dados de pagamento e os detalhes da transação.

O webhook order_paid não é enviado se o pagamento não for bem- sucedido. Por exemplo:

  • o formulário de pagamento foi aberto, mas o usuário não pagou pelo pedido
  • o formulário de pagamento foi aberto, mas houve erros durante o pagamento

Recomenda-se que o tempo de processamento do webhook order_paid seja inferior a 3 segundos.

As respostas esperadas são descritas na seção Respostas. Você pode usar outros códigos de resposta. Dependendo do código da resposta e a conexão da funcionalidade de reembolso automático do pagamento, a lógica de processamento do webhook no lado da Xsolla funciona como a seguir:

Código de resposta Reembolso automático de pagamento está desativado (por padrão) Reembolso automático de pagamento está ativado
400, 401, 402, 403, 404, 409, 422, 415 Nenhuma ação Reembolso automático ao usuário
200, 201, 204 Nenhuma ação Nenhuma ação
Código diferente ou nenhuma resposta ao webhook Múltiplos webhooks são enviados dentro de um intervalo de tempo específico: 2 tentativas dentro de um intervalo de 5 minutos, 7 tentativas dentro de um intervalo de 15 minutos, 10 tentativas de dentro de um intervalo de 60 minutos. Múltiplos webhooks são enviados dentro de um intervalo de tempo específico: 2 tentativas dentro de um intervalo de 5 minutos, 7 tentativas dentro de um intervalo de 15 minutos, 10 tentativas de dentro de um intervalo de 60 minutos. Se todos os webhooks forem enviados mas não for recebida uma resposta bem-sucedida, um reembolso automático é emitido ao usuário.

Para conectar a funcionalidade de reembolso automático, entre em contato com seus Gerentes de Sucesso do Cliente ou envie um e-mail para csm@xsolla.com.

Request
Request Body schema: application/json
notification_type
required
string

Tipo de notificação.

required
Array of version = 1 (object) or version = 2 (object)

Lista de itens comprados pelo usuário.

The set of parameters included in the array depends on the webhook version. Version 2 includes additional parameters: is_free, is_bonus, and is_bundle_content. To switch the version, pass its number in the version parameter in the Update information about webhook settings API call.

Array
One of:
sku
required
string

ID do item único. Para itens com o tipo game_key, é usado um valor no formato sku_drm.

type
required
string

Tipo de itens. Ele pode ter os seguintes valores: virtual_good, virtual_currency, game_key, bundle. Para itens de tipo bundle, incluindo pacotes de moedas virtuais, a matriz de itens exibirá:

  • parâmetros do conjunto ou pacote de moedas virtuais
  • itens incluídos no conjunto ou moedas incluídas no pacote
Enum: "virtual_good" "virtual_currency" "game_key" "bundle"
quantity
required
integer

Quantidade de itens.

amount
required
string

Custo total dos itens com base na quantidade.

required
Array of objects

Promoções aplicadas. Se uma promoção não foi aplicada, é passada uma matriz vazia no parâmetro.

Array
amount_with_discount
string

Custo total dos itens com desconto.

amount_without_discount
string

Custo total dos itens sem desconto.

sequence
integer

Ordem de aplicação de promoções.

is_pre_order
required
boolean

Se true, o item está em pré-venda.

custom_attributes
object

Um objeto JSON contendo atributos e valores de item.

required
object

Informações sobre o pedido.

id
required
integer

Identificador exclusivo do pedido do usuário no lado da Xsolla.

mode
required
string

Modalidade de pagamento. default é usado para pagamentos reais; sandbox para pagamentos de testes.

Enum: "default" "sandbox"
currency_type
required
string

Tipo de moeda de pagamento. Para pedidos grátis, é especificado o valor unknown.

Enum: Description
real

por moeda real

unknown

para um pedido grátis

virtual

por moeda virtual

currency
required
string

Moeda de ordem. A moeda virtual usa o SKU e a moeda real usa um código ISO 4217 de três letras.

amount
required
string

O custo total de um carrinho com base na moeda escolhida.

status
required
string

Status do pedido.

platform
required
string or null

Plataforma de pagamento. O valor xsolla é usado para pagamentos via Xsolla. Para outros pagamentos, é utilizado o valor correspondente ao nome da plataforma de publicação de jogos.

Enum: "xsolla" "playstation_network" "xbox_live" "pc_standalone" "nintendo_shop" "google_play" "app_store_ios" "android_standalone" "ios_standalone" "android_other" "ios_other" "pc_other"
comment
required
string or null

Comentário do usuário ao pedido.

invoice_id
required
string or null

ID da fatura de pagamentos em moeda real. Pagamentos em moedas virtuais ou itens grátis têm um valor null.

required
Array of objects

Promoções aplicadas. Se uma promoção não foi aplicada, é passada uma matriz vazia no parâmetro.

Array
amount_with_discount
string

Custo total dos itens com desconto.

amount_without_discount
string

Custo total dos itens sem desconto.

sequence
integer

Ordem de aplicação de promoções.

Array of objects

Cupons aplicados. Se o cupom não for aplicado, a matriz não retornará.

Array
code
string

O código de um cupom aplicado.

external_id
string

ID externo.

Array of objects

Códigos promocionais aplicados. Se o código promocional não for aplicado, a matriz não retornará.

Array
code
string

O código de um código promocional aplicado.

external_id
string

ID externo.

required
object

Informações do usuário.

external_id
required
string

ID de usuário.

email
required
string

Endereço de e-mail do usuário.

object

Detalhes da transação e do pagamento.

notification_type
required
string

Tipo de notificação.

required
object

Detalhes da transação (objeto).

agreement
integer

ID do contrato.

dry_run
integer

Transação de teste. O parâmetro tem valor 1 se for uma transação de teste ou não for enviado se a transação for real.

external_id
string

ID de transação externo. Consulte o FAQs para saber mais.

id
integer

ID de transação.

payment_date
string

Data de pagamento.

payment_method
integer

ID de método de pagamento.

payment_method_name
string

Nome do método de pagamento.

payment_method_order_id
string

ID de pagamento no sistema de pagamento.

required
object

Detalhes de pagamento (objeto).

object

Imposto retido na fonte aplicado em países específicos devido a transações internacionais (objeto).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

percent
number <float>

Taxa de retenção na fonte do país, %.

object

Imposto retido direto na fonte.

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

percent
number <float>

Alíquota de retenção direta na fonte.

object

Valor pago pelo usuário (objeto).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Taxa do sistema de pagamento.

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Valor debitado do sistema de pagamento.

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Dados de pagamento (objeto).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

payout_currency_rate
string

Taxa de câmbio entre as moedas de pagamento e remuneração.

object

Objeto com dados sobre os custos de repatriamento, imposto à Xsolla por terceiros.

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Imposto sobre vendas (objeto; apenas EUA e Canadá).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

percent
number <float>

Alíquota de imposto sobre vendas.

object

Valor total das taxas de aquisição de usuários deduzidas para as compras feitas por meio de redes afiliadas e influenciadores (objeto).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

percent
number <float>

Proporção de taxa de aquisição de usuários, %.

object

Dados do IVA (objeto; apenas na UE).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

percent
number <float>

Taxa de IVA.

object

Valor debitado do saldo Xsolla.

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Taxa Xsolla (objeto).

amount
number <float>

Quantia.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Dados da compra (objeto).

required
object

Preço total de compra (objeto).

amount
number <float>

Valor total do pagamento.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

object

Dados do cupom (objeto; se um cupom foi usado ao criar a assinatura).

campaign_code
string

Código da campanha.

coupon_code
string

Código de cupom.

object

Detalhes do presente (objeto).

giver_id
string

ID do doador.

hide_giver_from_receiver
string

Se a identidade do doador deve ou não ser ocultada do recipiente.

message
string

Mensagem do doador.

receiver_email
string

E-mail do recipiente do presente.

receiver_id
string

ID do recipiente do presente.

Array of objects

Promoções aplicadas a esta transação.

Array
id
integer

ID da promoção.

technical_name
string

Nome técnico da promoção.

object

Dados da assinatura (objeto).

amount
number <float>

Preço em moeda real.

currency
string

Moeda. Código da moeda de três letras de acordo com o ISO 4217.

date_create
string

Data de criação da assinatura. Data e hora de acordo com o ISO 8601.

date_next_charge
string

Data da próxima cobrança. Data e hora de acordo com o ISO 8601.

plan_id
string

ID do plano (externo se o plano foi criado via API).

product_id
string

ID do produto (se enviado no token de acesso).

subscription_id
integer

ID de assinatura no banco de dados Xsolla.

tags
Array of strings

Rótulos do plano.

object

Configurações personalizadas do projeto (objeto).

merchant_id
integer

ID de comerciante.

project_id
integer

ID do projeto. Você pode encontrar esse parâmetro em sua Conta de Distribuidor ao lado do nome do projeto.

custom_parameters
object

Informações adicionais.

Responses
200

Retorne para indicar o processamento bem-sucedido.

400

Retorne em caso de erro nas informações fornecidas (por exemplo, um parâmetro obrigatório ausente, falha na autorização, etc.).

Request samples
curl -v 'https://your.hostname/your/uri' \
-X POST \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Signature d09695066c52c1b8bdae92f2d6eb59f5b5f89843' \
-d '{
    "notification_type": "order_paid",
    "items": [
      {
        "sku": "com.xsolla.item_1",
        "type": "virtual_good",
        "is_pre_order": false,
        "quantity": 3,
        "amount": "1000",
        "promotions": [
          {
            "amount_without_discount": "6000",
            "amount_with_discount": "5000",
            "sequence": 1
          },
          {
            "amount_without_discount": "5000",
            "amount_with_discount": "4000",
            "sequence": 2
          }
        ],
        "custom_attributes":
          {
            "purchased": 0,
            "attr": "value"
          }
      },
      {
        "sku": "com.xsolla.item_new_1",
        "type": "bundle",
        "is_pre_order": false,
        "quantity": 1,
        "amount": "1000",
        "promotions": []
      },
      {
        "sku": "com.xsolla.gold_1",
        "type": "virtual_currency",
        "is_pre_order": false,
        "quantity": 1500,
        "amount": "[null]",
        "promotions": []
      }
    ],
    "order": {
      "id": 1,
      "mode": "default",
      "currency_type": "virtual",
      "currency": "sku_currency",
      "amount": "2000",
      "status": "paid",
      "platform": "xsolla",
      "comment": null,
      "invoice_id": "1",
      "promotions": [
        {
          "amount_without_discount": "4000",
          "amount_with_discount": "2000",
          "sequence": 1
        }
      ],
      "promocodes": [
        {
          "code": "promocode_some_code",
          "external_id": "promocode_sku"
        }
      ],
      "coupons": [
        {
          "code": "WINTER2021",
          "external_id": "coupon_sku"
        }
      ]
    },
    "user": {
      "external_id": "id_xsolla_login_1",
      "email": "gc_user@xsolla.com"
    },
    "billing": {
      "notification_type": "payment",
      "settings": {
        "project_id": 18404,
        "merchant_id": 2340
      },
      "purchase": {
          "subscription": {
              "plan_id": "b5dac9c8",
              "subscription_id": "10",
              "product_id": "Demo Product",
              "date_create": "2014-09-22T19:25:25+04:00",
              "date_next_charge": "2014-10-22T19:25:25+04:00",
              "currency": "USD",
              "amount": 9.99
          },
          "total": {
              "currency": "USD",
              "amount": 200
          },
          "promotions": [{
              "technical_name": "Demo Promotion",
              "id": 853
          }],
          "coupon": {
              "coupon_code": "ICvj45S4FUOyy",
              "campaign_code": "1507"
          },
      "transaction": {
          "id": 1,
          "external_id": 1,
          "payment_date": "2014-09-24T20:38:16+04:00",
          "payment_method": 1,
          "payment_method_name": "PayPal",
          "payment_method_order_id": 1234567890123456789,
          "dry_run": 1,
          "agreement": 1
      },
      "payment_details": {
          "payment": {
              "currency": "USD",
              "amount": 230
          },
          "vat": {
              "currency": "USD",
              "amount": 0,
              "percent": 20
          },
          "sales_tax": {
              "currency": "USD",
              "amount": 0,
              "percent": 0
          },
          "direct_wht": {
              "currency": "USD",
              "amount": 0,
              "percent": 0
          },
          "payout_currency_rate": "1",
          "payout": {
              "currency": "USD",
              "amount": 200
          },
          "country_wht": {
              "currency": "USD",
              "amount": 2,
              "percent": 10
          },
          "user_acquisition_fee": {
              "currency": "USD",
              "amount": 2,
              "percent": 1
          },
          "xsolla_fee": {
              "currency": "USD",
              "amount": 10
          },
          "payment_method_fee": {
              "currency": "USD",
              "amount": 20
          },
          "repatriation_commission": {
              "currency": "USD",
              "amount": 10
          }
      },
      "custom_parameters": {
          "parameter1": "value1",
          "parameter2": "value2"
          }
      }
   }
}'