Getting Started

At PayRiff, we offer a one-stop-shop to manage your online payments. Enjoy an entire ecosystem of customised online payment solutions to operate your business securely.


  • Sign up

    To register, you need to click on the link Sign up, filling out all the forms you will get to the activation page.

  • Activation

    As soon as you create a PayRiff account, you can begin interacting with it in test mode after activating your account by Phone verification. Therefore, to start accepting payments from customers, you must first create a Personal or Business account. All of PayRiff’s features are available in test mode, though no live charges can be made.

  • Connect

    After registering and activating the account, in order to start integration, you need to create a link or a merchant account by going to the Connect Page and clicking choose or create merchant.

    • Personal

      If you don't have your own company or tax id, PayRiff creates an impeccable chance for you to get a one-time payment.

      addYourFinCode
      agreement
      verification
      withdrawalMethod
    • Business

      Owing to this opportunity, you can process limitless payments by creating a merchant account. Payriff also gives a fantastic chance to you in order to create multiple numbers of applications by utilising companies.

      addYourFinCode
      companyDetails
      creditCard
      bankDetails

Connect & Production

Set up your account and Dashboard to work for your business


Personal

If you choose Personal and connected, you are already on the production.

Business

In order for your application to be transferred to Online status, you should read and sign the contract. Then, the status of the application will alter from development to online. If you want to switch to production before, you should fill in one payment method, attach a card or details of bank account. Besides, you can easily download one copy of the signed contract. Although now you can receive money and check that the application’s status is online, you can withdraw money 24 hours after the first application is created.

addYourFinCode




Extra Features

The Dashboard is organized by the most common workflows used to manage your business. For example, the Transactions' section includes everything you need to manage the flow of money in and out of your account.

In many cases, you can use the Dashboard to perform specific actions, such as refunding a payment or canceling a subscription, without needing to use the API—making the Dashboard a useful tool for running your business.


Dashboard

The PayRiff Dashboard is a feature-rich user interface for you to operate and configure your PayRiff account. You can use it to manage payments and refunds, respond to dispute, monitor your integration, and more.

Home provides useful at-a-glance information about the activity on your account. A wide range of analytics and real-time charts provide insight into the performance of your business. Home also shows recent activity that may require you to take action, such as unanswered disputes or identity verifications.

PayRiff.az

Transactions

Transactions section includes everything you need to manage the flow of money in and out of your account. You can use the transactions to perform specific actions, such as refunding a payment or canceling a subscription, without needing to use the API.

Payriff.az

Creating reports and searches

All of your transactional data can be filtered and exported as reports in CSV format. You can also download the report. The Dashboard search can be used to find specific information using search terms and operators, find a specific payment using the customer’s email address or the last four digits of their card number to narrow down the number of results.


Transactions status
Parameter Description
CREATED Indicates that the operation has been created.
APPROVED Successful payment.
CANCELED After canceled payment, the forwarding address
DECLINED The operation was refused.
REFUNDED The funds were returned.
PREAUTH_APPROVED Confirmation of pre-authorization is reported.
EXPIRED Indicates that the payment page has expired.
REVERSE Reverse payment has been made.
PARTIAL_REFUND A partial reversal operation occurred.

Refund

You can refund charges made to your account, either in whole or in part. Refunds use your available PayRiff balance—this doesn’t include any pending balance. If your available balance doesn’t cover the amount of the refund, PayRiff debits the remaining amount from your bank account.

*If PayRiff can’t debit the remaining amount from your bank account, your refunds may go into a pending status until you add funds to your PayRiff balance. You can view a list of all your pending refunds in the Dashboard. If the original charge underwent currency conversion, the refunded amount converts back using the same process. There are no fees to refund a charge, but the fees from the original charge aren’t returned.

Refunds can be issued via the API or the Dashboard and are processed immediately. Once issued, a refund cannot be canceled.

Using the Dashboard
To refund a payment via the Dashboard:
  1. Find the payment to be refunded in the payments overview page Transactions.
  2. Click the button Refund to the right of the charge.
  3. By default, you will issue a full refund. For a partial refund, enter a different amount to be refunded.
  4. Click Refund.

