Payment Provider
A Payment Provider, shorter name for Payments Services Provider, represents any entity which provides all the necessary resources and infrastructure for merchants and consumers to execute Transactions between them. This entities could be any of the following:
- Aggregator
- Acquirer
- Gateway
Payments companies have many different and sometimes complex features which add value to the purchase experience, mainly providing multiple payments options and simpler checkout flows. They also provide merchants with tools to make better management of their Transactions as well as their incomes.
In our platform, a Payment Provider is created for a specific store
.
Note: This endpoint is for the exclusive use of payment apps.
Note: To create a Payments App you need to create an App in the Partners Portal and request our Partner Support Team (partners@nuvemshop.com.br/partners@tiendanube.com) to enable your app to access our Payments APIs.
Properties
Field | Type | Description |
---|---|---|
id | String | [Read-only] Unique identifier of the Payment Provider object. |
store_id | Integer | [Read-only] Id of the store to which the Payment Provider belongs. |
app_id | String | [Read-only] Id of the app to which the Payment Provider belongs. |
name | String | Name to be displayed to merchants at the store admin tool. |
public_name | String | [Optional] Name to be displayed to consumers at the storefront. If not specified, the same value as name is used. |
description | String | Short paragraph which provides merchants with a description of the Payment Provider. |
logo_urls | Object | Object containing key:value pair for each version of the logos for the frontend. Only supports HTTPS URLs. See Logos. |
supported_currencies | Array(String) | ISO.4217 currency codes supported by the Payment Provider. See Currency Codes. |
supported_payment_methods | Array(Object) | List of available payment methods for each payment method type. See Payment Methods. |
checkout_js_url | String | HTTPS URL of the JavaScript file to be included in the checkout frontend. See Checkout. |
checkout_payment_options | Array(Object) | Object containing the available payment options for the checkout frontend. See Checkout Payment Options. |
configuration_url | String | [Optional] HTTPS URL of the Payment Provider configuration UI. |
support_url | String | [Optional] Payment Provider support site HTTPS URL. |
rates | Array(Object) | [Optional] List of rates definitions for merchants by payment method type. See Rates. |
rates_url | String | [Optional] HTTPS URL of the Payment Provider's rate information site. |
features | Array(String) | [Optional] List of features offered by the Payment Provider. See Features. |
enabled | Boolean | [Optional] Indicates whether the Payment Provider is activated or deactivated in the store. Defaults to true . |
authentication | Object | [Optional] Object containing the authentication method type and the store credentials to use on payment processing requests. See Authentication. |
Note: All URLs must be secure URLs (https).
Note: Read-only properties will only appear in our responses, which means that should not be part of the requests.
Logos
At the moment, our platform requires two versions of the Payment Provider logo. Each image must be sent as a key:value
pair, being the key the dimension of the image and the value, the HTTPS URL of its content.
Dimension | URL Content Description |
---|---|
400x120 | PNG file with transparent background. Dimensions not greater than 400px (width) x 120px (height). (As of 01/01/2019). |
160x100 | PNG file with white background. Dimensions must be 160px (width) x 100px (height). (As of 01/01/2019). |
Currency Codes
Every amount value needs to be complemented by a currency. Supported currency codes must be specified according to ISO 4217. The currencies currently supported on our platform are:
ARS
: Argentine PesoAUD
: Australian DollarBOB
: Bolivian BolivianoBRL
: Brazilian RealCAD
: Canadian DollarCRC
: Costa Rican ColonCLP
: Chilean PesoCNY
: Chinese YuanCOP
: Colombian PesoEUR
: EuroGBP
: British PoundILS
: Israeli New ShekelINR
: Indian RupeeJPY
: Japanese YenMXN
: Mexican PesoPEN
: Peruvian SolPYG
: Paraguayan GuaraniRUB
: Russian RubleSEK
: Swedish KronaUSD
: US DollarVEF
: Venezuelan BolivarUYU
: Uruguayan PesoZAR
: South African Rand
Payment Method Types
There are many companies providing payment methods of different types. Currently, our platform supports the following payment methods types.
Payment Method Type | Description |
---|---|
bank_debit | Transaction in which the consumer uses bank debit as payment method. |
boleto | Transaction in which the consumer uses a Boleto Bancário as payment method. Boleto is a Brazilian payment method based on cash. |
cash | Transaction in which the consumer uses cash as payment method. |
credit_card | Transaction in which the consumer uses a credit card as payment method (E.g. VISA, Mastercard, AMEX). |
debit_card | Transaction in which the consumer uses a debit card as payment method (E.g. VISA Debit, Maestro). |
pix | Transaction in which the consumer uses PIX as payment method. PIX is a Brazilian payment method based on transfers between financial institutions. |
ticket | Transaction in which the consumer uses a ticket as payment method. This ticket can be paid through a non-bank collection channel (E.g. Rapipago, Pago Fácil, OXXO). |
wallet | Transaction in which the consumer uses a wallet as payment method. A wallet is an application that allows you to transfer money. |
wire_transfer | Transaction in which the consumer uses a wire transfer as payment method. |
Payment Methods
Depending on the kind of Payment Provider (Aggregator, Acquirer, Gateway), they may integrate to our platform one or many payment methods for each payment method type.
If applicable, the installments data supported by the payment method type is detailed here.
Field | Type | Description |
---|---|---|
payment_method_type | String | One of the available Payment Method Types. |
payment_methods | Array(String) | The list of supported payments method IDs by the given payment method type. See Supported Payment Methods by Payment Method Type. |
installments | Object | [Optional] Object containing the installments available to consumers. See Installments. |
Installments
Most Payment Providers provide different installment based payments options.
Note: At the moment, installments are only allowed for credit_card
payment method type.
Field | Type | Description |
---|---|---|
specification | Array(Object) | Check Specification section below for a description of this field. |
min_installment_value | Array(Object) | [Optional] List of minimum installment values accepted by each currency. See Money for items format. |
Note: An example for
min_installment_value
would be"currency": "BRL
and"amount": "5"
. For instance, if the total amount to be payed is50 BRL
, then the consumer can choose to make the payment in up to 10 installments because the value of each of them would be50 / 10 = 5
. However, the consumer won't be able to choose to spread the payment into 12 installments because50 / 12 = 4.17
and4.17 < 5
.
Specification
The specification field allows the use of specific business rules. This specification is intended to support future business rules as well, so expect this feature to support more fields in the future. Therefore, feel free to discuss more functionalities with Nuvemshop's Platform Team.
Field | Type | Description |
---|---|---|
installments | Integer | Number of installments. E.g. 3 . |
interest_rate | String | Rate to be applied to the total amount for this installments option. E.g. "0.015" . |
applies_to | Array(String) | [Optional] List of supported values (banks, card brands, etc.) to which this installments option applies. |
Note: Interest rates are percentages expressed in fractions of 1 in
String
format for better decimal precision handling. For instance, an interest rate of6.5%
would be expressed as6.5 / 100 = 0.065
, which stringified would be "0.065".
Rates
Payment Providers may charge merchants with different rates per Transaction depending on the payment method type and the time the merchant chooses to withdraw the money. Hence, for each payment method type there would be a list of rates depending on the withdrawal time specified in days.
Field | Type | Description |
---|---|---|
payment_method_type | String | Payment method type to which the rates definition refer. See Payment Method Types. |
rates_definition | Array(Object) | Object containing the rates details. See Rates Definition section bellow. |
Rates Definition
Field | Type | Description |
---|---|---|
percent_fee | String | Percentage fee charged per payment. E.g. "1.250" . |
days_to_withdraw_money | Integer | Days since Transaction creation until de merchant can withdraw the money. |
flat_fee | Object | [Optional] Object containing the flat fee charged per payment. See Money. |
plus_tax | Boolean | [Optional] Indicates whether VAT will be added to the specified rates. |