The purpose of this guide is to explain how to create a transaction in Argentina step by step. Monnet has available 3 Payment methods in Argentina: Cards (Tarjetas), Online (Banca por internet) and Cash (Pagar en efectivo).
IMPORTANT REMINDER:All fields must be included on request no matter if they are required or optional. Also pay attention on payinCustomerName (fist name), payinCustomerLastName , payinCustomerEmail and payinCustomerPhone on each case. This four fields must NOT be sent with empty values on any case.
Credit / Debit Card or Cash
To create an online payment using Monnet Payments API, you must call the method online-payments as shown in the following example:
Field | Description |
---|---|
payinMerchantID | Integer (Required) Merchant Identifier for the Payin API. |
payinAmount | Decimal (Required) The amount of the transaction. Use 2 decimals. |
payinCurrency | String (Required, ISO-4217) The currency of the transaction Example ARS |
payinMerchantOperationNumber | String (Required, max-lenght = 50) Reference number of the sale. This value is used to notify Merchants about a payment. |
payinMethod | String (Required) Payment Method Identifier for the Payin API. EX: "TCTD" for credit or debit card Full List Debit card minimum amount is AR$ 10.00 |
payinVerification | String (Required) HASH SHA512 of: payinMerchantID+ payinMerchantOperationNumber+ payinAmount+ payinCurrency+ KeyMonnet |
payinTransactionOKURL | String (Required) (max 250 chars) URL where the customer will be redirected from the online banking if payment was successful (Must be Https) |
payinTransactionErrorURL | String (Required) (max 250 chars) URL where the customer will be redirected from the online banking if payment was wrong.(Must be Https) |
payinExpirationTime | Integer (Required) Time in minutes to expire the token. Minimum Suggested: Online: 30 minutes Cash: Allways will be 24 hours (value can be set as "1") Bank Transfer: 2 minutes to 72hs (value is to be set as "02" as minimun, 4320 as maximun ) |
payinLanguage | String (Required, ISO 639-1) Example: EN, ES, PT, DE, etc. |
payinCustomerEmail | String (Required) Contains the customer's email |
payinCustomerName | String (Required) Contains the customer's first name |
payinCustomerLastName | String (Required) Contains the customer's last name |
payinCustomerTypeDocument | String (Required) Contains the customer's type of document. payinCustomerTypeDocument |
payinCustomerDocument | String (Required) Contains the customer's document number |
payinCustomerPhone | String (Required) Contains the customer's mobile number |
payinCustomerAddress | String (Required) Customer information |
payinCustomerCity | String (Required) Customer information |
payinCustomerRegion | String (Required) Customer information |
payinCustomerCountry | String (Required) Customer information |
payinCustomerZipCode | String (Required) Customer information |
payinCustomerShippingName | String (Required) Customer information |
payinCustomerShippingPhone | String (Required) Customer information |
payinCustomerShippingAddress | String (Required) Customer information |
payinCustomerShippingCity | String (Required) Customer information |
payinCustomerShippingRegion | String (Required) Customer information |
payinCustomerShippingCountry | String (Required) Customer information |
payinCustomerShippingZipCode | String (Required) Customer information |
payinRegularCustomer | String (Optional) Customer information |
payinCustomerID | String (Optional) Customer information (PSPs must complete submerchant name mandatory) |
payinDiscountCoupon | String (Requied) Customer information |
payinFilterBy | String (Optional) Customer information |
payinProductID | String (Required) Product information. Can not be empty, could send a default value i.e. "0" |
payinProductDescription | String (Required) Product information. Can not be empty, could send a default value i.e. "0" |
payinProductAmount | String (Required) Product information. Can not be empty, could send a default value i.e. "0" |
payinDateTime | String (Required) Date of the transaction. Can not be empty, could send a default value i.e. date |
payinProductSku | String (Required) Product information. Can not be empty, could send a default value i.e. "0" |
payinProductQuantity | String (Required) Product information. Can not be empty, could send a default value i.e. "0" |
URLMonnet | String (Required) Value in cert environment: https://cert.monnetpayments.com/api-payin/v1/online-payments Value in prod environment: https://payin.api.monnetpayments.com/api-payin/v1/online-payments |
typePost | String (Required) Value: json |
Sample request
Pay attention on fields name format, must be Camel Case as shown below:
data: {
"payinMerchantID": "00",
"payinAmount": "10.00",
"payinCurrency": "ARS",
"payinMerchantOperationNumber": "12345",
"payinMethod": "TCTD",
"payinVerification": "453cb9022eae7f9a1cecc8b1f84a6bb26db5bb21fd86b3f2ff473bffb02ceb69955a17b19d098b1fcfdd906c4ded24ee692b8829bc266c91dc6cb5451095331c",
"payinCustomerName": "test",
"payinCustomerLastName": "test",
"payinCustomerEmail": "[email protected]",
"payinCustomerPhone": "963852741",
"payinCustomerTypeDocument": "DNI",
"payinCustomerDocument": "10257466",
"payinRegularCustomer": "test",
"payinCustomerID": "test",
"payinDiscountCoupon": "test",
"payinLanguage": "ES",
"payinExpirationTime": "120",
"payinDateTime": "test",
"payinTransactionOKURL": "https://www.google.com/p",
"payinTransactionErrorURL": "https://www.google.com/",
"payinFilterBy": "test",
"payinCustomerAddress": "test",
"payinCustomerCity": "test",
"payinCustomerRegion": "test",
"payinCustomerCountry": "test",
"payinCustomerZipCode": "test",
"payinCustomerShippingName": "test",
"payinCustomerShippingPhone": "963852741",
"payinCustomerShippingAddress": "test",
"payinCustomerShippingCity": "test",
"payinCustomerShippingRegion": "test",
"payinCustomerShippingCountry": "test",
"payinCustomerShippingZipCode": "test",
"payinProductID": "1",
"payinProductDescription": "test",
"payinProductAmount": "1",
"payinProductSku": "1",
"payinProductQuantity": "1",
"URLMonnet": "https://cert.monnetpayments.com/api-payin/v1/online-payments",
"typePost": "json"
}
Response
On the response you will get the result of the transaction
{
"url": "https://paymenturlexample.com/",
"payinErrorCode": "00",
"payinErrorMessage": "Transaccion autorizada",
"payinTrxOperation": "string"
}
{
"url": "",
"payinErrorCode": "99",
"payinErrorMessage": "Transaccion denegada",
"payinTrxOperation": "string"
}
{
"url": "",
"payinErrorCode": "999",
"payinErrorMessage": "Transaccion denegada",
"payinTrxOperation": "string"
}
When the transaction is created, the Status of the transaction will be returned. The final status of the transaction will be confirmed on the Notification.
Bank Transfer
URL
API V3 (for JSON format to generate a ticket):
Certification: https://cert.monnetpayments.com/api-payin/v3/online-payments
Production: https://payin.api.monnetpayments.com/api-payin/v3/online-payments
Request
Field | Description |
---|---|
payinMerchantID | Integer (Required) Merchant Identifier for the Payin API. |
payinAmount | Decimal (Required) The amount of the transaction. Use 2 decimals. |
payinCurrency | String (Required, ISO-4217) The currency of the transaction Example ARS |
payinMerchantOperationNumber | String (Required, max-lenght = 50) Reference number of the sale. This value is used to notify Merchants about a payment. |
payinMethod | String (Required) Payment Method Identifier for the Payin API. EX: Cash |
payinVerification | String (Required) HASH SHA512 of: payinMerchantID+ payinMerchantOperationNumber+ payinAmount+ payinCurrency+ KeyMonnet |
payinTransactionOKURL | String (Required) URL where the customer will be redirected from the online banking if payment was successful (Must be Https) |
payinTransactionErrorURL | String (Required) URL where the customer will be redirected from the online banking if payment was wrong.(Must be Https) |
payinExpirationTime | Integer (Required) Time in minutes to expire the token. Minimum Suggested: Online: 30 minutes Cash: 2 hours |
payinLanguage | String (Required, ISO 639-1) Example: EN, ES, PT, DE, etc. |
payinCustomerEmail | String (Required) Contains the customer's email |
payinCustomerName | String (Required) Contains the customer's first name |
payinCustomerLastName | String (Required) Contains the customer's last name |
payinCustomerTypeDocument | String (Required) Contains the customer's type of document. payinCustomerTypeDocument |
payinCustomerDocument | String (Required) Contains the customer's document number |
payinCustomerPhone | String (Required) Contains the customer's mobile number |
payinCustomerAddress | String (Required) Customer information |
payinCustomerCity | String (Required) Customer information |
payinCustomerRegion | String (Required) Customer information |
payinCustomerCountry | String (Required) Customer information |
payinCustomerZipCode | String (Required) Customer information |
payinCustomerShippingName | String (Required) Customer information |
payinCustomerShippingPhone | String (Required) Customer information |
payinCustomerShippingAddress | String (Required) Customer information |
payinCustomerShippingCity | String (Required) Customer information |
payinCustomerShippingRegion | String (Required) Customer information |
payinCustomerShippingCountry | String (Required) Customer information |
payinCustomerShippingZipCode | String (Required) Customer information |
payinRegularCustomer | String (Optional) Customer information |
payinCustomerID | String (Optional) Customer information |
payinDiscountCoupon | String (Optional) Customer information |
payinFilterBy | String (Optional) Customer information |
payinProductID | String (Required) Product information |
payinProductDescription | String (Required) Product information |
payinProductAmount | String (Required) Product information |
payinDateTime | String (Required) Date of the transaction |
payinProductSku | String (Required) Product information |
payinProductQuantity | String (Required) Product information |
URLMonnet (For API v3) | String (Required) Value in cert environment: https://cert.monnetpayments.com/api-payin/v1/online-payments Value in prod environment: https://payin.api.monnetpayments.com/api-payin/v1/online-payments |
typePost (For API v3) | String (Required) Value: json |
aditionalData (for Debin Only) paymentMethod must be "BankTransfer" | String (Required) CBU 22 digits number value CUIT 11 digits number value (could be CUIL value as well) For testing porpouses you should use this values: CBU: 3410002602000400003579 CUIT: 30710659245 |
Sample request
Pay attention on fields name format, must be Camel Case as shown below:
data: {
"payinMerchantID": "00",
"payinAmount": "00.00",
"payinCurrency": "ARS",
"payinMerchantOperationNumber": "0000",
"payinMethod": "bankTransfer",
"payinVerification": "string",
"payinCustomerName": "string",
"payinCustomerLastName": "string",
"payinCustomerEmail": "[email protected]",
"payinCustomerPhone": "0000",
"payinCustomerTypeDocument": "CUIT",
"payinCustomerDocument": "30710659245",
"payinRegularCustomer": "string",
"payinCustomerID": "string",
"payinDiscountCoupon": "string",
"payinLanguage": "ES",
"payinExpirationTime": "30",
"payinDateTime": "YYYY-MM-DD",
"payinTransactionOKURL": "https://test.com",
"payinTransactionErrorURL": "https://test.com",
"payinFilterBy": "string",
"payinCustomerAddress": "string",
"payinCustomerCity": "string",
"payinCustomerRegion": "string",
"payinCustomerCountry": "Argentina",
"payinCustomerZipCode": "0000",
"payinCustomerShippingName": "string",
"payinCustomerShippingPhone": "0000",
"payinCustomerShippingAddress": "string",
"payinCustomerShippingCity": "string",
"payinCustomerShippingRegion": "string",
"payinCustomerShippingCountry": "Argentina",
"payinCustomerShippingZipCode": "0000",
"payinProductID": "0000",
"payinProductDescription": "string",
"payinProductAmount": "0000",
"payinProductSku": "string",
"payinProductQuantity": "0000",
"URLMonnet": "https://cert.monnetpayments.com/api-payin/v1/online-payments",
"typePost": "json",
//For Debin Only:
"additionalData":
{
"CBU": "3410002602000400003579",
"CUIT": "30710659245"
}
}
Response
V3
For V3 a URL will be returned on the response, the merchant has to redirect the shopper to this URL
{
"url": "https://test.test",
"payinErrorCode": "0000",
"payinErrorMessage": "Successfull process",
"payinTrxOperation": "MONTRX207249992409275755"
}
Important
Just because the shopper is redirected to the payinTransactionOKURL does not mean that the payment has been billed correctly. We recommend you to work with the notification system in the following section.