Online Invoicing

With PayRiff, you can send invoices online to your customers through the click of a button even if you don’t have a website. Accept instant payments from your customers via credit or debit card with our online invoicing solution.

This guide describes how to create an invoice and collect payment. You can also use them as a tool to collect payment. Businesses that aren’t subscription based but still need to send invoices to their customers commonly use one-off invoices. For example, a consulting business might send invoices for the time and resources that each consultation uses.

PayRiff.az

To create an invoice in the PayRiff Dashboard:
  1. Navigate to the Create an invoice page.
  2. Fill out the Customer details, Payment details, and Payment settings fields and click Save.
  3. Verify the email address, but you can modify it if you want to use a test email address.
  4. Navigate to the Invoices page and click Send Invoice.

PayRiff.az

Customer notification via SMS:

PayRiff.az

Customer notification via Email:

PayRiff.az

The PayRiff Dashboard is the most common way to create one-off invoices but you can automate this process if you integrate with the API.


Recurring Payments

Easily manage the entire customer lifecycle from accepting recurring payments to managing customer subscriptions.


cardSave

POST

                                                

{
  "body": {
    "amount": 4,
    "approveURL": "https://payriff.com/approve",
    "cancelURL": "https://payriff.com/cancel",
    "declineURL": "https://payriff.com/decline",
    "currencyType": "AZN",
    "description": "Card save description",
    "directPay": true,
    "language": "AZ"
  },
  "merchant": "ES10901XX"
}

                                                
                                            
                                                
                  {
                  "code": "string",
                  "internalMessage": "string",
                  "message": "string",
                  "payload": {
                    "orderId": "string",
                    "paymentUrl": "string",
                    "sessionId": "string"
                    }
                  }
                                                
                                            


Parameter Description
amount Payment amount to block
approveURL After successful payment, the forwarding address.
cancelURL After canceled payment, the forwarding address
declineURL After declined payment, the forwarding address
currencyType Currency of payment (AZN, USD, EUR)
description Payment description for customer
language Payment page language (AZ, EN, RU)
merchant Your unique merchant number

*If the parameters approveUrl, cancelUrl, declineUrl are left blank, then we will automatically redirect to Success, Cancel, Decline

Using this method, you can save a credit card during the payment process so that you can use it in further automatic operations.

You first need to make some payment using this method, if the transaction was successful, we return a POST request for approveURL, parameter cardUuid, you can save it in the database, and then later using the autoPay method, set the request parameter to thecardUuidparameter and payment will be made, with a saved customer card.

                                                
   {
     "code": "string",
     "internalMessage": "string",
     "message": "string",
     "payload":  {
               "orderID": "11154555",
               "sessionID":"75B00D99650XXXXXXXXXXXXXAEB8",
               "transactionType": "",
               "purchaseAmount": "1",
               "currency": "840",
               "tranDateTime": "11/11/2020 17:00:19",
               "responseCode": "001",
               "responseDescription": "Approved, no balances available",
               "brand": "VISA",
               "orderStatus": "APPROVED",
               "approvalCode": "325111 A",
               "acqFee": "0",
               "orderDescription": "Item description",
               "approvalCodeScr": "335111",
               "purchaseAmountScr": "0.01",
               "currencyScr": "USD",
               "orderStatusScr": "TƏSDİQLƏNİB",
               "cardRegistrationResponse": "",
               "rrn": "259990XX7X",
               "pan": "416973XXXXXX5555",
               "cardHolderName": "",
               "cardUID": "42EDEXXXXXXXXXX80D70050XXXXX4BCX"
      }
    }



                                                
                                            

E-commerce Plugins

Integrate PayRiff with popular e-commerce platforms via our payment plugins. Ready-made plugins for popular shopping carts platforms. You can download by clicking below.

Opencart
WooCommerce

Google Pay ™

Accept payments without entering card details.

Google Pay™ is a digital wallet, which enables simple and fast card payments, without the need to enter the card data for each payment. The card data is safely stored by Google. This payment method is available for all devices (mobile phones and computers), irrespective of the operating system and web browser.
In case of Google Pay usage, Acceptor is obligated to comply with the provisions of the following regulations

