NAV Navigation
Shell HTTP JavaScript Node.JS Ruby Python Java Go

Rakuten Pay API v1.0.0

Use o scroll para exemplos de código, exemplos de requests e responses. Selecione uma linguagem para os exemplos de código usando as tabs acima ou o menu mobile de navegação.

Bem-vindo a documentação do RakutenPay. Mostraremos aqui as informações necessárias para integrar uma Loja com o sistema RakutenPay, a partir do uso da API pública. Sinta-se a vontade em sugerir alterações e melhorias em nossa API ou documentação através do nosso contato suporte@rakutenpay.com.br

Guias

Criando a primeira cobrança

Exemplo de código

curl https://api-staging.rakutenpay.com.br/v1/charges \
     -X POST \
     -u {{usuário}}:{{senha}}
 -d ' {
    "reference": "02C1712161498",
    "amount": 50.00,
    "currency": "BRL",
    "webhook_url": "http://requestb.in/1dvzo411",
    "merchant": {
      "merchant_id": "ECD3FE36-E806-4752-9940-6FBAB827CE61",
      "seller_id": "639A3803-40DB-4DF8-9251-AC60C14741A4",
      "document": "90811115909"
    },
    "commissionings": [
        {
          "kind": "shipping_fee",
          "value": 0.0,
          "amount": 20.00
        }
    ],
    "payments": [
      {
        "reference": "1",
        "method": "credit_card",
        "amount": 50.00,
        "installments_quantity": 5,
        "brand": "visa",
        "token": "b3RvM2FEeUlSM1pKYkh6UGdQbUZmUk0zWk1HdjhBUWc1OFFzTllvczdReTN4MEh1UkdlOFRrVjlPMWRORU1Sbw==",
        "cvv": "YjA3YzY5NGMzYzQxMDJiODZkZDdlZTkzYTUwNGNhMmVmOHY1bnpZNFpYZFJLNlVSd2Rqa2h3PT0=",
        "holder_name": "",
        "holder_document": "",
        "options": {
          "save_card": true,
          "new_card": false
        }
      }
    ],
    "points": {
      "account_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
      "earned": 2400.0,
      "currency": "RSP"
    },
    "customer": {
      "rakuten_id": "OPTIONAL-GUID-0420",
      "document": "12345678909",
      "name": "Roberwaldison dos Santos",
      "business_name": "Roberwaldison dos Santos",
      "email": "roberwaldison@rakuten.com.br",
      "birth_date": "1988-12-22",
      "gender": "m",
      "kind": "personal",
      "addresses": [
        {
          "kind": "shipping",
          "street": "Avenida Francisco Matarazzo",
          "number": "1500",
          "complement": "Casa 212 fgdgdgd",
          "district": "Agua Branca",
          "city": "Sao Paulo",
          "state": "SP",
          "zipcode": "05001-100",
          "contact": "Laurice Noronha",
          "country": "BR"
        },
        {
          "kind": "billing",
          "street": "Rua Rui Barbosa",
          "number": "Teste",
          "complement": "teste",
          "district": "Costa e Silva",
          "city": "Joinville",
          "state": "SC",
          "zipcode": "89220-100",
          "contact": "Laurice Noronha",
          "country": "BR"
        }
      ],
      "phones": [
        {
          "kind": "shipping",
          "reference": "mobile",
          "number":
            {
              "country_code": "55",
              "area_code": "11",
              "number": "945858658"
            }
        },
        {
          "kind": "billing",
          "reference": "home",
          "number":
            {
              "country_code": "55",
              "area_code": "11",
              "number": "45858658"
            }
        }
      ]
    },
    "order": {
      "payer_ip": "177.43.228.50",
      "items_amount": 50.00,
      "shipping_amount": 20.00,
      "shipping_time": 2,
      "taxes_amount": 0.0,
      "discount_amount": 0.0,
      "created_at": "2016-02-16T14:24:38-02:00",
      "items": [
        {
          "reference": "optional",
          "description": "Camiseta sem SKU com Imagem",
          "amount": 30.0,
          "quantity": 1,
          "total_amount": 30.0,
          "categories": [
            {
              "id": "6546546",
                "name": "Notebook"
            }
          ]
        }
      ]
    }
  }'

Response (200)

{
  "charge_uuid": "57458f4b-317f-45ad-a57b-7c84fbf115bc",
  "payments": [
    {
      "amount": 50.0,
      "credit_card": {
        "authorization_code": "E23448",
        "nsu": "1652843385",
        "number": "514029******4499",
        "processor": "elavon",
        "tid": "1652843385"
      },
      "method": "credit_card",
      "reference": "2",
      "result": "success",
      "result_messages": []
    }
  ],
  "reference": "02C1712161498",
  "result": "success",
  "result_messages": []
}

O usuário Roberwaldison dos Santos deseja comprar o produto Camiseta sem SKU com Imagem, no valor de R$ 30,00 em 5 vezes no cartão de crédito, pagando R$ 20,00 de frete.

Para passar essa transação na API Rakuten Pay, precisamos montar uma requisição de criação de cobrança. Basta copiar a requisição de exemplo e apontar para o nosso ambiente de staging, fazendo uma chamada POST para o endpoint /v1/charges, passando o usuário e senha do Basic Auth.

Caso a criação tenha sido bem sucedida uma resposta 200 será retornada, como no exemplo de resposta apresentado.

Parabéns sua primeira transação foi criada usando a API do RakutenPay!

Autenticação

Exemplo de Basic Authentication como cabeçalho

Authorization: Basic am9lLWRvZS1pZDpqb2UtZG9lLXBhc3N3b3Jk

Qualquer chamada à API deve ser autenticada através do método Basic Authentication, que deve ser feito adicionando um cabeçalho na requisição com a combinação de identificação da conta e senha codificados em base64.

Tome por exemplo uma conta com identificação de usuário joe-doe-id e senha joe-doe-password, combina-se estes valores: joe-doe-id:joe-doe-password e aplica-se a codificação base64 obtendo: am9lLWRvZS1pZDpqb2UtZG9lLXBhc3N3b3Jk que é utilizado no exemplo de cabeçalho.

Geração de token

O client rpay.js é uma biblioteca javascript responsável pela geração de fingerprints e tokenização de cartões de crédito.

Deve ser incluída nas páginas de fechamento de pedido a fim de gerar os dados necessários no navegador do cliente, para posterior criação da cobrança.

Ambientes do rpay.js

Ambiente URL
Sandbox https://static.rakutenpay.com.br/rpayjs/rpay-latest.dev.min.js
Production https://static.rakutenpay.com.br/rpayjs/rpay-latest.min.js

Opções de inicialização

Exemplo de inicialização do rpay.js

var rpay = new RPay({
  csClientId: "12345667"
})

O rpay.js permite parametrizar algumas opções. Segue lista de parâmetros:

Nome Valor Descrição
csClientId 12345 Opcional
Configura o ID da clearsale para envio de fingerprint.
Esse ID é informado pela área de Análise de Risco.
Caso não seja informado, será usado o ID padrão da Rakuten

Caso a página utilize Content Security Policy, é necessário declarar algumas políticas de segurança.

script-src 'self' static.rakutenpay.com.br *.global.rakuten.com device.clearsale.com.br h.online-metrix.net;
img-src 'self' device.clearsale.com.br;
frame-src *.global.rakuten.com device.clearsale.com.br;
child-src 'self' *.global.rakuten.com device.clearsale.com.br;

Exemplo de checkout com um cartão

Campos do form de checkout

<form action="#" data-rkp="form" ...>
  <input type="text" data-rkp="method" ...>
  <input type="text" data-rkp="card-number" ...>
  <input type="text" data-rkp="card-cvv" ...>
  <input type="text" data-rkp="card-expiration-month" ...>
  <input type="text" data-rkp="card-expiration-year" ...>
  <input type="text" data-rkp="card-holder-name" ...>
  <input type="text" data-rkp="card-holder-document" ...>
  <button id="submit">Enviar</button>
</form>

Código para tokenização a partir dos dados do form

var form = document.querySelector('form'); var button = document.querySelector('#submit'); button.addEventListener("click", function(e){
  // Crie um instância do tipo RPay
  var rpay = new RPay();
  // Defina as funções de callback para cada tipo de resultado
  rpay.listeners = {
    "result:success": function(){
      // defina aqui o que fazer quando fingerprint e token
      // forem gerados e adicionados ao form com successo
      // Exemplo:
      form.submit();
    },
    "result:error":   function(errors){
      // defina aqui o que fazer caso ocorra algum erro durante
      // o processo de geração de fingerprint e token
      // Exemplo:
      console.log(errors);
    }
  };
  // Execute a função generate() passando o form como argumento
  rpay.generate(form);
});

Campos de fingerprint e token


 <input name="rkp[fingerprint]" value="2c2bddc755e3da276ff0f69fe80ed6f5">

 <!-- contendo a fingerprint; independente do tipo de pagamento -->

 <input name="rkp[token]" value="17112818001JHmFJNeDQR9IAnLp64444">

 <!-- contendo o token do cartão de crédito, quando a forma de pagamento for "credit_card". -->

Os seguintes passos devem ser seguidos para que os dados do formulário de cartão de crédito na página de fechamento de pedido possam ser tokenizados pelo rpay.js:

  1. Adicione os atributos de marcação data-rkp em seu formulário. Esses atributos serão utilizados para envio ao serviço de tokenização, caso o value do input method for credit_card.

  2. Ao invocar o método generate do RPay ele criará automaticamente os inputs necessários para criação de charge. O input para fingerprint terá o campo name de rkp[fingerprint] e para cartão de crédito será adicionado o input com campo name=rkp[token].

  3. Após tokenizar o cartão, o valor do campo card-number será automaticamente trocado por um número com máscara 5555 55** **** 4444. Repare que o CVV não sofrerá alteração.

Geração de fingerprint

Exemplo de utilização do método fingerprints()

var rpay = new RPay(); rpay.fingerprints(function(error, fingerprint){
  if(error != null){
    // error structure
    // {
    //   message: "Ocorreu um erro inesperado na chamado da ClearSale",
    //   debug: {
    //     exception: "Connection Timeout with clearsale",
    //     message: "Ocorreu um erro inesperado na chamado da ClearSale"
    //   }
    // }
    return console.error(error);
  }
  // fingerprint will be "530cd5c3496a8638e08af607d1f2b669"
  console.log(fingerprint);
})

