Retorno do pagamento
O CobreDireto a cada mudança da transação irá chamar a campainha para verificar se o produto ainda está disponivel. Através da URL configurada no ‘behavior_data’ em ‘url_post_bell’ o CobreDireto envia via POST as seguintes informações:
- merchant - O código da loja no CobreDireto
- merch_ref - O código do pedido na loja
- id - O código do pedido no CobreDireto
| Campo | Descrição | Tipo | Tamanho | Comentário |
|---|---|---|---|---|
| campainha (Bell) | ||||
| merchant | Código da loja no CobreDireto | String Alfanumérico | 20 | |
| merch_ref | Código do pedido no sistema da loja. | String Alfanumérico | 20 | |
| id | ID CobreDireto do pedido | String Numérico | 18 | |
Com essas informações, deve ser gerado um XML avisando o CobreDireto se está tudo em ordem com os itens do pedido, caso contrário o CobreDireto irá cancelar o pagamento. No retorno deverá ser enviado um numero inteiro no status, onde 0 indica ’sucesso’ e qualquer outro numero indicará falha.
Segue o XML:
<bell> <status>Numero inteiro</status> <msg>Uma mensagem curta de até 256 caracteres</msg> </bell>
Probe
Ao receber a campainha você deverá fazer uma requisição SOAP, passando no parâmetro action o valor ‘probe’. O XML a ser enviado no parâmetro data terá o seguinte formato:
| Campo | Descrição | Tipo | Tamanho | Comentário |
|---|---|---|---|---|
| Return XML | ||||
| status | Código de status | String Numérico | 3 | Este status é da comunicação. Veja na Tabela de código de status |
| msg | Mensagem de status do pedido | String Alfanumérico | 256 | |
| url | URL de redirecionamento no caso de processamento assincrono. | String Alfanumérico | 256 | |
| id | ID CobreDireto do pedido | String Numérico | 18 | |
<probe> <merch_ref>Numero do pedido na loja</merch_ref> <id>Numero do pedido no CobreDireto</id> </probe>
O webservice retornará um XML, contendo o status do pedido naquele momento.
<probe>
<status>Status da comunicação, o status do pedido deve ser
visto dentro de order_data.bpag_data.status</status>
<msg></msg>
<order_data>
<bpag_data>
<status>Status do Pedido</status>
<msg></msg>
<url>URL para redirecionamento</url>
<id>Número do pedido no CobreDireto</id>
</bpag_data>
</order_data>
</probe>
| Status do Pedido | Descrição | |
|---|---|---|
| Código | Descrição | |
| 0 | Pago | Pedido pago com sucesso. |
| 1 | Não Pago | Comprador finaliza pagamento sem sucesso e o pedido é dado como terminado pela instituição financeira. |
| 2 | Inválido | Este status acontece quando a transação não pode mais ser processada pelo CobreDireto. Esta mudança pode ocorrer por regras da própria loja ou por ação manual via painel de controle do CobreDireto. |
| 3 | Cancelado (Estornado) | Pagamento cancelado. |
| 4 | Não Efetivado | Este é o status inicial do pedido. |
| 5 | Pendente de saldo | Ocorre quando o comprador não tem saldo suficiente em sua conta bancária. |
| 7 | Pendente de Pagamento | Ocorre quando a instituição financeira está aguardando o pagamento. Ocorre para métodos de pagamento via boleto ou para débito Real entre as 0h e 7h. |
| 10 | Pago Parcialmente | Ocorre quando o comprador pagou valor inferior ao valor total do pedido. Geralmente isto ocorre quando o usuário tenta fraudar o pagamento de boletos ou quando o usuário capturar a transação para ele seja efetivamente cobrada. |