Note: The description below applies to provision of this service directly by displaying the Google Pay lightbox at the website of payment recipient (e-store) or in the mobile application. If you wish to offer this method via Payriff hosted payment page, no additional integration effort is required.

Authorization Methods

  • PAN_ONLY
  • CRYPTOGRAM_3DS
The authorization methods allowed with GooglePay ™ are by card and by 3D Secure cryptogram. For more information about the authorized authorization methods consult the official Google ™ documentation.

Accepted Cards

The cards that are allowed for these payment methods are:
  • VISA
  • MASTERCARD

Web integration

To integrate the website with the Google Pay method, proceed according to the instructions placed at this website:

The gateway parameter in the script should have the constant value of payriff, according to the example below:

const tokenizationSpecification = {
    type: 'PAYMENT_GATEWAY',
    parameters: {
            'gateway': 'payriff',
            'gatewayMerchantId': 'merchant id(ex.: ES1234567)'
         }
};

The value of the gatewayMerchantId parameter should be the identifier of the payment point where the order is made.

Please note that Payriff as the processor of Google Pay payments enables the handling of all types of payment cards issued by the Visa and MasterCard organizations (including Maestro). This implies the following configuration of the Google script:

const allowedCardNetworks = ['MASTERCARD', 'VISA'];
const allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

In response, Google shall return the PaymentData item, and the field paymentMethodData.tokenizationData.token shall contain a safely encrypted Google Pay Token (a string of characters).

A sample Google Pay Token looks like this:

{
 "signature" : "XRUAQQDY3wBQyHB4sZcktRoJXKxm+OLcjHzCvdDeGn23oX0kkwIgKznRFZZL+sAMv1b5cuD+YurXMZraYMsr9hbravVY5Ro\u003d",
 "protocolVersion" : "ECv1",
 "signedMessage": "{\"encryptedMessage\":\"rI97aLwfbLHyCFnMMCVWcTHw3xhYIK+CEnuQ74K+nlLpCgOlfpScib9jds4sxDtN6CunCqCSMfd/3yHeeRy6aCx1yyqcT4ey6NueeBznprJpkmVVgI1JHWLQt4hzAXMUAcYASYLOabKP9fUZvHkOBDytD531jpzNXa+Spc/zrpGzFKx2C4VU9sC95q9i+ey+kr7ZMNVCOFJPWXu7lKZ105IOOqozJ6/70MKmxP3jM89eeq+/19QnyHjQLXfnQPvQjiUJKGCcRKDLlrb3XoY5ZUUzGfN5eZCLzCVg0hWEbwU+6J7KWYJyW+Wr1r8bagN9zWsrMKhDpsQbHfyzb+yBzFUoxeUgL4a7FeVvEllIcHtqsvTCf6FENV20aF5VLDv5qzUkV+PzTAIbFEuabA0God9UbVCVVv7nM8QFzvRPhzYYFVFTn4JHvL2qZ4pAR9lE+w\\u003d\\u003d\",\"ephemeralPublicKey\":\"BPHLC4sBHpenY1M0ixmiDMuWJTaTJOqggRUwtgBJMcBp28VsxHD7zPI7985x4F5EjMP5y8j/cuUzbe/cGPjOKGk\\u003d\",\"tag\":\"RaXrPOUuc5iw3oxDa0C2MOjaKxgxIRQvwOspmtFV0zU\\u003d\"}"
}

Android integration

To integrate the mobile application with the Google Pay method, proceed according to the instructions placed at this website:

Error codes in Google Pay

List of standard errors returned by Google Pay lightbox can be found on the Google Developers site.

In addition following errors may occur:

StatusCode CodeLiteral Code Description
ERROR_VALUE_INVALID GOOGLE_PAY_CLIENT_ERROR 8322 Validation error.
Google Pay token was created for different merchant id.
Merchant ID used in createOrder and in the gatewayMerchantId field must match.

PaymentsError

This object contains details about errors returned by client JavaScript methods. Errors might not be displayed in a user-facing dialog.