O fingerprint é um identificador único que possui as informações do dispositivo utilizado pelo cliente para a geração do pedido. As informações contidas no fingerprint são importantes nas etapas de análise de risco da cobrança.

Essas informações precisam ser geradas no browser do usuário e enviadas na api de criação de cobrança. O fingerprint gerado é único e deve ser enviado no payload de charge para clearsale e payments.

Cancelamentos e estornos

Para realizar um estorno, deverá ser chamada as API's conforme o status da cobrança atualmente e o método de pagamento utilizado.

Para o caso de uma cobrança de boleto que esteja no status de confirmação de pagamento (authorized) deverá ser utilizada API de cancelamento.

A partir do momento em que a cobrança tem o pagamento confirmado (approved), independentemente do meio de pagamento, deverá ser realizado um estorno do pagamento. Caso este estorno seja parcial, deve-se utilizar a API de estorno parcial. Caso seja total a API de estorno total deve ser utilizada.

Ambientes

Base URL Descrição
https://oneapi-staging.rakutenpay.com.br/rpay/v1 Staging server
https://oneapi-sandbox.rakutenpay.com.br/rpay/v1 Sandbox server
https://api.rakuten.com.br/rpay/v1 Production server

Cobranças

Realize, detalhe e pesquise cobranças.

Criar uma Cobrança

Exemplos de código

