Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development #308

Merged
merged 30 commits into from
Feb 28, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f228946
Advanced Payments documentation
dpaleo Feb 8, 2019
bf62eca
Remove old Advanced Payments documentation
dpaleo Feb 8, 2019
6c286df
Refactor file names
dpaleo Feb 8, 2019
fbe7e51
Remove old status map image
dpaleo Feb 8, 2019
3899368
Fix link PCI
Feb 18, 2019
b32972a
Merge branch 'master' of github.com:mercadopago/devsite-docs
Feb 19, 2019
2848494
fix mkplace
Feb 19, 2019
29b9dbf
fix link point
Feb 19, 2019
18d8fa5
fix notification links
Feb 19, 2019
7270145
- Get identification types in payments API docs does not apply to Mexico
mminestrelli Feb 19, 2019
c6cb777
- Added AMEX test card in Mexico
mminestrelli Feb 19, 2019
5abfb00
fix /en guides
Feb 19, 2019
71c3042
fix /en reference
Feb 19, 2019
aea13e8
other /en fix
Feb 19, 2019
7b2e546
fix link notification
Feb 19, 2019
f1448be
Merge pull request #299 from dpaleo/advanced_payments
mminestrelli Feb 19, 2019
35af3bb
Merge pull request #304 from mercadopago/fix/jira_feedback
mminestrelli Feb 19, 2019
c86fa30
Merge pull request #303 from mercadopago/fix-home-webtokenize
mminestrelli Feb 19, 2019
1ce78b3
Merge branch 'development' of github.com:mercadopago/devsite-docs int…
Feb 19, 2019
d49e8ac
Merge pull request #305 from mercadopago/feature/links_hardcoded
mminestrelli Feb 19, 2019
3d25e55
- Fix Advanced payments links
mminestrelli Feb 19, 2019
ef11eec
- Fixes MPDX-449 MPDX-504 MPDX-455
Feb 19, 2019
43c2d58
Merge branch 'development' of github.com:mercadopago/devsite-docs int…
Feb 19, 2019
2806c1d
Merge pull request #306 from mercadopago/fixes/jira_issues
mminestrelli Feb 19, 2019
63320ce
- Fixed locals
mminestrelli Feb 19, 2019
b7c4fe1
Merge branch 'development' of github.com:mercadopago/devsite-docs int…
mminestrelli Feb 19, 2019
c736108
- Fix links
mminestrelli Feb 19, 2019
b8210eb
hidden advance payments api reference
Feb 20, 2019
01858b1
introduction
Feb 20, 2019
44d8ee6
touch Licence
Feb 21, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.
11 changes: 11 additions & 0 deletions guides/advanced-payments/binary_mode.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Pagos binarios

Se puede definir el pago para que la respuesta sea instantánea o no.

En caso de que sea instantánea, la respuesta del pago será `approved` o `rejected` (sin estados intermedios). Por el contrario, el pago puede quedar en estado pendiente esperando por ejemplo la acreditación del pago en el caso de Medios Offline o pagos con tarjeta de crédito de montos elevados donde el Comprador debe llamar a la entidad de la tarjeta para autorizar el pago.

Esta lógica se puede manejar seteando, en la raíz del Advanced Payment, el campo `binary_mode` en `true` para que devuelva la respuesta inmediata y `false` para lo contrario.

```json
"binary_mode": true
```
19 changes: 19 additions & 0 deletions guides/advanced-payments/cancel_advanced_payment.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Cancelar un Advanced Payment

Se podrá cancelar un Advanced Payment que haya quedado en estado `pending`. Estos casos se pueden dar para los pagos con Medios offline o algún pago con tarjeta de crédito que haya entrado en el flujo de revisión manual.

###### Request
```curl
curl -X PUT \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/ID?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```

###### Body
```json
{
"status": "cancelled"
}
```
21 changes: 21 additions & 0 deletions guides/advanced-payments/capture_advanced_payment.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Capturar un Advanced Payment