Property Description
statusCode Short code that describes the type of error.
statusMessage Developer-facing message that describes the error encountered and possible steps to correct it.

Common errors

This object displays errors that you might encounter across all JavaScript methods. Be sure to check the developer console for additional error messages.

Status Code Description
BUYER_ACCOUNT_ERROR The current Google user is unable to provide payment information.
DEVELOPER_ERROR

A passed parameter is improperly formatted. An error message may appear in the browser console for all configured environments.

MERCHANT_ACCOUNT_ERROR

The site accessing the Google Pay API does not have the right permission. This could be due to either an incorrect configuration or an incorrect merchant identifier set in the request. Check the statusMessage field for more details. If you continue to have trouble, please contact support.

INTERNAL_ERROR General server error.

Gateway API

The Developers section of the Dashboard provides you with useful information about of integration. You can view Gateway APIs.


Authorization

First, get your unique merchant secret key from Applications page, and include the merchant secret key in Header as value for the Authorization variable

Header example
Authorization: [SECRET_KEY]
Base URL - Gateway API V2
https://api.payriff.com/api/v2/{method_name}
Base URL - Gateway API V3
https://api.payriff.com/api/v3/{method_name}
To process a test transaction, you need to use this test credit card all Gateway API versions
4169741330151778
11/26
822

Gateway API V2


createOrder

POST

 {
  "body": {
    "amount": 0,
    "approveURL": "string",
    "cancelURL": "string",
    "cardUuid": "string",
    "currencyType": "AZN",
    "declineURL": "string",
    "description": "string",
    "directPay": true,
    "installmentPeriod": 0,
    "installmentProductType": "BIRKART",
    "language": "AZ",
    "senderCardUID": "string"
  },
  "merchant": "string"
}
{
 "code": "string",
 "internalMessage": "string",
 "message": "string",
 "payload": {
     "orderId": "string",
     "paymentUrl": "string",
     "sessionId": "string"
     }
} 


Parameter Description
amount Payment amount
approveURL After successful payment, the forwarding address
cancelURL After canceled payment, the forwarding address
declineURL After declined payment, the forwarding address
currencyType Currency of payment (AZN, USD, EUR)
description Payment description for customer
language Payment page language (AZ, EN, RU)
merchant Your unique merchant number
directPay Must be true always. (This parameter is using to get out of money out of card directly )
installmentPeriod Indicates the number of installments in installment payments

*If the parameters aprroveUrl, cancelUrl, declineUrl are left blank, then we will automatically redirect to Success, Cancel, Decline

After a successful request, you will receive paymentUrl, and you need to redirect the client to paymentUrl. This page will be for payment. If the transaction was successful, we return a POST request for approveURL, all transaction parameters:

                                                
  {
  "payload": {
    "version": "1.0",
    "orderID": 548779,
    "sessionId": "61A6275XXXXXXXXXXXXXXXXXXX36100",
    "transactionType": "Purchase",
    "RRN": "14915908",
    "PAN": "416974XXXXXX7777",
    "purchaseAmount": 3000,
    "currency": "944",
    "tranDateTime": "09/06/2023 16:58:55",
    "responseCode": "001",
    "responseDescription": "Approved, no balances available",
    "brand": "VISA",
    "orderStatus": "APPROVED",
    "approvalCode": "331169 A",
    "orderDescription": "null",
    "approvalCodeScr": "331169",
    "purchaseAmountScr": 30,
    "currencyScr": "AZN",
    "orderStatusScr": "TƏSDİQLƏNİB",
    "cardRegistration": {
      "MaskedPAN": "416974****1778",
      "CardUID": "D91E8A1XXXXXXXXXXXXXXXXXXBCC",
      "Brand": "VISA"
    },
    "invoiceUuid": "a31b658e0b754a4fa63aba44b487bb77"
  },
  "code": "00000",
  "message": "Operation performed successfully",
  "route": "dashboard/main"
}
                                                
                                            


getOrderInformation