# You can also use wget
curl -X POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "reference": "Pedido#123456",
  "amount": 100,
  "currency": "BRL",
  "webhook_url": "https://www.minhaloja.com.br/webhook-url",
  "payments": [
    {
      "reference": "Pagamento#1234",
      "method": "billet",
      "amount": 100
    }
  ],
  "customer": {
    "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
    "document": 12345678909,
    "name": "João da Silva",
    "business_name": "João da Silva",
    "email": "joaodasilva@rakuten.com.br",
    "birthdate": "1988-12-22",
    "gender": "M",
    "kind": "personal",
    "addresses": [
      {
        "kind": "billing",
        "street": "Avenida Francisco Matarazzo",
        "number": 1500,
        "complement": "Andar 6",
        "district": "Água Branca",
        "city": "São Paulo",
        "state": "SP",
        "zipcode": "05001-100",
        "contact": "João da Silva",
        "country": "BR"
      }
    ],
    "phones": [
      {
        "kind": "billing",
        "reference": "mobile",
        "number": {
          "country_code": 55,
          "area_code": 11,
          "number": 966661234
        }
      }
    ]
  },
  "order": {
    "reference": "Pedido#1",
    "description": "Pedido#1 da Loja XPTO",
    "payer_ip": "200.215.15.16",
    "items_amount": 80,
    "shipping_amount": 20,
    "shipping_time": 5,
    "taxes_amount": 10,
    "discount_amount": 15,
    "created_at": "2018-07-20T17:27:44.465Z",
    "items": [
      {
        "reference": "SKU123456",
        "description": "Camiseta sem SKU com Imagem",
        "amount": 40,
        "quantity": 2,
        "total_amount": 80,
        "categories": [
          {
            "id": 11,
            "name": "eletronicos"
          }
        ]
      }
    ]
  },
  "fingerprint": {
    "clearsale": "1gkbn103n501234",
    "payments": "1gkbn103n501234"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /charges

Realização de Cobrança

Cria uma nova cobrança no Rakuten Pay.

Para Criar uma Cobrança é necessário executar um POST passando o Payload de Criação no corpo da requisição.

A API retonará uma resposta com o resultado da operação. As próximas mudanças de status que ocorrerem nessa cobrança serão notificadas por callback através da url passada no parâmetro webhook_url.

Parâmetros de body

{
  "reference": "Pedido#123456",
  "amount": 100,
  "currency": "BRL",
  "webhook_url": "https://www.minhaloja.com.br/webhook-url",
  "payments": [
    {
      "reference": "Pagamento#1234",
      "method": "billet",
      "amount": 100
    }
  ],
  "customer": {
    "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
    "document": 12345678909,
    "name": "João da Silva",
    "business_name": "João da Silva",
    "email": "joaodasilva@rakuten.com.br",
    "birthdate": "1988-12-22",
    "gender": "M",
    "kind": "personal",
    "addresses": [
      {
        "kind": "billing",
        "street": "Avenida Francisco Matarazzo",
        "number": 1500,
        "complement": "Andar 6",
        "district": "Água Branca",
        "city": "São Paulo",
        "state": "SP",
        "zipcode": "05001-100",
        "contact": "João da Silva",
        "country": "BR"
      }
    ],
    "phones": [
      {
        "kind": "billing",
        "reference": "mobile",
        "number": {
          "country_code": 55,
          "area_code": 11,
          "number": 966661234
        }
      }
    ]
  },
  "order": {
    "reference": "Pedido#1",
    "description": "Pedido#1 da Loja XPTO",
    "payer_ip": "200.215.15.16",
    "items_amount": 80,
    "shipping_amount": 20,
    "shipping_time": 5,
    "taxes_amount": 10,
    "discount_amount": 15,
    "created_at": "2018-07-20T17:27:44.465Z",
    "items": [
      {
        "reference": "SKU123456",
        "description": "Camiseta sem SKU com Imagem",
        "amount": 40,
        "quantity": 2,
        "total_amount": 80,
        "categories": [
          {
            "id": 11,
            "name": "eletronicos"
          }
        ]
      }
    ]
  },
  "fingerprint": {
    "clearsale": "1gkbn103n501234",
    "payments": "1gkbn103n501234"
  }
}

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
body body Charge true none

Examplos de resposta

200 Response

{
  "charge_uuid": "532d1da8-6442-415d-ac20-89d70bb27492",
  "fingerprint": "f154df28d123b44a37e8e163a0b5b4df",
  "payments": [
    {
      "id": "da3f37a2-b844-428c-b66c-aee69e058852",
      "amount": 123.34,
      "method": "billet",
      "reference": "da3f37a2-b844-428c-b66c-aee69e058852",
      "status": "pending",
      "refundable_amount": 123.34,
      "result": "success",
      "result_messages": [
        "Mensagem de erro"
      ],
      "billet": {
        "download_url": "https://www.rakutenpay.com.br/api/v2/charges/532d1da8-6442-415d-ac20-89d70bb27492/billet"
      }
    }
  ],
  "reference": "Pedido#1",
  "result": "success",
  "result_messages": [
    "Ocorreu um erro ao gerar a transação"
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success ChargeResponse

Callbacks

POST webhook_url

Callback parameter

{
  "status": "refunded",
  "uuid": "5a5d430e-73d9-4eab-8fbb-d8e3772e1916",
  "reference": "02C1712161498",
  "merchant": {
    "merchant_id": "ECD3FE36-E806-4752-9940-6FBAB827CE61",
    "seller_id": "639A3803-40DB-4DF8-9251-AC60C14741A4",
    "document": 90811115909
  },
  "status_history": [
    {
      "status": "refunded",
      "created_at": "2016-02-12T16:37:44-02:00"
    }
  ],
  "order": {
    "reference": "AFCBD2123",
    "items_amount": 50.85,
    "shipping_amount": 10,
    "discount_amount": 0,
    "total_amount": 60.85
  },
  "payments": [
    {
      "reference": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
      "status": "refunded",
      "amount": 74.9,
      "refundable_amount": 74.9,
      "method": "billet",
      "status_history": [
        {
          "status": "refunded",
          "created_at": "2016-02-12T16:37:44-02:00"
        }
      ],
      "billet": {
        "download_url": "http://localhost:2300/api/v1/charges/5a5d430e-73d9-4eab-8fbb-d8e3772e1916/billet/download",
        "number": 123456
      },
      "credit_card": {
        "authorization_code": "E57864",
        "number": "514029******4499",
        "processor": "elavon",
        "tid": 1259828681,
        "nsu": 1259828681
      }
    }
  ],
  "subscription": {
    "id": "f3569a4d-6c91-4f3f-abe1-6b692cb5c63a",
    "reference": "02C1712161498",
    "periodicity": "monthly",
    "status": "pending"
  },
  "refunds": [
    {
      "id": "2affd63e-f9b1-471b-a5c9-2cd06d6a82de",
      "amount": 474.9,
      "reason": "Cliente devolveu todos os produtos",
      "requester": "customer",
      "status": "refunded",
      "created_at": "2017-11-16T13:55:38-02:00",
      "payments": [
        {
          "id": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "amount": 10,
          "status": "pending",
          "bank_withdraw_uuid": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "bank_withdraw": {
            "id": 123456,
            "status": "pending",
            "document": 1596581234,
            "bank_code": 1,
            "bank_agency": 291123,
            "bank_number": 2234,
            "amount": 223
          }
        }
      ]
    }
  ]
}

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
body body ChargeWebhooks false Payload de mudança de status

Respostas

Status Significado Descrição Schema
200 OK Webhook processado com sucesso None

Pesquisar por Cobranças

Exemplos de código

# You can also use wget
curl -X GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges \
  -H 'Accept: application/json'

GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /charges

Pesquisa de cobranças

A API do RakutenPay oferece um endpoint para consultar as cobranças realizadas.

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
status query string false Filtra cobranças pelo status informado, podendo ser :
reference query string false Busca por cobranças referentes ao número do pedido
date_from query string false Retorna cobranças criadas à partir da data informada, no formato YYYY-mm-dd
date_to query string false Retorna cobranças criadas até a data informada, no formato YYYY-mm-dd
page query string false Em respostas retornando mais de 50 cobranças, o resultado será paginado. page deve ser um número inteiro representando o número da página da requisição. Caso não seja enviado, será sempre 1.

Descrição detalhada

status: Filtra cobranças pelo status informado, podendo ser :

Examplos de resposta

200 Response

{
  "result": "success",
  "charges": [
    {
      "reference": "Pedido#123456",
      "amount": 100,
      "currency": "BRL",
      "webhook_url": "https://www.minhaloja.com.br/webhook-url",
      "payments": [
        {
          "reference": "Pagamento#1234",
          "method": "billet",
          "amount": 100
        }
      ],
      "customer": {
        "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
        "document": 12345678909,
        "name": "João da Silva",
        "business_name": "João da Silva",
        "email": "joaodasilva@rakuten.com.br",
        "birthdate": "1988-12-22",
        "gender": "M",
        "kind": "personal",
        "addresses": [
          {
            "kind": "billing",
            "street": "Avenida Francisco Matarazzo",
            "number": 1500,
            "complement": "Andar 6",
            "district": "Água Branca",
            "city": "São Paulo",
            "state": "SP",
            "zipcode": "05001-100",
            "contact": "João da Silva",
            "country": "BR"
          }
        ],
        "phones": [
          {
            "kind": "billing",
            "reference": "mobile",
            "number": {
              "country_code": 55,
              "area_code": 11,
              "number": 966661234
            }
          }
        ]
      },
      "order": {
        "reference": "Pedido#1",
        "description": "Pedido#1 da Loja XPTO",
        "payer_ip": "200.215.15.16",
        "items_amount": 80,
        "shipping_amount": 20,
        "shipping_time": 5,
        "taxes_amount": 10,
        "discount_amount": 15,
        "created_at": "2018-07-20T17:27:44.477Z",
        "items": [
          {
            "reference": "SKU123456",
            "description": "Camiseta sem SKU com Imagem",
            "amount": 40,
            "quantity": 2,
            "total_amount": 80,
            "categories": [
              {
                "id": 11,
                "name": "eletronicos"
              }
            ]
          }
        ]
      },
      "fingerprint": {
        "clearsale": "1gkbn103n501234",
        "payments": "1gkbn103n501234"
      }
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success ChargesResponse
400 Bad Request Failure Inline

Response Schema

Status Code 400

Nome Tipo Obrigatório Restrições Descrição
» result string false none none
» errors [any] false none none
»» code string false none none
»» description string false none none

Consultar uma Cobrança

Exemplos de código

# You can also use wget
curl -X GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id} \
  -H 'Accept: application/json'

GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id} HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /charges/{charge_id}

Detalhes da cobranças

A API do RakutenPay oferece um endpoint para consultar os detalhes de cobranças realizadas.

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
charge_id path integer(int64) true ID da cobrança

Examplos de resposta

200 Response

{
  "result": "success",
  "charges": [
    {
      "reference": "Pedido#123456",
      "amount": 100,
      "currency": "BRL",
      "webhook_url": "https://www.minhaloja.com.br/webhook-url",
      "payments": [
        {
          "reference": "Pagamento#1234",
          "method": "billet",
          "amount": 100
        }
      ],
      "customer": {
        "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
        "document": 12345678909,
        "name": "João da Silva",
        "business_name": "João da Silva",
        "email": "joaodasilva@rakuten.com.br",
        "birthdate": "1988-12-22",
        "gender": "M",
        "kind": "personal",
        "addresses": [
          {
            "kind": "billing",
            "street": "Avenida Francisco Matarazzo",
            "number": 1500,
            "complement": "Andar 6",
            "district": "Água Branca",
            "city": "São Paulo",
            "state": "SP",
            "zipcode": "05001-100",
            "contact": "João da Silva",
            "country": "BR"
          }
        ],
        "phones": [
          {
            "kind": "billing",
            "reference": "mobile",
            "number": {
              "country_code": 55,
              "area_code": 11,
              "number": 966661234
            }
          }
        ]
      },
      "order": {
        "reference": "Pedido#1",
        "description": "Pedido#1 da Loja XPTO",
        "payer_ip": "200.215.15.16",
        "items_amount": 80,
        "shipping_amount": 20,
        "shipping_time": 5,
        "taxes_amount": 10,
        "discount_amount": 15,
        "created_at": "2018-07-20T17:27:44.481Z",
        "items": [
          {
            "reference": "SKU123456",
            "description": "Camiseta sem SKU com Imagem",
            "amount": 40,
            "quantity": 2,
            "total_amount": 80,
            "categories": [
              {
                "id": 11,
                "name": "eletronicos"
              }
            ]
          }
        ]
      },
      "fingerprint": {
        "clearsale": "1gkbn103n501234",
        "payments": "1gkbn103n501234"
      }
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success Inline

Response Schema

Status Code 200

Nome Tipo Obrigatório Restrições Descrição
» result string false none none
» charges [Charge] false none none
»» Informações Básicas da Cobrança Charge false none A cobrança é formada por código de referência (reference), valor total (amount), moeda (currency), URL de callback (webhook_url), código de seguranca (fingerprint), lista de pagamentos (payments), cliente (customer) e pedido (order). ### Considerações sobre a Cobrança O campo reference é um identificador do sistema integrador. Recomendamos que seja utilizado o identificador único do pedido. O campo amount é o valor total da cobrança, incluindo taxas, descontos, frete, etc. O campo currency é a moeda utilizada no pagamento. Atualmente, a única moeda suportada é R$ (BRL). O campo webhook_url é a URL que receberá a atualizado de status da cobrança. Será enviado uma requisição JSON para essa URL cada vez que houver uma mudança de status, por exemplo, quando houver uma cobrança pendente para uma cobrança aprovada. Por questões de segurança, recomenda-se que a URL passada no campo webhook_url use HTTPS. O campo fingerprint é um identificador único gerado pelo rkp-js que deve ser enviado na requisição da cobrança.
»»» reference string true none ID amigável do pedido no serviço requisitante
»»» amount number true none Valor total da cobrança
»»» currency string true none Tipo de moeda transacionada
»»» webhook_url string true none URL que receberá a atualização de status de cobrança
»»» payments [oneOf] true none none

oneOf

Nome Tipo Obrigatório Restrições Descrição
»»»» anonymous PaymentBillet false none A cobrança é composta por uma lista de pagamentos (payments), que pode conter um ou mais pagamentos utilizando cartão de crédito, boleto ou super points. ### Considerações sobre Pagamentos O campo method deve ser preenchido com o valor billet para boleto. O campo amount deve ser preenchido com o valor do pagamento.
»»»»» reference string true none Referência do pagamento no cliente referente ao pedido
»»»»» method string true none Método de pagamento boleto
»»»»» amount number true none Valor do pagamento

xor

Nome Tipo Obrigatório Restrições Descrição
»»»» anonymous PaymentCreditCard false none A cobrança é composta por uma lista de pagamentos (payments), que pode conter um ou mais pagamentos utilizando cartão de crédito, boleto ou super points. ### Considerações sobre Pagamentos O campo method deve ser preenchido com o valor credit_card para cartão de crédito. O campo amount deve ser preenchido com o valor do pagamento. O campo installments_quantity deve ser preenchido com o número de parcelas quando a compra for por cartão de crédito. O campo installments corresponde ao objeto retornado da simulação de juros. O campo brand é o nome da bandeira do cartão. O campo options é o campo com as opções de operação interna do cartão. O campo token é um token de identificação do cartão, gerado pela biblioteca. rkp-js. O campo cvv é o código de segurança do cartão, geralmente localizado na parte traseira do cartão. O campo holder_name inclui o nome do proprietário do cartão. O campo holder_document inclui o documento do proprietário do cartão, que pode ser um CPF ou um CNPJ. O documento deve incluir somente números.
»»»»» reference string true none Referência do pagamento no cliente referente ao pedido
»»»»» method string true none Método de pagamento
»»»»» amount number true none Valor do pagamento
»»»»» installments_quantity number true none Número de parcelas
»»»»» installments [Installment] false none none
»»»»»» Informações sobre os parcelamento com juros do pedido Installment false none A estrutura do objetos de installments é identica àquela retornada na simulação de juros, que é feita através da API de checkout do Rakuten Pay. Caso a loja não utilize juros, deve ser passado null como valor.
»»»»»»» quantity number false none Quantidade de parcelas
»»»»»»» interest_percent number false none Taxa de juros em porcentagem
»»»»»»» interest_amount number false none Valor total a ser pago como juros
»»»»»»» installment_amount number false none Valor pago por parcela
»»»»»»» total number false none Valor total a ser pago com juros
»»»»»» brand string true none Bandeira do cartão
»»»»»» options Options true none Os valores aqui passado alteram como o cartão de crédito é tratado internamente pela plataforma
»»»»»»» save_card boolean false none Se true, armazena o cartão para compras futuras
»»»»»»» new_card boolean false none Se true utiliza o cartão do PayVault, caso contrário do Gateway
»»»»»»» recurrency boolean false none Se true aceita compras recorrentes para o mesmo pedido indefinidamente. Parcelamentos não são permitidos em pagamentos recorrentes
»»»»»» holder_name string true none Nome do proprietário do cartão
»»»»»» holder_document string true none Documento do proprietário do cartão
»»»»»» token string true none Token de identificação do cartão
»»»»»» cvv string true none CVV do cartão

continued

Nome Tipo Obrigatório Restrições Descrição
»»»»» customer Customer true none O comprador (customer) é composto por documento (document), nome (name), nome fantasia/nome do comprador (business_name), email, data de nascimento (birthdate), genero (gender), tipo (kind), lista de endereço (addresses) e lista de telefones (phones). ### Considerações sobre o Comprador O campo documento deve ser preenchido com o documento do comprador, que deve ser um CPF ou CNPJ. O documento deve incluir somente números. O campo name deve ser preenchido com o nome do comprador. O campo business_name deve ser preenchido com o nome fantasia da empresa no caso de pessoa jurídica ou o nome do comprador no caso de pessoa física. O campo email deve ser preenchido com o e-mail do comprador. O campo birthdate deve ser preenchido com a data de nascimento do comprador, no formato AAAA-MM-DD (Ano-Mês-Dia). O campo gender deve ser preenchido com o gênero do comprador, sendo f para feminino e m para masculino. O campo kind deve ser preenchido com o tipo do cliente: personal para pessoa física e business para pessoa jurídica.
»»»»»» rakuten_id string false none none
»»»»»» document string true none Documento do comprador. CPF ou CNPJ
»»»»»» name string true none Nome do comprador
»»»»»» business_name string true none Nome fantasia se empresa, nome do comprador se pessoa física
»»»»»» email string true none E-mail do comprador
»»»»»» birthdate string true none Data de nascimento do comprador
»»»»»» gender string true none Gênero do comprador
»»»»»» kind string true none Tipo de pessoa
»»»»»» addresses [Address] true none none
»»»»»»» Informações sobre o endereço do consumidor Address false none O comprador (Customer) possui uma lista de endereços, que pode ter um ou mais endereços do tipo entrega (shipping) e cobrança (billing).
»»»»»»»» kind string true none Tipo de endereço
»»»»»»»» street string true none Nome da rua
»»»»»»»» number string true none Número do endereço
»»»»»»»» complement string true none Complemento do endereço. Vazio se não houver.
»»»»»»»» district string true none Bairro do endereço
»»»»»»»» city string true none Cidade do endereço
»»»»»»»» state string true none Estado do endereço
»»»»»»»» zipcode string true none CEP do endereço
»»»»»»»» contact string true none Contato no endereço
»»»»»»»» country string true none País do endereço
»»»»»»» phones [Phone] true none none
»»»»»»»» Informações sobre o telefone do comprador Phone false none O telefone do comprador é composto por tipo (kind), a referência (reference) e uma estrutura com os dados do telefone.
»»»»»»»»» kind string true none Tipo de endereço
»»»»»»»»» reference string true none Referência do telefone
»»»»»»»»» number object true none A estrutura phone number contém as informações necessárias para se contruir um número de telefone, com códigos de área e de país
»»»»»»»»»» country_code string true none Código de país (DDI)
»»»»»»»»»» area_code string true none Código da cidade (DDD)
»»»»»»»»»» number string true none Número do telefone
»»»»»»»»» order Order true none O pedido é composto por valor dos itens (items_amount), valor de entrega (shipping_amount), valor das taxas (taxes_amount), valor dos descontos (discount_amount) e lista de itens (items). Também é necessário informar a referencia (reference), uma descrição amigável do pedido (description), o IP do comprador (payer_ip), a data de criação do pedido (created_at) e o tempo de entrega (shipping_time).
»»»»»»»»»» reference string true none ID interno do pedido no serviço requisitante
»»»»»»»»»» description string false none Descrição amigável do pedido
»»»»»»»»»» payer_ip string true none IP do comprador
»»»»»»»»»» items_amount number true none Valor total dos items
»»»»»»»»»» shipping_amount number true none Valor do frete
»»»»»»»»»» shipping_time number true none Dias para entrega do pedido a partir da data de confirmação do pagamento
»»»»»»»»»» taxes_amount number true none Valor das taxas
»»»»»»»»»» discount_amount number true none Valor do desconto
»»»»»»»»»» created_at string true none Data de criação do pedido no formato iso8601
»»»»»»»»»» items [Item] true none none
»»»»»»»»»»» Informações sobre os itens do pedido Item false none O item do pedido é composto por código de referencia (reference), descrição (description), valor (amount), quantidade (quantity) e valor total (total). ### Considerações sobre o Item do Pedido O campo reference é o código utilizado pelo integrador, recomendamos que utilize um ID único. O campo amount é o valor unitário do item. O campo quantity é a quantidade do item. O campo total é o valor total do item (amount x quantity)
»»»»»»»»»»»» reference string true none Código de referência do produto
»»»»»»»»»»»» description string true none Descrição do item
»»»»»»»»»»»» amount number true none Valor do item
»»»»»»»»»»»» quantity number true none Quantidade do ítem
»»»»»»»»»»»» total_amount number true none Valor total do item
»»»»»»»»»»»» categories [Category] true none none
»»»»»»»»»»»»» Informações sobre a categoria de um produto Category false none Categoria do produto utilizada para análise de risco. Existem algumas categorias que são mais suscetíveis à ataques e, portanto, são levadas em consideração durante a análise.
»»»»»»»»»»»»»» id string true none ID da categoria cadastrada na análise de risco
»»»»»»»»»»»»»» name string true none Nome da categoria cadastrada na análise de risco
»»»»»»»»»»»»» fingerprint object true none Informações são necessárias para conferir a identidade do usuário e são úteis durante a etapa de análise de risco.
»»»»»»»»»»»»»» clearsale string true none fingerprint para a clearsale
»»»»»»»»»»»»»» payments string true none fingerprint para o rakuten pay

Enumerated Values

Property Value
method billet
method credit_card
gender F
gender M
kind personal
kind business
kind billing
kind shipping
kind billing
kind shipping
reference mobile
reference home
reference others

Gerar um Boleto

Exemplos de código

# You can also use wget
curl -X GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet \
  -H 'Accept: application/json'

GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/billet", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /charges/{charge_id}/billet

Geração de Boleto

API para gerar os dados para impressão de boleto.

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
charge_id path integer(int64) true ID da cobrança

Examplos de resposta

200 Response

{
  "amount": 100.9,
  "expires_at": "2017-06-26T13:39:11-03:00",
  "barcode": 45632300003411,
  "html": "<html><head><body>boleto em formato html</body></head></html>"
}

Respostas

Status Significado Descrição Schema
200 OK Dependendo do header Accepts (application/json ou text/html) a resposta será um JSON ou o próprio html do boleto. Inline

Response Schema

Status Code 200

Nome Tipo Obrigatório Restrições Descrição
» amount number false none Valor total da cobrança
» expires_at string false none Data de vencimento do boleto
» barcode string false none Código de barra
» html string false none Boleto em formato html

Estorno total de Cobrança

Exemplos de código

# You can also use wget
curl -X POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "requester": "customer",
  "reason": "Produto errado recebido",
  "payments": [
    {
      "id": "b3c3eb8b-10df-4fc5-926e-f08a741df4ef",
      "amount": 10,
      "bank_account": {
        "document": 123456788909,
        "bank_code": 1,
        "bank_agency": 1234,
        "bank_number": "9876543-2"
      }
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /charges/{charge_id}/refund

Estorno de cobrança

A API do RakutenPay oferece um endpoint para estornar totalmente cobranças realizadas, após o pedido ser aprovado.

Parâmetros de body

{
  "requester": "customer",
  "reason": "Produto errado recebido",
  "payments": [
    {
      "id": "b3c3eb8b-10df-4fc5-926e-f08a741df4ef",
      "amount": 10,
      "bank_account": {
        "document": 123456788909,
        "bank_code": 1,
        "bank_agency": 1234,
        "bank_number": "9876543-2"
      }
    }
  ]
}

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
charge_id path integer(int64) true ID da cobrança
body body Refunds false none

Examplos de resposta

200 Response

{
  "status": "refunded",
  "uuid": "5a5d430e-73d9-4eab-8fbb-d8e3772e1916",
  "reference": "02C1712161498",
  "merchant": {
    "merchant_id": "ECD3FE36-E806-4752-9940-6FBAB827CE61",
    "seller_id": "639A3803-40DB-4DF8-9251-AC60C14741A4",
    "document": 90811115909
  },
  "status_history": [
    {
      "status": "refunded",
      "created_at": "2016-02-12T16:37:44-02:00"
    }
  ],
  "order": {
    "reference": "AFCBD2123",
    "items_amount": 50.85,
    "shipping_amount": 10,
    "discount_amount": 0,
    "total_amount": 60.85
  },
  "payments": [
    {
      "reference": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
      "status": "refunded",
      "amount": 74.9,
      "refundable_amount": 74.9,
      "method": "billet",
      "status_history": [
        {
          "status": "refunded",
          "created_at": "2016-02-12T16:37:44-02:00"
        }
      ],
      "billet": {
        "download_url": "http://localhost:2300/api/v1/charges/5a5d430e-73d9-4eab-8fbb-d8e3772e1916/billet/download",
        "number": 123456
      },
      "credit_card": {
        "authorization_code": "E57864",
        "number": "514029******4499",
        "processor": "elavon",
        "tid": 1259828681,
        "nsu": 1259828681
      }
    }
  ],
  "subscription": {
    "id": "f3569a4d-6c91-4f3f-abe1-6b692cb5c63a",
    "reference": "02C1712161498",
    "periodicity": "monthly",
    "status": "pending"
  },
  "refunds": [
    {
      "id": "2affd63e-f9b1-471b-a5c9-2cd06d6a82de",
      "amount": 474.9,
      "reason": "Cliente devolveu todos os produtos",
      "requester": "customer",
      "status": "refunded",
      "created_at": "2017-11-16T13:55:38-02:00",
      "payments": [
        {
          "id": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "amount": 10,
          "status": "pending",
          "bank_withdraw_uuid": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "bank_withdraw": {
            "id": 123456,
            "status": "pending",
            "document": 1596581234,
            "bank_code": 1,
            "bank_agency": 291123,
            "bank_number": 2234,
            "amount": 223
          }
        }
      ]
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success ChargeWebhooks

Criar estorno parcial de Cobrança

Exemplos de código

# You can also use wget
curl -X POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "requester": "customer",
  "reason": "Produto errado recebido",
  "payments": [
    {
      "id": "b3c3eb8b-10df-4fc5-926e-f08a741df4ef",
      "amount": 10,
      "bank_account": {
        "document": 123456788909,
        "bank_code": 1,
        "bank_agency": 1234,
        "bank_number": "9876543-2"
      }
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/refund_partial", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /charges/{charge_id}/refund_partial

Estorno de cobrança

A API do RakutenPay oferece um endpoint para estornar parcialmente cobranças realizadas, após o pedido ser aprovado.

Parâmetros de body

{
  "requester": "customer",
  "reason": "Produto errado recebido",
  "payments": [
    {
      "id": "b3c3eb8b-10df-4fc5-926e-f08a741df4ef",
      "amount": 10,
      "bank_account": {
        "document": 123456788909,
        "bank_code": 1,
        "bank_agency": 1234,
        "bank_number": "9876543-2"
      }
    }
  ]
}

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
charge_id path integer(int64) true ID da cobrança
body body Refunds false none

Examplos de resposta

200 Response

{
  "status": "refunded",
  "uuid": "5a5d430e-73d9-4eab-8fbb-d8e3772e1916",
  "reference": "02C1712161498",
  "merchant": {
    "merchant_id": "ECD3FE36-E806-4752-9940-6FBAB827CE61",
    "seller_id": "639A3803-40DB-4DF8-9251-AC60C14741A4",
    "document": 90811115909
  },
  "status_history": [
    {
      "status": "refunded",
      "created_at": "2016-02-12T16:37:44-02:00"
    }
  ],
  "order": {
    "reference": "AFCBD2123",
    "items_amount": 50.85,
    "shipping_amount": 10,
    "discount_amount": 0,
    "total_amount": 60.85
  },
  "payments": [
    {
      "reference": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
      "status": "refunded",
      "amount": 74.9,
      "refundable_amount": 74.9,
      "method": "billet",
      "status_history": [
        {
          "status": "refunded",
          "created_at": "2016-02-12T16:37:44-02:00"
        }
      ],
      "billet": {
        "download_url": "http://localhost:2300/api/v1/charges/5a5d430e-73d9-4eab-8fbb-d8e3772e1916/billet/download",
        "number": 123456
      },
      "credit_card": {
        "authorization_code": "E57864",
        "number": "514029******4499",
        "processor": "elavon",
        "tid": 1259828681,
        "nsu": 1259828681
      }
    }
  ],
  "subscription": {
    "id": "f3569a4d-6c91-4f3f-abe1-6b692cb5c63a",
    "reference": "02C1712161498",
    "periodicity": "monthly",
    "status": "pending"
  },
  "refunds": [
    {
      "id": "2affd63e-f9b1-471b-a5c9-2cd06d6a82de",
      "amount": 474.9,
      "reason": "Cliente devolveu todos os produtos",
      "requester": "customer",
      "status": "refunded",
      "created_at": "2017-11-16T13:55:38-02:00",
      "payments": [
        {
          "id": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "amount": 10,
          "status": "pending",
          "bank_withdraw_uuid": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "bank_withdraw": {
            "id": 123456,
            "status": "pending",
            "document": 1596581234,
            "bank_code": 1,
            "bank_agency": 291123,
            "bank_number": 2234,
            "amount": 223
          }
        }
      ]
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success ChargeWebhooks

Cancelar um boleto

Exemplos de código

# You can also use wget
curl -X POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');
const inputBody = '{
  "requester": "customer",
  "reason": "Produto errado recebido"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/charges/{charge_id}/cancel", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /charges/{charge_id}/cancel

Cancelamento de boleto

A API do RakutenPay oferece um endpoint para cancelar um pedido de boleto em status authorized, ou seja, aguardando pagamento. Para outros tipos de pagamento, deve-se aguardar até que o pedido seja aprovado para proceder com a chamada de estorno.

Parâmetros de body

{
  "requester": "customer",
  "reason": "Produto errado recebido"
}

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
charge_id path integer(int64) true ID do boleto
body body Cancel false none

Examplos de resposta

200 Response

{
  "status": "refunded",
  "uuid": "5a5d430e-73d9-4eab-8fbb-d8e3772e1916",
  "reference": "02C1712161498",
  "merchant": {
    "merchant_id": "ECD3FE36-E806-4752-9940-6FBAB827CE61",
    "seller_id": "639A3803-40DB-4DF8-9251-AC60C14741A4",
    "document": 90811115909
  },
  "status_history": [
    {
      "status": "refunded",
      "created_at": "2016-02-12T16:37:44-02:00"
    }
  ],
  "order": {
    "reference": "AFCBD2123",
    "items_amount": 50.85,
    "shipping_amount": 10,
    "discount_amount": 0,
    "total_amount": 60.85
  },
  "payments": [
    {
      "reference": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
      "status": "refunded",
      "amount": 74.9,
      "refundable_amount": 74.9,
      "method": "billet",
      "status_history": [
        {
          "status": "refunded",
          "created_at": "2016-02-12T16:37:44-02:00"
        }
      ],
      "billet": {
        "download_url": "http://localhost:2300/api/v1/charges/5a5d430e-73d9-4eab-8fbb-d8e3772e1916/billet/download",
        "number": 123456
      },
      "credit_card": {
        "authorization_code": "E57864",
        "number": "514029******4499",
        "processor": "elavon",
        "tid": 1259828681,
        "nsu": 1259828681
      }
    }
  ],
  "subscription": {
    "id": "f3569a4d-6c91-4f3f-abe1-6b692cb5c63a",
    "reference": "02C1712161498",
    "periodicity": "monthly",
    "status": "pending"
  },
  "refunds": [
    {
      "id": "2affd63e-f9b1-471b-a5c9-2cd06d6a82de",
      "amount": 474.9,
      "reason": "Cliente devolveu todos os produtos",
      "requester": "customer",
      "status": "refunded",
      "created_at": "2017-11-16T13:55:38-02:00",
      "payments": [
        {
          "id": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "amount": 10,
          "status": "pending",
          "bank_withdraw_uuid": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "bank_withdraw": {
            "id": 123456,
            "status": "pending",
            "document": 1596581234,
            "bank_code": 1,
            "bank_agency": 291123,
            "bank_number": 2234,
            "amount": 223
          }
        }
      ]
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success ChargeWebhooks

Liberações

Consulte liberações da conta

Consultar uma Liberação

Exemplos de código

# You can also use wget
curl -X GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases?merchant_document=string \
  -H 'Accept: application/json'

GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases?merchant_document=string HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases',
  method: 'get',
  data: '?merchant_document=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases?merchant_document=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases',
  params: {
  'merchant_document' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases', params={
  'merchant_document': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases?merchant_document=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/releases", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /releases

Consulta as liberações da conta

A API do RakutenPay oferece um endpoint para consultar as liberações da conta.

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
merchant_document query string true Documento do vendedor
reference query string false Número do pedido
date_from query string false Data inicial de disponibilidade de liberações
date_to query string false Data final de disponibilidade de liberações
status query string false Status da liberação 'holding', 'available', 'advanced', 'cancelled', 'reverted'
date_filter query string false Campo de data a ser filtrado 'available_on', 'available_at', 'cancelled_at'
page query string false Número da página atual de resultados

Examplos de resposta

200 Response

{
  "result": "success",
  "pagination": {
    "page": 1,
    "per_page": 50,
    "page_count": 2,
    "total_count": 2
  },
  "releases": [
    {
      "reference": "Pedido#123456",
      "installment": "01/05",
      "available_on": "2016-10-15T14:35:40-03:00",
      "status": "holding",
      "amount": 12.34,
      "fee_amount": 0,
      "available_amount": 0,
      "available_at": "2016-10-15T14:35:40-03:00",
      "cancelled_at": ""
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success ReleasesResponse

Resgates

Consulte os resgates bancários solicitados de uma conta

Consultar um Resgate

Exemplos de código

# You can also use wget
curl -X GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws?merchant_document=string \
  -H 'Accept: application/json'

GET https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws?merchant_document=string HTTP/1.1
Host: oneapi-staging.rakutenpay.com.br

Accept: application/json

var headers = {
  'Accept':'application/json'

};

$.ajax({
  url: 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws',
  method: 'get',
  data: '?merchant_document=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const request = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws?merchant_document=string',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws',
  params: {
  'merchant_document' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws', params={
  'merchant_document': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws?merchant_document=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://oneapi-staging.rakutenpay.com.br/rpay/v1/bank_withdraws", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /bank_withdraws

Consulta resgates bancários solicitados de uma conta

A API do RakutenPay oferece um endpoint para consultar os resgates da conta.

Parâmetros

Parâmetros Em Tipo Obrigatório Descrição
merchant_document query string true Documento do vendedor
date_from query string false Data inicial de solicitação de resgates
date_to query string false Data final de solicitação de resgates
status query string false Status do resgate 'pending', 'booked', 'sent_to_bank', 'scheduled', 'approved', 'completed', 'rejected'
page query string false Número da página atual de resultados

Examplos de resposta

200 Response

{
  "result": "success",
  "pagination": {
    "page": 1,
    "per_page": 50,
    "page_count": 2,
    "total_count": 2
  },
  "releases": [
    {
      "id": "a56bfef5-7570-49f6-9edb-889a515d8360",
      "created_at": "2016-10-15T14:35:40-03:00",
      "advanced_amount": 0,
      "available_amount": 76.01,
      "fee_amount": 0,
      "total_amount": 76.01,
      "status": "sent_to_bank",
      "status_history": [
        {
          "status": "pending",
          "created_at": "2016-11-30T15:31:51-02:00"
        }
      ]
    }
  ]
}

Respostas

Status Significado Descrição Schema
200 OK Success BankWithdrawsResponse

Schemas

Charge

{
  "reference": "Pedido#123456",
  "amount": 100,
  "currency": "BRL",
  "webhook_url": "https://www.minhaloja.com.br/webhook-url",
  "payments": [
    {
      "reference": "Pagamento#1234",
      "method": "billet",
      "amount": 100
    }
  ],
  "customer": {
    "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
    "document": 12345678909,
    "name": "João da Silva",
    "business_name": "João da Silva",
    "email": "joaodasilva@rakuten.com.br",
    "birthdate": "1988-12-22",
    "gender": "M",
    "kind": "personal",
    "addresses": [
      {
        "kind": "billing",
        "street": "Avenida Francisco Matarazzo",
        "number": 1500,
        "complement": "Andar 6",
        "district": "Água Branca",
        "city": "São Paulo",
        "state": "SP",
        "zipcode": "05001-100",
        "contact": "João da Silva",
        "country": "BR"
      }
    ],
    "phones": [
      {
        "kind": "billing",
        "reference": "mobile",
        "number": {
          "country_code": 55,
          "area_code": 11,
          "number": 966661234
        }
      }
    ]
  },
  "order": {
    "reference": "Pedido#1",
    "description": "Pedido#1 da Loja XPTO",
    "payer_ip": "200.215.15.16",
    "items_amount": 80,
    "shipping_amount": 20,
    "shipping_time": 5,
    "taxes_amount": 10,
    "discount_amount": 15,
    "created_at": "2018-07-20T17:27:44.491Z",
    "items": [
      {
        "reference": "SKU123456",
        "description": "Camiseta sem SKU com Imagem",
        "amount": 40,
        "quantity": 2,
        "total_amount": 80,
        "categories": [
          {
            "id": 11,
            "name": "eletronicos"
          }
        ]
      }
    ]
  },
  "fingerprint": {
    "clearsale": "1gkbn103n501234",
    "payments": "1gkbn103n501234"
  }
}

Informações Básicas da Cobrança

A cobrança é formada por código de referência (reference), valor total (amount), moeda (currency), URL de callback (webhook_url), código de seguranca (fingerprint), lista de pagamentos (payments), cliente (customer) e pedido (order).

Considerações sobre a Cobrança

O campo reference é um identificador do sistema integrador. Recomendamos que seja utilizado o identificador único do pedido. O campo amount é o valor total da cobrança, incluindo taxas, descontos, frete, etc. O campo currency é a moeda utilizada no pagamento. Atualmente, a única moeda suportada é R$ (BRL). O campo webhook_url é a URL que receberá a atualizado de status da cobrança. Será enviado uma requisição JSON para essa URL cada vez que houver uma mudança de status, por exemplo, quando houver uma cobrança pendente para uma cobrança aprovada. Por questões de segurança, recomenda-se que a URL passada no campo webhook_url use HTTPS. O campo fingerprint é um identificador único gerado pelo rkp-js que deve ser enviado na requisição da cobrança.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
reference string true none ID amigável do pedido no serviço requisitante
amount number true none Valor total da cobrança
currency string true none Tipo de moeda transacionada
webhook_url string true none URL que receberá a atualização de status de cobrança
payments [oneOf] true none none

oneOf

Nome Tipo Obrigatório Restrições Descrições
» anonymous PaymentBillet false none none

xor

Nome Tipo Obrigatório Restrições Descrições
» anonymous PaymentCreditCard false none none

continued

Nome Tipo Obrigatório Restrições Descrições
customer Customer true none none
order Order true none none
fingerprint Fingerprint true none none

PaymentBillet

{
  "reference": "Pagamento#1234",
  "method": "billet",
  "amount": 100
}

Informações de Pagamento com boleto

A cobrança é composta por uma lista de pagamentos (payments), que pode conter um ou mais pagamentos utilizando cartão de crédito, boleto ou super points.

Considerações sobre Pagamentos

O campo method deve ser preenchido com o valor billet para boleto. O campo amount deve ser preenchido com o valor do pagamento.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
reference string true none Referência do pagamento no cliente referente ao pedido
method string true none Método de pagamento boleto
amount number true none Valor do pagamento

Valores enumerados

Propriedade Valor
method billet

PaymentCreditCard

{
  "reference": "Pagamento#1235",
  "method": "credit_card",
  "amount": 100,
  "installments_quantity": 2,
  "installments": [
    {
      "quantity": 12,
      "interest_percent": "42.41,",
      "interest_amount": 424.1,
      "installment_amount": 118.68,
      "total": 1424.1
    }
  ],
  "brand": "Visa",
  "options": {
    "save_card": false,
    "new_card": false,
    "recurrency": false
  },
  "holder_name": "João da Silva",
  "holder_document": "01234567890",
  "token": "17061319001UzTcJcVTBtjGkTNm74444",
  "cvv": 123
}

Informações de pagamento com cartão de crédito

A cobrança é composta por uma lista de pagamentos (payments), que pode conter um ou mais pagamentos utilizando cartão de crédito, boleto ou super points.

Considerações sobre Pagamentos

O campo method deve ser preenchido com o valor credit_card para cartão de crédito. O campo amount deve ser preenchido com o valor do pagamento. O campo installments_quantity deve ser preenchido com o número de parcelas quando a compra for por cartão de crédito. O campo installments corresponde ao objeto retornado da simulação de juros. O campo brand é o nome da bandeira do cartão. O campo options é o campo com as opções de operação interna do cartão. O campo token é um token de identificação do cartão, gerado pela biblioteca. rkp-js. O campo cvv é o código de segurança do cartão, geralmente localizado na parte traseira do cartão. O campo holder_name inclui o nome do proprietário do cartão. O campo holder_document inclui o documento do proprietário do cartão, que pode ser um CPF ou um CNPJ. O documento deve incluir somente números.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
reference string true none Referência do pagamento no cliente referente ao pedido
method string true none Método de pagamento
amount number true none Valor do pagamento
installments_quantity number true none Número de parcelas
installments [Installment] false none none
brand string true none Bandeira do cartão
options Options true none none
holder_name string true none Nome do proprietário do cartão
holder_document string true none Documento do proprietário do cartão
token string true none Token de identificação do cartão
cvv string true none CVV do cartão

Valores enumerados

Propriedade Valor
method credit_card

Installment

{
  "quantity": 12,
  "interest_percent": "42.41,",
  "interest_amount": 424.1,
  "installment_amount": 118.68,
  "total": 1424.1
}

Informações sobre os parcelamento com juros do pedido

A estrutura do objetos de installments é identica àquela retornada na simulação de juros, que é feita através da API de checkout do Rakuten Pay. Caso a loja não utilize juros, deve ser passado null como valor.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
quantity number false none Quantidade de parcelas
interest_percent number false none Taxa de juros em porcentagem
interest_amount number false none Valor total a ser pago como juros
installment_amount number false none Valor pago por parcela
total number false none Valor total a ser pago com juros

Options

{
  "save_card": false,
  "new_card": false,
  "recurrency": false
}

Informações de funcionamento interno do cartão de crédito

Os valores aqui passado alteram como o cartão de crédito é tratado internamente pela plataforma

Propriedades

Nome Tipo Obrigatório Restrições Descrições
save_card boolean false none Se true, armazena o cartão para compras futuras
new_card boolean false none Se true utiliza o cartão do PayVault, caso contrário do Gateway
recurrency boolean false none Se true aceita compras recorrentes para o mesmo pedido indefinidamente. Parcelamentos não são permitidos em pagamentos recorrentes

Customer

{
  "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
  "document": 12345678909,
  "name": "João da Silva",
  "business_name": "João da Silva",
  "email": "joaodasilva@rakuten.com.br",
  "birthdate": "1988-12-22",
  "gender": "M",
  "kind": "personal",
  "addresses": [
    {
      "kind": "billing",
      "street": "Avenida Francisco Matarazzo",
      "number": 1500,
      "complement": "Andar 6",
      "district": "Água Branca",
      "city": "São Paulo",
      "state": "SP",
      "zipcode": "05001-100",
      "contact": "João da Silva",
      "country": "BR"
    }
  ],
  "phones": [
    {
      "kind": "billing",
      "reference": "mobile",
      "number": {
        "country_code": 55,
        "area_code": 11,
        "number": 966661234
      }
    }
  ]
}

Informações sobre o comprador

O comprador (customer) é composto por documento (document), nome (name), nome fantasia/nome do comprador (business_name), email, data de nascimento (birthdate), genero (gender), tipo (kind), lista de endereço (addresses) e lista de telefones (phones).

Considerações sobre o Comprador

O campo documento deve ser preenchido com o documento do comprador, que deve ser um CPF ou CNPJ. O documento deve incluir somente números.

O campo name deve ser preenchido com o nome do comprador.

O campo business_name deve ser preenchido com o nome fantasia da empresa no caso de pessoa jurídica ou o nome do comprador no caso de pessoa física.

O campo email deve ser preenchido com o e-mail do comprador.

O campo birthdate deve ser preenchido com a data de nascimento do comprador, no formato AAAA-MM-DD (Ano-Mês-Dia).

O campo gender deve ser preenchido com o gênero do comprador, sendo f para feminino e m para masculino.

O campo kind deve ser preenchido com o tipo do cliente: personal para pessoa física e business para pessoa jurídica.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
rakuten_id string false none none
document string true none Documento do comprador. CPF ou CNPJ
name string true none Nome do comprador
business_name string true none Nome fantasia se empresa, nome do comprador se pessoa física
email string true none E-mail do comprador
birthdate string true none Data de nascimento do comprador
gender string true none Gênero do comprador
kind string true none Tipo de pessoa
addresses [Address] true none none
phones [Phone] true none none

Valores enumerados

Propriedade Valor
gender F
gender M
kind personal
kind business

Address

{
  "kind": "billing",
  "street": "Avenida Francisco Matarazzo",
  "number": 1500,
  "complement": "Andar 6",
  "district": "Água Branca",
  "city": "São Paulo",
  "state": "SP",
  "zipcode": "05001-100",
  "contact": "João da Silva",
  "country": "BR"
}

Informações sobre o endereço do consumidor

O comprador (Customer) possui uma lista de endereços, que pode ter um ou mais endereços do tipo entrega (shipping) e cobrança (billing).

Propriedades

Nome Tipo Obrigatório Restrições Descrições
kind string true none Tipo de endereço
street string true none Nome da rua
number string true none Número do endereço
complement string true none Complemento do endereço. Vazio se não houver.
district string true none Bairro do endereço
city string true none Cidade do endereço
state string true none Estado do endereço
zipcode string true none CEP do endereço
contact string true none Contato no endereço
country string true none País do endereço

Valores enumerados

Propriedade Valor
kind billing
kind shipping

Phone

{
  "kind": "billing",
  "reference": "mobile",
  "number": {
    "country_code": 55,
    "area_code": 11,
    "number": 966661234
  }
}

Informações sobre o telefone do comprador

O telefone do comprador é composto por tipo (kind), a referência (reference) e uma estrutura com os dados do telefone.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
kind string true none Tipo de endereço
reference string true none Referência do telefone
number PhoneNumber true none none

Valores enumerados

Propriedade Valor
kind billing
kind shipping
reference mobile
reference home
reference others

PhoneNumber

{
  "country_code": 55,
  "area_code": 11,
  "number": 966661234
}

Informações sobre o número de telefone

A estrutura phone number contém as informações necessárias para se contruir um número de telefone, com códigos de área e de país

Propriedades

Nome Tipo Obrigatório Restrições Descrições
country_code string true none Código de país (DDI)
area_code string true none Código da cidade (DDD)
number string true none Número do telefone

Fingerprint

{
  "clearsale": "1gkbn103n501234",
  "payments": "1gkbn103n501234"
}

Informações de fingerprint do usuário

Informações são necessárias para conferir a identidade do usuário e são úteis durante a etapa de análise de risco.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
clearsale string true none fingerprint para a clearsale
payments string true none fingerprint para o rakuten pay

Order

{
  "reference": "Pedido#1",
  "description": "Pedido#1 da Loja XPTO",
  "payer_ip": "200.215.15.16",
  "items_amount": 80,
  "shipping_amount": 20,
  "shipping_time": 5,
  "taxes_amount": 10,
  "discount_amount": 15,
  "created_at": "2018-07-20T17:27:44.495Z",
  "items": [
    {
      "reference": "SKU123456",
      "description": "Camiseta sem SKU com Imagem",
      "amount": 40,
      "quantity": 2,
      "total_amount": 80,
      "categories": [
        {
          "id": 11,
          "name": "eletronicos"
        }
      ]
    }
  ]
}

Informações sobre o pedido

O pedido é composto por valor dos itens (items_amount), valor de entrega (shipping_amount), valor das taxas (taxes_amount), valor dos descontos (discount_amount) e lista de itens (items). Também é necessário informar a referencia (reference), uma descrição amigável do pedido (description), o IP do comprador (payer_ip), a data de criação do pedido (created_at) e o tempo de entrega (shipping_time).

Propriedades

Nome Tipo Obrigatório Restrições Descrições
reference string true none ID interno do pedido no serviço requisitante
description string false none Descrição amigável do pedido
payer_ip string true none IP do comprador
items_amount number true none Valor total dos items
shipping_amount number true none Valor do frete
shipping_time number true none Dias para entrega do pedido a partir da data de confirmação do pagamento
taxes_amount number true none Valor das taxas
discount_amount number true none Valor do desconto
created_at string true none Data de criação do pedido no formato iso8601
items [Item] true none none

Item

{
  "reference": "SKU123456",
  "description": "Camiseta sem SKU com Imagem",
  "amount": 40,
  "quantity": 2,
  "total_amount": 80,
  "categories": [
    {
      "id": 11,
      "name": "eletronicos"
    }
  ]
}

Informações sobre os itens do pedido

O item do pedido é composto por código de referencia (reference), descrição (description), valor (amount), quantidade (quantity) e valor total (total).

Considerações sobre o Item do Pedido

O campo reference é o código utilizado pelo integrador, recomendamos que utilize um ID único. O campo amount é o valor unitário do item. O campo quantity é a quantidade do item. O campo total é o valor total do item (amount x quantity)

Propriedades

Nome Tipo Obrigatório Restrições Descrições
reference string true none Código de referência do produto
description string true none Descrição do item
amount number true none Valor do item
quantity number true none Quantidade do ítem
total_amount number true none Valor total do item
categories [Category] true none none

Category

{
  "id": 11,
  "name": "eletronicos"
}

Informações sobre a categoria de um produto

Categoria do produto utilizada para análise de risco. Existem algumas categorias que são mais suscetíveis à ataques e, portanto, são levadas em consideração durante a análise.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
id string true none ID da categoria cadastrada na análise de risco
name string true none Nome da categoria cadastrada na análise de risco

ChargesResponse

{
  "result": "success",
  "charges": [
    {
      "reference": "Pedido#123456",
      "amount": 100,
      "currency": "BRL",
      "webhook_url": "https://www.minhaloja.com.br/webhook-url",
      "payments": [
        {
          "reference": "Pagamento#1234",
          "method": "billet",
          "amount": 100
        }
      ],
      "customer": {
        "rakuten_id": "BB753EEB-012F-48AC-9F05-63FFD8D432B1",
        "document": 12345678909,
        "name": "João da Silva",
        "business_name": "João da Silva",
        "email": "joaodasilva@rakuten.com.br",
        "birthdate": "1988-12-22",
        "gender": "M",
        "kind": "personal",
        "addresses": [
          {
            "kind": "billing",
            "street": "Avenida Francisco Matarazzo",
            "number": 1500,
            "complement": "Andar 6",
            "district": "Água Branca",
            "city": "São Paulo",
            "state": "SP",
            "zipcode": "05001-100",
            "contact": "João da Silva",
            "country": "BR"
          }
        ],
        "phones": [
          {
            "kind": "billing",
            "reference": "mobile",
            "number": {
              "country_code": 55,
              "area_code": 11,
              "number": 966661234
            }
          }
        ]
      },
      "order": {
        "reference": "Pedido#1",
        "description": "Pedido#1 da Loja XPTO",
        "payer_ip": "200.215.15.16",
        "items_amount": 80,
        "shipping_amount": 20,
        "shipping_time": 5,
        "taxes_amount": 10,
        "discount_amount": 15,
        "created_at": "2018-07-20T17:27:44.496Z",
        "items": [
          {
            "reference": "SKU123456",
            "description": "Camiseta sem SKU com Imagem",
            "amount": 40,
            "quantity": 2,
            "total_amount": 80,
            "categories": [
              {
                "id": 11,
                "name": "eletronicos"
              }
            ]
          }
        ]
      },
      "fingerprint": {
        "clearsale": "1gkbn103n501234",
        "payments": "1gkbn103n501234"
      }
    }
  ]
}

Resposta da requisição da pesquisa por cobranças

A requisição de pesquisa de cobranças retornará uma resposta, com as cobranças aderentes aos critérios passados via parâmetros.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
result string false none Resultado da Requisição. Pode ser success ou failure.
charges [Charge] false none none

Valores enumerados

Propriedade Valor
result success
result failure

ChargeResponse

{
  "charge_uuid": "532d1da8-6442-415d-ac20-89d70bb27492",
  "fingerprint": "f154df28d123b44a37e8e163a0b5b4df",
  "payments": [
    {
      "id": "da3f37a2-b844-428c-b66c-aee69e058852",
      "amount": 123.34,
      "method": "billet",
      "reference": "da3f37a2-b844-428c-b66c-aee69e058852",
      "status": "pending",
      "refundable_amount": 123.34,
      "result": "success",
      "result_messages": [
        "Mensagem de erro"
      ],
      "billet": {
        "download_url": "https://www.rakutenpay.com.br/api/v2/charges/532d1da8-6442-415d-ac20-89d70bb27492/billet"
      }
    }
  ],
  "reference": "Pedido#1",
  "result": "success",
  "result_messages": [
    "Ocorreu um erro ao gerar a transação"
  ]
}

Resposta da requisição de criação de cobrança

A requisição de criação de uma cobrança retornará uma resposta, informando se a operação foi bem sucedida.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
charge_uuid string false none Identificador único da requisição O campo id contém um identificador único dessa cobrança, que poderá ser usado em outros endpoints da API para verificar o status da cobrança.
fingerprint string false none FingerprintId para coleta de dados
payments [anyOf] false none none

anyOf

Nome Tipo Obrigatório Restrições Descrições
» anonymous PaymentResponseBillet false none none

or

Nome Tipo Obrigatório Restrições Descrições
» anonymous PaymentResponseCreditCard false none none

continued

Nome Tipo Obrigatório Restrições Descrições
reference string false none ID da cobrança no serviço que realizou a transação.
result string false none Resultado da Requisição Quando success, a cobrança está autorizada, porém ainda não passou pelo fluxo de análise de risco. Aguarde o webhook após a análise de risco. Quando pending, a cobrança está em processamento. Aguarde a resposta do webhook de atualização de status da cobrança. Quando failure, a cobrança não pode ser realizada.
result_messages [string] false none none

Valores enumerados

Propriedade Valor
result success
result failure
result pending

PaymentResponseCreditCard

{
  "id": "da3f37a2-b844-428c-b66c-aee69e058852",
  "amount": 123.34,
  "method": "credit_card",
  "reference": "da3f37a2-b844-428c-b66c-aee69e058852",
  "status": "pending",
  "refundable_amount": 123.34,
  "result": "success",
  "result_messages": [
    "Mensagem de erro"
  ],
  "credit_card": {
    "authorization_code": "E23448",
    "nsu": 1652843385,
    "number": "514029******4499",
    "processor": "cielo",
    "tid": 1652843385
  }
}

Resposta do nó de pagamento

Resposta do nó de pagamento caso método seja cartão de crédito

Propriedades

Nome Tipo Obrigatório Restrições Descrições
id string false none ID do pagamento em Rakuten Pay
amount number false none Valor do pagamento
method string false none Tipo do pagamento
reference string false none ID do charge do serviço que enviou a transação
status string false none Status atual do pagamento
refundable_amount number false none Valor estornável do pagamento
result string false none success se transação criada com sucesso failure caso haja algum erro pending quando o pagamento será processado de forma assíncrona
result_messages [string] false none none
credit_card object false none none
» authorization_code string false none Código de autorização no acquirer
» nsu string false none Número sequencial único
» number string false none Núemro do cartão de crédito
» processor string false none Nome do acquirer
» tid string false none Número da transação no acquirer

Valores enumerados

Propriedade Valor
method credit_card
result success
result failure
result pending

PaymentResponseBillet

{
  "id": "da3f37a2-b844-428c-b66c-aee69e058852",
  "amount": 123.34,
  "method": "billet",
  "reference": "da3f37a2-b844-428c-b66c-aee69e058852",
  "status": "pending",
  "refundable_amount": 123.34,
  "result": "success",
  "result_messages": [
    "Mensagem de erro"
  ],
  "billet": {
    "download_url": "https://www.rakutenpay.com.br/api/v2/charges/532d1da8-6442-415d-ac20-89d70bb27492/billet"
  }
}

Resposta do nó de pagamento

Resposta do nó de pagamento caso método seja boleto

Propriedades

Nome Tipo Obrigatório Restrições Descrições
id string false none ID do pagamento em Rakuten Pay
amount number false none Valor do pagamento
method string false none Tipo do pagamento
reference string false none ID do charge do serviço que enviou a transação
status string false none Status atual do pagamento
refundable_amount number false none Valor estornável do pagamento
result string false none success se transação criada com sucesso failure caso haja algum erro pending quando o pagamento será processado de forma assíncrona
result_messages [string] false none none
billet object false none none
» download_url string false none URL com o boleto da cobrança

Valores enumerados

Propriedade Valor
method billet
result success
result failure
result pending

Refunds

{
  "requester": "customer",
  "reason": "Produto errado recebido",
  "payments": [
    {
      "id": "b3c3eb8b-10df-4fc5-926e-f08a741df4ef",
      "amount": 10,
      "bank_account": {
        "document": 123456788909,
        "bank_code": 1,
        "bank_agency": 1234,
        "bank_number": "9876543-2"
      }
    }
  ]
}

Estrutura de estornos

Estrutura utilizada nas requisições de estorno (total e parcial) de cobranças geradas através do Rakuten Pay. Múltiplos pagamentos podem ser estornados na mesma chamada de API. Para que um pagamento seja estornável, ele deve estar aprovado.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
requester string true none Ator que solicitou o cancelamento
reason string true none Descrição do motivo do cancelamento. Texto entre 5 e 200 caracteres
payments [object] false none Identificação dos pagamentos que devem ser estornados (necessário para estornos de pagamentos via boleto ou pagamentos parciais via cartão)
» id string false none none
» amount number false none none
» bank_account object false none Dados bancários (necessário apenas para estornos de boleto).
»» document string false none none
»» bank_code string false none none
»» bank_agency string false none none
»» bank_number string false none none

Valores enumerados

Propriedade Valor
requester customer
requester merchant
requester rakuten

Cancel

{
  "requester": "customer",
  "reason": "Produto errado recebido"
}

Estrutura de cancelamento

Estrutura utilizada no cancelamento de boletos. Boletos só podem ser cancelados caso ainda não tenham sido aprovados. Caso contrário, deve-se utilizar o endpoint de estorno.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
requester string true none Ator que solicitou o cancelamento
reason string true none Descrição do motivo do cancelamento. Texto entre 5 e 200 caracteres

Valores enumerados

Propriedade Valor
requester customer
requester merchant
requester rakuten

ChargeWebhooks

{
  "status": "refunded",
  "uuid": "5a5d430e-73d9-4eab-8fbb-d8e3772e1916",
  "reference": "02C1712161498",
  "merchant": {
    "merchant_id": "ECD3FE36-E806-4752-9940-6FBAB827CE61",
    "seller_id": "639A3803-40DB-4DF8-9251-AC60C14741A4",
    "document": 90811115909
  },
  "status_history": [
    {
      "status": "refunded",
      "created_at": "2016-02-12T16:37:44-02:00"
    }
  ],
  "order": {
    "reference": "AFCBD2123",
    "items_amount": 50.85,
    "shipping_amount": 10,
    "discount_amount": 0,
    "total_amount": 60.85
  },
  "payments": [
    {
      "reference": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
      "status": "refunded",
      "amount": 74.9,
      "refundable_amount": 74.9,
      "method": "billet",
      "status_history": [
        {
          "status": "refunded",
          "created_at": "2016-02-12T16:37:44-02:00"
        }
      ],
      "billet": {
        "download_url": "http://localhost:2300/api/v1/charges/5a5d430e-73d9-4eab-8fbb-d8e3772e1916/billet/download",
        "number": 123456
      },
      "credit_card": {
        "authorization_code": "E57864",
        "number": "514029******4499",
        "processor": "elavon",
        "tid": 1259828681,
        "nsu": 1259828681
      }
    }
  ],
  "subscription": {
    "id": "f3569a4d-6c91-4f3f-abe1-6b692cb5c63a",
    "reference": "02C1712161498",
    "periodicity": "monthly",
    "status": "pending"
  },
  "refunds": [
    {
      "id": "2affd63e-f9b1-471b-a5c9-2cd06d6a82de",
      "amount": 474.9,
      "reason": "Cliente devolveu todos os produtos",
      "requester": "customer",
      "status": "refunded",
      "created_at": "2017-11-16T13:55:38-02:00",
      "payments": [
        {
          "id": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "amount": 10,
          "status": "pending",
          "bank_withdraw_uuid": "02e76fb4-4d2f-4ddb-9138-b6089d6f3cf2",
          "bank_withdraw": {
            "id": 123456,
            "status": "pending",
            "document": 1596581234,
            "bank_code": 1,
            "bank_agency": 291123,
            "bank_number": 2234,
            "amount": 223
          }
        }
      ]
    }
  ]
}

Estrutura de retorno de callbacks

Estrutura que retorna o status de um pedido. Retornado tanto pelos Webhooks quanto pelas APIs de cancelamento de cobrança.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
status string false none Status atual do charge pending: aguardando autorização authorized: autorizado, aguardando confirmação do pagamento approved: pagamentos confirmados cancelled: cobrança cancelado partial_refunded: cobrança estornada parcialmente refunded: cobrança estornada totalmente
uuid string false none ID da cobrança no Rakuten Pay
reference string false none ID do pedido no serviço que gerou a cobrança
merchant object false none Informações do lojista cadastrado no gateway
» merchant_id string false none ID da conta cadastrada no gateway
» seller_id string false none ID da loja cadastrada no serviço solicitante
» document string false none Documento (CPF ou CNPJ) da conta do lojista
status_history [object] false none Histórico de status
» status string false none Status da mudança pending: aguardando autorização authorized: autorizado, aguardando confirmação do pagamento approved: pagamentos confirmados cancelled: cobrança cancelado partial_refunded: cobrança estornada parcialmente refunded: cobrança estornada totalmente
» created_at string(date-time) false none Data e hora da mudança de status em iso8601
order object false none Informações do pedido
» reference string false none ID do pedido
» items_amount number false none Valor total de items
» shipping_amount number false none Valor do frete
» discount_amount number false none Valor do frete
» total_amount number false none Valor total do pedido
payments [object] false none none
» reference string false none ID de referência do pagamento da cobrança
» status string false none Status da mudança pending: aguardando autorização authorized: autorizado, aguardando confirmação do pagamento approved: pagamentos confirmados cancelled: cobrança cancelado partial_refunded: cobrança estornada parcialmente refunded: cobrança estornada totalmente
» amount number false none Valor do pagamento
» refundable_amount number false none Valor limite de estorno parcial
» method string false none Tipo do pagamento
» status_history [object] false none Histórico de status
»» status string false none Status da mudança pending: aguardando autorização authorized: autorizado, aguardando confirmação do pagamento approved: pagamentos confirmados cancelled: cobrança cancelado partial_refunded: cobrança estornada parcialmente refunded: cobrança estornada totalmente
»» created_at string(date-time) false none Data e hora da mudança de status em iso8601
» billet object false none Informação de pagamento com boleto
»» download_url string false none URL para JSON com informações de boleto
»» number string false none Número do registro do boleto no Rakuten Pay
» credit_card object false none Informações de pagamento com cartão de crédito
»» authorization_code string false none Código de autorização
»» number string false none Número do cartão de crédito
»» processor string false none Nome do acquirer
»» tid string false none Número da transação no acquirer
»» nsu string false none Número único no adquirente
» subscription object false none Estrutura de assinatura
»» id string false none ID da assinatura
»» reference string false none ID de referência do pagamento na cobrança
»» periodicity string false none Periodicidade da assinatura
»» status string false none Status da assinatura
» refunds [object] false none none
»» id string false none ID de referência do estorno no charge
»» amount number false none Valor do estorno
»» reason string false none Descrição do motivo do estorno
»» requester string false none O solicitante do estorno
»» status string false none Status do retorno
»» created_at string(date-time) false none Data e hora da solicitação de estorno
»» payments [object] false none none
»»» id string false none ID de referência do pagamento estornado
»»» amount number false none Valor estornado
»»» status string false none Status do estorno
»»» bank_withdraw_uuid string false none Se boleto, ID de Referência da devolução na conta bancária do comprador
»»» bank_withdraw object false none none
»»»» id string false none ID do resgate
»»»» status string false none Status do resgate
»»»» document string false none Documento da conta do resgate
»»»» bank_code string false none Código do banco
»»»» bank_agency string false none Número da agência
»»»» bank_number string false none Número do banco
»»»» amount number false none Valor do resgate

Valores enumerados

Propriedade Valor
status pending
status authorized
status approved
status cancelled
status partial_refunded
status refunded
method billet
method credit_card
periodicity monthly
status pending
status trial
status active
status inactive
status cancelled
status partial_refunded
status refunded
status pending
status booked
status sent_to_bank
status scheduled
status approved
status completed
status rejected

ReleasesResponse

{
  "result": "success",
  "pagination": {
    "page": 1,
    "per_page": 50,
    "page_count": 2,
    "total_count": 2
  },
  "releases": [
    {
      "reference": "Pedido#123456",
      "installment": "01/05",
      "available_on": "2016-10-15T14:35:40-03:00",
      "status": "holding",
      "amount": 12.34,
      "fee_amount": 0,
      "available_amount": 0,
      "available_at": "2016-10-15T14:35:40-03:00",
      "cancelled_at": ""
    }
  ]
}

Resposta da requisição de liberações

A requisição de pesquisa de liberações aderentes aos critérios passados via parametros.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
result string false none Resultado da Requisição. Pode ser success ou failure.
pagination Pagination false none none
releases [object] false none none
» reference string false none Referência do Pedido
» installment string false none Número de parcelas
» available_on string false none Data em que a liberação estará disponível
» status string false none Status da liberação
» amount number false none Valor da liberação
» fee_amount number false none Taxa da liberação
» available_amount number false none Valor disponível da liberação
» available_at string false none Data em que a liberação estará disponível
» cancelled_at string false none Data de cancelamento da liberação

Valores enumerados

Propriedade Valor
result success
result failure

BankWithdrawsResponse

{
  "result": "success",
  "pagination": {
    "page": 1,
    "per_page": 50,
    "page_count": 2,
    "total_count": 2
  },
  "releases": [
    {
      "id": "a56bfef5-7570-49f6-9edb-889a515d8360",
      "created_at": "2016-10-15T14:35:40-03:00",
      "advanced_amount": 0,
      "available_amount": 76.01,
      "fee_amount": 0,
      "total_amount": 76.01,
      "status": "sent_to_bank",
      "status_history": [
        {
          "status": "pending",
          "created_at": "2016-11-30T15:31:51-02:00"
        }
      ]
    }
  ]
}

Resposta da requisição de resgates

A requisição de pesquisa de resgates aderentes aos critérios passados via parametros.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
result string false none Resultado da Requisição. Pode ser success ou failure.
pagination Pagination false none none
releases [object] false none none
» id string false none ID do resgate
» created_at string(date-time) false none Data de criação do resgate
» advanced_amount number false none Valor dos adiantamentos de resgate
» available_amount number false none Valor disponível para resgate
» fee_amount number false none Taxa cobrada no resgate
» total_amount number false none Valor total do resgate
» status string false none Status do resgate
» status_history [object] false none none
»» status string false none none
»» created_at string(date-time) false none none

Valores enumerados

Propriedade Valor
result success
result failure
status pending
status booked
status sent_to_bank
status scheduled
status approved
status completed
status rejected

Pagination

{
  "page": 1,
  "per_page": 50,
  "page_count": 2,
  "total_count": 2
}

Estrutura do objeto de paginação

Possui todas as informações necessárias para que a loǵica de paginação possa ser implementada do lado do cliente.

Propriedades

Nome Tipo Obrigatório Restrições Descrições
page integer(int32) false none Página corrente
per_page integer(int32) false none Número de ítems por página
page_count integer(int32) false none Número total de páginas
total_count integer(int32) false none Número total de ítems