La API de Advanced Payment permite realizar pagos del tipo [Autorización y Captura](https://www.mercadopago.com.ar/developers/es/guides/payments/api/authorization-and-capture). Para estos casos se debe crear un Advanced Payment con el campo `capture` en `FALSE`, el cual reservará el monto hasta que se capture.

Para capturarlo debes hacerlo de la siguente forma:

###### Request
```curl
curl -X PUT \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/ID?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```

###### Body
```json
{
"capture": true
}
```
19 changes: 19 additions & 0 deletions guides/advanced-payments/customers-and-cards.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Pagos con Customers

La API de Advanced Payments permite realizar pagos con Clientes y tarjetas guardadas para integradores que trabajen con este modelo de negocio.

> NOTE
>
> Ver referencia de [Customers & Cards](https://www.mercadopago.com.ar/developers/es/guides/payments/api/customers-and-cards) para mayor información.

Para crear un pago usando `Customers`, se setea el ID del usuario y el tipo con el valor `customer`.

```json
{
"payer": {
"id": "213693707-b2i8UYRe5h9NQv",
"type": "customer"
},
...
}
```
18 changes: 18 additions & 0 deletions guides/advanced-payments/idempotency.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## Idempotencia

En ocasiones se pueden presentar problemas de conexión, caídas de servicios, etc. que podrían interrumpir la comunicación al enviar o recibir los datos para crear un Advanced Payment.

Para asegurar la creación del mismo, se puede reintentar el envío de los mismos datos, pero es posible que el Advanced Payment ya se haya creado y debido a la interrupción no se recibió la respuesta correcta, ocasionando que, al realizar el reintento, se genere un nuevo Advanced Payment.

Para evitar el duplicado, se puede enviar de una clave única en el header `X-Idempotency-Key` que identifique la creación de un único Advanced Payment no importa cuantas veces se envíen los mismos datos.

De esta manera, cuando se haga el reintento, se puede enviar la misma clave para indicar que es el mismo proceso. Si el Advanced Payment ya fué creado, se devuelve la información del mismo sin crear uno nuevo.

```curl
curl -X POST \
-H 'X-Idempotency-Key: faDF8323asd298' \
-H 'accept: application/json' \
-H 'content-type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```
16 changes: 16 additions & 0 deletions guides/advanced-payments/index.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Índice

* [Introducción](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/introduction)
* [Inicio rápido split de pagos](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/split-quick-start)
* [Liberación flexible](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/split-flexible_release)
* [Obtención de permisos de vendedores](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/sellers-permissions)
* [Clientes y tarjetas](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/customers-and-cards)
* [Medios offline](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/offline_methods)
* [Reembolsos](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/refund_advanced_payment)
* [Autorización y captura](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/capture_advanced_payment)
* [Cancelación de pagos](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/cancel_advanced_payment)
* [Modo binario](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/binary_mode)
* [Búsquedas y conciliación](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/search_and_conciliation)
* [Mapa de estados y Webhooks](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/status-map-and-webhooks)
* [Idempotencia](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/idempotency)
* [Métodos de pago soportados](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/supported-payment-methods)
32 changes: 32 additions & 0 deletions guides/advanced-payments/introduction.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Advanced Payments

## Introducción

Advanced Payments es una API que permite procesar pagos con funcionalidades adicionales a la [API de Payments](https://www.mercadopago.com.ar/developers/es/guides/payments/api/introduction/) regular. Actualmente permite realizar pagos de Marketplace con split.

#### Pagos de Marketplace con split

La funcionalidad de Split de Pagos brinda una solución para los pagos de Marketplace donde el modelo de negocio requiere dividir el dinero entre múltiples Vendedores.

> NOTE
>
> Para más información dirigirse a la documentación de [Marketplaces](https://www.mercadopago.com.ar/developers/es/guides/marketplace/api/introduction/).

##### División de pagos

* Un pago efectuado por un Comprador que corresponde a un Marketplace, se divide entre múltiples Vendedores.
* La división se realiza al momento de la aprobación del pago.
* No hay un límite de Vendedores para dividir el dinero y el Marketplace obtiene una comisión por cada venta efectuada.
* Se puede configurar quién paga la comisión de Mercado Pago.

##### Flexibilidad para aplicar comisión

* El Marketplace retiene una parte del monto de la venta en concepto de comisión.
* La comisión que cobra el Marketplace se aplica pago a pago.
* Esto permite tener distintas comisiones para distintos Vendedores y a su vez distintas comisiones según el tipo o categoría del producto que ofrezca un Vendedor.

##### Liberación flexible de dinero de Vendedores

* Al momento de la integración se configura un rango de días en el cual se podrá liberar el dinero de los Vendedores.
* La liberación se setea en cada pago y puede modificarse posteriormente.

39 changes: 39 additions & 0 deletions guides/advanced-payments/offline_methods.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Pagos con Medios Offline

Se pueden realizar pagos con medios de pago offline o efectivo además de tarjetas de crédito o débito.

> NOTE
>
> Puedes consultar los [medios de pago offline](https://www.mercadopago.com.ar/developers/es/guides/payments/api/other-payment-ways) para más información.
> También puedes ver los [medios de pago soportados](https://www.mercadopago.com.ar/developers/es/guides/advanced-payments/supported-payment-methods) por la API de Advanced Payments.

###### Request
En el `body` del request debes definir el tipo de pago como `ticket` y el método según el país.
```json
{
...
"payments": [
{
"payment_method_id": "bolbradesco",
"payment_type_id": "ticket",
...
}
]
}
```

###### Response
En la respuesta, encontrarás el campo "external_resource_url" con la url que contiene las instrucciones para que el Comprador pueda pagar.
```json
{
"payments": [
{
"payment_method_id": "bolbradesco",
"payment_type_id": "ticket",
...
"external_resource_url": "http://www.mercadopago.com/mla/payments/ticket/helperpayment_id=4265666119&payment_method_reference_id=3575111597&caller_id=121212&hash=87069857reydfhgjhkjliouy7t6rd",
...
}
]
}
```
35 changes: 35 additions & 0 deletions guides/advanced-payments/refund_advanced_payment.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## Reembolso de un Advanced Payment

Se puede hacer el reembolso del Advanced Payment completo o de un `disbursement` individual.

Si se reembolsa el Advanced Payment completo, este quedará con el estado `refunded`. En caso de realizar un reembolso parcial, el Advanced Payment quedará en estado `partially_refunded.

> WARNING
>
> Hay que tener en cuenta que este proceso no es inmediato. Cuando se realiza el reembolso, se dispara un proceso asincrónico para reembolsar todos los pagos generados. El cambio de estado del Advanced Payment se informará mediante Webhooks.

###### Reembolso de un Advanced Payment completo
```curl
curl -X POST \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/ID/refunds?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```

###### Reembolso de un Disbursement individual
```curl
curl -X POST \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/ID/disbursements/DISBURSEMENT_ID/refunds?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```

También es posible hacer el reembolso por un monto menor al capturado en un `disbursement` individual. Solo hay que enviar en el `body` el parámetro `amount` con el monto deseado.

```json
{
"amount": 10.2
}
```
67 changes: 67 additions & 0 deletions guides/advanced-payments/search_and_conciliation.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
## Búsqueda y Conciliación

Una parte importante de la generación de pagos es la conciliación. La API permite realizar búsquedas de tus `advanced payments` para poder conciliar todas las operaciones que se hicieron a través de tu Marketplace.

Se puede buscar a través de la API de Advanced Payments.

###### Request
```curl
curl -X POST \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/search?access_token=MKT_ACCESS_TOKEN&limit=10&offset=0'
```

###### Response
Lo cual retorna los resultados en una estructura que muestra además la cantidad de resultados e información para la paginación de los mismos.
```json
{
"paging": {
"total": 3,
"limit": 10,
"offset": 0
},
"results": [
{
"id": 11111111,
"status": "approved",
...
},
{
"id": 22222222,
"status": "rejected",
...
},
{
"id": 33333333,
"status": "pending",
...
}
]
}
```

##### Filtros de búsqueda

Estado |Descripción |
----------------------------|-------------------------------------------------------------------|
date_created |Fecha de creación del Advanced Payment. |
status |Estado del Advanced Payment. |
payment.id |ID del pago del comprador. |
payment.payment_method_id |Método del pago. |
payment.external_reference |ID generado para este pago de entrada en particular. |
payment.transaction_amount |Monto del pago. |
payer.id |ID del comprador. |
payer.email |Email del comprador. |
disbursement.collector_id |ID del vendedor. |
external_reference |ID generado por el marketplace que identifica el Advanced Payment. |

### Exportar Activities

Además está la posibilidad de exportar las activities desde el listado de tu cuenta de Mercado Pago con el link `Exportar`.

![export_activities](/images/advanced-payments/export_activities.png)

Puedes seleccionar los filtros que necesites y elegir el formato CSV o XLS para realizar la conciliación de forma manual.

![export_activities_2](/images/advanced-payments/export_activities_2.png)
5 changes: 5 additions & 0 deletions guides/advanced-payments/sellers-permissions.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Obtención de permisos y datos del Merchant

El Marketplace que desee integrarse, debe solicitar permisos a sus Merchants para poder operar y realizar pagos en su nombre. Para ello, debe seguir los pasos de [Mercado Pago Connect](https://www.mercadopago.com.ar/developers/es/guides/marketplace/api/create-marketplace).

Al seguir estos pasos, el Marketplace podrá obtener el `user_id` que lo debe utilizar como `collector_id` en cada `disbursement` que desee crear en el Advanced Payment. Es importante guardar el user_id del merchant para poder identificar el propietario de la cuenta de Mercado Pago en caso que haga falta.
60 changes: 60 additions & 0 deletions guides/advanced-payments/split-flexible_release.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
## Liberación flexible

Al momento de la integración se configura un rango de días en el cual se podrá liberar el dinero de los Vendedores.

Esta liberación se setea en cada pago con el campo `money_release_days` y puede modificarse posteriormente.

> NOTE
>
> Si no se manda este campo, se setea por defecto el máximo número de días del rango de liberación configurado en el Marketplace.

```json
{
...
"disbursements": [
{
...
"money_release_days": 15
},
{
...
"money_release_days": 30
}
],
...
}
```

Una vez creado, se puede cambiar la fecha de liberación tanto del Advanced Payment completo o de un `disbursement` individual.

> NOTE
>
> Esta fecha debe estar dentro del rango de liberaciones definida anteriormente.

###### Cambio de fecha para un Advanced Payment completo

```curl
curl -X POST \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/ID/disburses?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```

###### Cambio de fecha para un Disbursement individual

```curl
curl -X POST \
-H 'Accept":"application/json' \
-H 'Content-Type: application/json' \
'https://api.mercadopago.com/v1/advanced_payments/ID/disbursements/DISBURSEMENT_ID/disburses?access_token=MKT_ACCESS_TOKEN' \
-d '{...}'
```

En el `body` debemos definir la nueva fecha de liberación.

```json
{
"money_release_date": "2018-07-10T10:23:18.000-04:00"
}
```
Loading