POST

                                                
{
"body": {
    "languageType": "AZ",
    "orderId": 0,
    "sessionId": "string"
},
"merchant": "string"
}

                                                
                                            
                                                
  {
  "code": "string",
  "internalMessage": "string",
  "message": "string",
  "payload": {
    "row": {
      "amount": "string",
      "approveURL": "string",
      "cancelURL": "string",
      "createDate": "string",
      "currency": "string",
      "declineURL": "string",
      "description": "string",
      "extSystemProcess": "string",
      "fee": "string",
      "id": "string",
      "lastUpdateDate": "string",
      "merchantID": "string",
      "orderLanguage": "string",
      "orderOperations": {
        "subRow": {}
      },
      "orderType": "string",
      "orderstatus": "string",
      "payDate": "string",
      "receipt": "string",
      "refundAmount": "string",
      "refundCurrency": "string",
      "refundDate": "string",
      "sessionID": "string",
      "twoId": "string",
      "twodate": "string"
    }
  }
}
                                                
                                            


Parameter Description
languageType Payment page language (AZ, EN, RU)
orderId After a successful createOrder request, in response you will receive an orderId
sessionId After a successful createOrder request, in response you will receive an sessionId
merchant Your unique merchant number

If you successfully send a request to the createOrder method, you will receive orderId and sessionId. After that, you can use this method, and get all the payment details.


getStatusOrder

POST


  {
  "body": {
    "language": "string",
    "orderId": "string",
    "sessionId": "string"
  },
  "merchant": "string"
 }

                                                
                                            

 {
  "code": "string",
  "internalMessage": "string",
  "message": "string",
  "payload": {
    "orderId": "string",
    "orderStatus": "string"
  }
 }
                                                
                                            


Parameter Description
language Payment page language (AZ, EN, RU)
orderId After a successful createOrder request, in response you will receive an orderId
sessionId After a successful createOrder request, in response you will receive an sessionId
merchant Your unique merchant number

If you successfully send a request to the createOrder method, you will receive orderId and sessionId. After that, you can use this method, and get the payment status in the parameter orderStatus.


refund

POST


  {
  "body": {
    "refundAmount": 0,
    "orderId": "string",
    "sessionId": "string"
  },
  "merchant": "string"
 }

                                

 {
  "code": "string",
  "internalMessage": "string",
  "message": "string"
 }
                                                
                                            


Parameter Description
refundAmount Refund amount or part of the amount
orderId After a successful createOrder request, in response you will receive an orderId
sessionId After a successful createOrder request, in response you will receive an sessionId
merchant Your unique merchant number

If you successfully send a request to the createOrder method, you will receive orderId and sessionId. After that, you can use this method, and you will receive a success message and the amount will be refunded.


preAuth

POST

                                                
{
  "body": {
    "amount": 1,
    "approveURL": "string",
    "cancelURL": "string",
    "cardUuid": "string",
    "currencyType": "AZN",
    "declineURL": "string",
    "description": "test",
    "directPay": false,
    "installmentPeriod": 0,
    "installmentProductType": "BIRKART",
    "language": "AZ",
    "senderCardUID": "string"
  },
  "merchant": "string"
}

                                                
                                            
                                                
{
"code": "string",
"internalMessage": "string",
"message": "string",
"payload": {
    "orderId": "string",
    "paymentUrl": "string",
    "sessionId": "string"
}
}
                                                
                                            


Parameter Description
amount Payment amount to block
approveURL After successful payment, the forwarding address
cancelURL After canceled payment, the forwarding address
declineURL After declined payment, the forwarding address
currencyType Currency of payment (AZN, USD, EUR)
description Payment description for customer
language Payment page language (AZ, EN, RU)
merchant Your unique merchant number
installmentPeriod Indicates the number of installments in installment payments
directPay Must be false (To block payment amount)
senderCardUID A request to block money on a saved card

*If the parameters aprroveUrl, cancelUrl, declineUrl are left blank, then we will automatically redirect to Success, Cancel, Decline

This method is for locking the amount, and after payment, you must call the completeOrder method to unlock and receive the full and part of the amount. After a successful request, you will receive paymentUrl, and you need to redirect the client to paymentUrl. This page will be for payment. If the transaction was successful, we return a POST request for approveURL, all transaction parameters


reverse

POST

                                                
  {
  "body": {
    "amount": 0,
    "description": "string",
    "language": "AZ"
    "orderId": "string",
    "sessionId": "string"
    },
  "merchant": "string"
  }

                                
                                                
{
"code": "string",
"internalMessage": "string",
"message": "string"
}
                                                
                                            


Parameter Description
amount Payment amount to reverse
description Payment description for customer
language Payment page language (AZ, EN, RU)
orderId After a successful createOrder request, in response you will receive an orderId
sessionId After a successful createOrder request, in response you will receive an sessionId
merchant Your unique merchant number

This method can be used to check the amount on the credit card and then return to the credit card.

To check the amount you need to use the createOrder method, and then to return the amount back, you need to use the reverse method.


completeOrder

POST

                                                
  {
  "body": {
    "amount": 0,
    "description": "string",
    "language": "AZ"
    "orderId": "string",
    "sessionId": "string"
    },
  "merchant": "string"
  }

                                                 
                                            

  {
  "code": "string",
  "internalMessage": "string",
  "message": "string"
  }
                                                 
                                            


Parameter Description
amount Payment amount or part of the amount to complete the payment.
description Payment description for customer
language Payment page language (AZ, EN, RU)
orderId After a successful createOrder request, in response you will receive an orderId
sessionId After a successful createOrder request, in response you will receive an sessionId
merchant Your unique merchant number

Using this method, you can complete the payment with the final amount, that is, you can return part of the amount to the client and the final amount will be sent to the seller.

To use this method, you first need to block the amount using the preAuth method, and then complete it using the completeOrder method


autoPay

POST

                                                
{
  "body": {
    "amount": 0,
    "cardUuid": "string",
    "description": "test",
    "orderId": "string",
    "sessionId": "string"
  },
  "merchant": "string"
}
                                                
                                            
                                                
{
  "code": "string",
  "internalMessage": "string",
  "message": "string"
}
                                                
                                            


Parameter Description
amount Payment amount
cardUuid Unique id credit card payment for automatic payment. If you want to save card payment details. You can get it using the cardSave method.
merchant Your unique merchant number

orderID / sessionId - Normally no change is made. If a request is sent and preAuth / createOrder request is received by this method, in addition, if we want to complete the payment without going to the payment page, the sent orderID / sessionID is recorded.

Post / Get request ----> After successful payment the Post request is sent covering all data about payment, Following this, GET request will open the corresponding page (success, cancel, decline)

Using this method, you can make an automatic payment using a cardUuid.

To use this method, you first need to make some payment using the cardSave method, and get a cardUuid parameter.


invoices

POST

                                                
{
  "body": {
    "amount": 0,
    "approveURL": "string",
    "cancelURL": "string",
    "currencyType": "AZN",
    "customMessage": "string",
    "declineURL": "string",
    "description": "string",
    "email": "string",
    "expireDate": "2021-12-14T11:30:17.600Z",
    "fullName": "string",
    "installmentPeriod": 0,
    "installmentProductType": "BIRKART",
    "languageType": "AZ",
    "phoneNumber": "string",
    "sendSms": true
  },
  "merchant": "string"
}
                                                
                                            
                                                
{
    "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": {
        "id": 12,
        "merchantId": "ES109000",
        "amount": 10,
        "payriffAmount": null,
        "payriffFixedFeeAmount": null,
        "payriffFee": null,
        "totalAmount": null,
        "fullName": "string string",
        "email": "string@string.com",
        "phoneNumber": "+994123456789",
        "customMessage": null,
        "expireDate": "2022-12-14T11:30:17.6",
        "currencyType": "AZN",
        "languageType": "AZ",
        "paymentType": "ONETIME",
        "active": true,
        "description": "string",
        "approveURL": "string.com",
        "cancelURL": "string.com",
        "declineURL": "string.com",
        "uuid": "2d0be10a98da45c68c61966844e2c941",
        "invoiceUuid": "fcaa53aedca14b3a9c6039f4459d8fs3",
        "invoiceCode": "1042729",
        "invoiceStatus": "PENDING",
        "createdDate": "2022-11-24T18:17:46.129",
        "paymentUrl": "https://pay.payriff.com/y/RS8u",
        "sendSms": true
    }
}
                                                
                                            



Using this method, you can create an invoice and send SMS to your customer for payment.


get-invoice

POST

                                                
{
  "merchant": "ES1010101",
  "body": {
    "uuid": "c1123472cf7945f9876076fcb9af8a05"
  }
}
                                                
                                            
                                                
{
  "code": "00000",
  "message": "Operation performed successfully",
  "route": "dashboard/main",
  "internalMessage": null,
  "payload": {
    "id": 15645,
    "merchantId": "ES1090510",
    "amount": 0.1,
    "fullName": "string",
    "email": "string",
    "phoneNumber": "string",
    "personalCode": null,
    "expireDate": "2022-09-24T06:46:55.731",
    "currencyType": "AZN",
    "languageType": "AZ",
    "paymentType": "ONETIME",
    "subscriptionState": null,
    "paymentDay": null,
    "expireDay": null,
    "active": true,
    "description": "string",
    "approveURL": "string",
    "cancelURL": "string",
    "declineURL": "string",
    "uuid": "a5fc417ea335487fafced51b5f3e2b34",
    "invoiceUuid": "93f5721782f84074b6c5a383bf9f8358",
    "baseUrl": null,
    "invoiceCode": "1015645",
    "invoiceStatus": "PENDING",
    "installmentProductType": "BIRKART",
    "installmentPeriod": 0,
    "source": "DASHBOARD",
    "directPay": false,
    "createdDate": "2022-08-24T11:15:22.305"
  }
}
                                                
                                            



Using this method you can get invoice information. Consider invoiceUuid as uuid in this api request.


transfer

POST

                                                
{
"merchant": "ES1000010",
"body": {
     "toMerchant": "ES192837",
     "amount": 0,
     "description": "transfer"
    }
}
                                                
                                            
                                                
{
    "code": "00000",
    "message": "Operation performed successfully",
    "route": "dashboard/main",
    "internalMessage": null,
    "payload": "APPROVED"
}
                                                
                                            



Using this method you can transfer money from wallet to wallet in Payriff



Parameter Description
toMerchant Merchant ID receiver
amount Transfer amount
description Transfer reason
merchant Your unique merchant number

topup

POST

                                                
{
"merchant": "ES1000010",
"body": {
      "phoneNumber": "994501234567",
      "amount": 0,
      "description": "transfer"
    }
}
                                                
                                            
                                                
{
  "code": "00000",
  "message": "Operation performed successfully",
  "route": "dashboard/main",
  "internalMessage": null
}
                                                
                                            



Using this method you can transfer money from Payriff wallet to MPAY wallet



Parameter Description
phoneNumber Mpay wallet phone number receiver
amount Transfer amount
description Transfer reason
merchant Your unique merchant number

wallets

GET

https://api.payriff.com/api/v2/wallet
                                                
{
"code": "string",
"message": "string",
"route": "string",
"internalMessage": "null",
"payload": {
"historyResponse": [
    {
      "id": "number",
      "active": "boolean",
      "balance": "number",
      "amount": "number",
      "operation": "string"
    },
],
"totalBalance": "number"
}
}
                                                
                                            

walletById

GET

https://api.payriff.com/api/v2/wallet/:ID
                                                
{
    "id": "number",
    "active": "boolean",
    "balance": "number",
    "appId": "number",
    "userId": "number",
    "applicationStatus": "string"
}
                                                
                                            

Gateway API V3


Create Order

https://api.payriff.com/api/v3/orders

POST

                                                
{
    "amount": "number",
    "language": "EN",
    "currency": "AZN",
    "description": "string",
    "callbackUrl": "string",
    "cardSave": "boolean",
    "operation": "PURCHASE"
}

                                                
                                            
                                                
{
    "code": "string",
    "message": "string",
    "route": "string",
    "internalMessage": "null",
    "payload": {
        "orderId": "string",
        "paymentUrl": "string",
        "transactionId": "number"
    }
}

                                                
                                            



Pre-Authorization

https://api.payriff.com/api/v3/orders

POST

                                                
{
    "amount": "number",
    "language": "EN",
    "currency": "AZN",
    "description": "string",
    "callbackUrl": "string",
    "cardSave": "boolean",
    "operation": "PRE_AUTH"
}

                                                
                                            
                                                
{
    "code": "string",
    "message": "string",
    "route": "string",
    "internalMessage": "null",
    "payload": {
        "orderId": "string",
        "paymentUrl": "string",
        "transactionId": "number"
    }
}
                                                
                                            

The amount reverses to the payer's card after 30 days because of the regulation of the issuer bank.


Order Information

https://api.payriff.com/api/v3/orders/:ORDER_ID

GET


 https://api.payriff.com/api/v3/orders/:ORDER_ID
                                                
                                            

{
    "code": "string",
    "message": "string",
    "route": "string",
    "internalMessage": "null",
    "payload": {
        "orderId":"string",
        "sessionId": "string",
        "amount": "number",
        "currencyType": "AZN",
        "merchantName": "string",
        "commissionRate": "number",
        "paymentStatus": "APPROVED",
        "auto": "boolean",
        "createdDate": "string",
        "description": "string",
        "transactions": [
            {
                "uuid": "string",
                "createdDate": "string",
                "status": "CREATED",
                "channel": "KAPITAL_BANK",
                "requestRrn": "string",
                "responseRrn": "null",
                "pan":"string",
                "paymentWay": "DIRECT"
            }
        ]
    }
}
                                                
                                            



Refund

https://api.payriff.com/api/v3/refund 

POST


{
    "amount": "number",
    "orderId": "string"
}

                                

 {
  "code": "string",
  "internalMessage": "string",
  "message": "string"
 }
                                                
                                            



Complete

https://api.payriff.com/api/v3/complete

POST

                                                
{
    "amount": "number",
    "orderId": "string"
}
                                                
                                            
                                                
{
"code": "string",
"internalMessage": "string",
"message": "string",
"payload": {
    "orderId": "string",
    "paymentUrl": "string",
    "sessionId": "string"
}
}
                                                
                                            



Pay with saved card

https://api.payriff.com/api/v3/autoPay

POST

                                                
{
    "cardUuid": "string",
    "amount": "number",
    "currency": "AZN",
    "description": "string",
    "callbackUrl": "string",
    "operation": "PURCHASE"
}
                                
                                                
{
"code": "string",
"internalMessage": "string",
"message": "string"
}
                                                
                                            



Result codes/messages

                                
ResultCodes {
    String SUCCESS = "00000";
    String SUCCESS_GATEWAY = "00";
    String SUCCESS_GATEWAY_APPROVE = "APPROVED";
    String SUCCESS_GATEWAY_PREAUTH_APPROVE = "PREAUTH-APPROVED";
    String WARNING = "01000";
    String ERROR = "15000";
    String INVALID_PARAMETERS = "15400";
    String UNAUTHORIZED = "14010";
    String TOKEN_NOT_PRESENT = "14013";
    String INVALID_TOKEN = "14014";
}

ResultMessages {
    String OK = "OK";
    String SUCCESS = "Operation performed successfully";
    String ERROR = "Internal Error";
    String UNAUTHORIZED = "Unauthorized";
    String NOT_FOUND = "Not found";

    String TOKEN_NOT_PRESENT = "Token not present";
    String INVALID_TOKEN = "Invalid Token";
    String TOKEN_EXPIRED = "Token expired";
    String DEACTIVE_TOKEN = "Token is not active";
    String LINK_EXPIRED = "Link is expired!";

    String NO_RECORD_FOUND = "No record found!";
    String NO_INVOICE_FOUND = "No invoice found!";
    String APPLICATION_NOT_FOUND = "Application not found!";
    String USER_NOT_FOUND = "User not found!";
    String USER_ALREADY_EXISTS = "User already exists!";
    String UNEXPECTED_GATEWAY_ERROR = "Occurred problem with Processing";
    String INVALID_CREDENTIALS = "Username or Password is incorrect";
  }