Riverty Installment

Riverty Installment

Through its partial payment option, Riverty allows shoppers to pay for a particular purchase over time, enabling them to make higher-order value purchases while limiting their monthly spending.

Riverty offers fixed installment plans with predefined maturities of 3, 6, 12, or 24 months. The Payment API determines which of these installment plans can be offered. The monthly amount to be paid in a fixed installment plan is the same during the entire plan.

Commands

Pre Transaction Commands

  1. The first step is to generate a unique order number with the command CREATEORDER.

  2. The second step is to get installment plans with the command GETINSTALLMENTPLANS.

GETINSTALLMENTPLANS

Request Parameters
Table 1. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

INITTYPE

ORDERREFERENCE

PAYMENTTYPE

CUSTOMERSTATEMENT

AMOUNT

SERVICEURL

CURRENCY

APPLICATIONTYPE

ORDERNUMBER

ORIGINATOR

ORDERDESCRIPTION

The consumer billing data, consumer shipping data, and basket item parameters are optional request parameters.
The value of the parameter AMOUNT can be in the range of 60 to 10000.
Response Parameters
Table 2. Response Parameters
Required Parameters Optional Parameters

status

header

version

body

errorCode

message

paySysMessage

originator

The plan data parameters can be returned for this command.
Getting installment plans example
For getting installment plans send RIVERTY-INST for parameter INITTYPE, and RIVERTY for PAYMENTTYPE.
  1. Send a request.

    Example of Request for Initiation
    COMMAND=GETINSTALLMENTPLANS&
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    INITTYPE=RIVERTY-INST&
    PAYMENTTYPE=RIVERTY&
    
    ORDERNUMBER=2584762&
    LANGUAGE=en&
    AMOUNT=5500&
    CURRENCY=EUR&
    SERVICEURL=http://yourimprint.com/&
    IP_ADDRESS=172.20.0.231&
    APPLICATIONTYPE=S&
    WAKEUPMESSAGE_METHOD=PAGE&
  2. The response looks like this:

    Example of Respons for Initiation
    plan.3.totalInterestAmount=0.0&
    plan.3.monthlyFee=0.0&
    plan.3.numberOfInstallments=9&
    plan.5.totalAmount=5500.0&
    plan.4.totalAmount=5500.0&
    plan.5.effectiveAnnualPercentageRate=0.0&
    plan.5.installmentProfileNumber=5&
    plan.1.totalAmount=5500.0&
    plan.3.totalAmount=5500.0&
    plan.2.totalAmount=5500.0&
    plan.1.startupFee=0.0&
    plan.4.firstInstallmentAmount=458.34&
    plan.4.totalInterestAmount=0.0&
    plan.1.effectiveAnnualPercentageRate=0.0&
    plan.4.startupFee=0.0&
    plan.4.effectiveAnnualPercentageRate=0.0&
    plan.2.startupFee=0.0&
    plan.2.numberOfInstallments=6&
    plan.2.basketAmount=5500.0&
    plan.2.installmentProfileNumber=2&
    plan.1.installmentProfileNumber=1&
    plan.3.basketAmount=5500.0&
    version=qtillserver+3.23.0.48&
    plan.1.monthlyFee=0.0&
    plan.2.effectiveAnnualPercentageRate=0.0&
    plan.5.totalInterestAmount=0.0&
    plan.3.effectiveInterestRate=0.0&
    plan.5.basketAmount=5500.0&
    plan.1.effectiveInterestRate=0.0&
    plan.4.basketAmount=5500.0&
    plan.1.installmentAmount=1833.34&
    plan.3.installmentProfileNumber=3&
    plan.2.installmentAmount=916.67&
    plan.3.firstInstallmentAmount=611.12&
    plan.4.installmentProfileNumber=4&
    plan.5.numberOfInstallments=15&
    plan.1.lastInstallmentAmount=1833.32&
    numberOfPlans=5& (1)
    plan.2.effectiveInterestRate=0.0&
    status=0&
    plan.3.installmentAmount=611.12&
    plan.4.effectiveInterestRate=0.0&
    plan.5.firstInstallmentAmount=366.67&
    plan.3.startupFee=0.0&
    plan.2.lastInstallmentAmount=916.65&
    plan.1.totalInterestAmount=0.0&
    plan.5.effectiveInterestRate=0.0&
    plan.1.numberOfInstallments=3&
    plan.1.basketAmount=5500.0&
    plan.2.firstInstallmentAmount=916.67&
    plan.3.lastInstallmentAmount=611.04&
    plan.2.monthlyFee=0.0&
    plan.5.startupFee=0.0&
    plan.4.lastInstallmentAmount=458.26&
    plan.5.interestRate=0.0&
    plan.4.numberOfInstallments=12&
    plan.2.totalInterestAmount=0.0&
    plan.4.installmentAmount=458.34&
    plan.5.monthlyFee=0.0&
    plan.1.firstInstallmentAmount=1833.34&
    plan.4.monthlyFee=0.0&
    plan.5.installmentAmount=366.67&
    plan.5.lastInstallmentAmount=366.62&
    plan.3.interestRate=0.0&
    plan.3.effectiveAnnualPercentageRate=0.0&
    plan.4.interestRate=0.0&
    plan.1.interestRate=0.0&
    plan.2.interestRate=0.0
1 Number of installment plans.

Transaction Commands

INITIATEPAYMENT

Request Parameters
Table 3. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

INITTYPE

ORDERREFERENCE

PAYMENTTYPE

CUSTOMERSTATEMENT

AMOUNT

SERVICEURL

CURRENCY

APPLICATIONTYPE

ORDERNUMBER

IP_ADDRESS

ORDERDESCRIPTION

ORIGINATOR

CONSUMER_PLAN_NUMBER

In addition to these optional request parameters, also is recommended to send Riverty consumer shipping data containing detailed information regarding consumers.
The consumer billing data and basket item parameters are required.
The basket data parameters are in general optional, all parameters need to be set, except for BASKET_ITEM_<m>_DESCRIPTION and BASKET_ITEM_<m>_IMAGE_URL which remain optional.
Table 4. Request Parameters
Required Parameters

MERCHANTKEY

COMMAND

INITTYPE

PAYMENTTYPE

AMOUNT

CURRENCY

ORDERNUMBER

ORDERDESCRIPTION

CONSUMER_PLAN_NUMBER

The consumer billing data and basket item parameters are required.

Optional Parameters

LOGPATH

LANGUAGE

ORDERREFERENCE

CUSTOMERSTATEMENT

SERVICEURL

APPLICATIONTYPE

IP_ADDRESS

ORIGINATOR

In addition to these optional request parameters, also is recommended to send Riverty consumer shipping data containing detailed information regarding consumers.
The basket data parameters are in general optional, all parameters need to be set, except for BASKET_ITEM_<m>_DESCRIPTION and BASKET_ITEM_<m>_IMAGE_URL which remain optional.

Optional request parameters CUSTOMERSTATEMENT and ORDERREFERENCE are more restricted concerning their length and allowed characters than usual.

Response Parameters
Table 5. Response Parameters
Required Parameters Optional Parameters

status

header

version

body

errorCode

message

paySysMessage

originator

Initialization example
Riverty installment can be initialized if the merchant sends RIVERTY-INST for parameter INITTYPE, and RIVERTY for PAYMENTTYPE.
  1. Send a request.

    Example of Request for Initiation
    COMMAND=INITIATEPAYMENT&
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    INITTYPE=RIVERTY-INST&
    PAYMENTTYPE=RIVERTY&
    
    CONSUMER_PLAN_NUMBER=5& (1)
    
    ORDERNUMBER=2584762& (2)
    LANGUAGE=en&
    AMOUNT=5500& (3)
    CURRENCY=EUR&
    SERVICEURL=http://yourimprint.com/&
    
    OVERWRITE_WAKEUPMESSAGE=TRUE&
    USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47&
    ACCEPT_HEADERS=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9&
    BROWSER_JAVA_ENABLED=0&
    BROWSER_JAVASCRIPT_ENABLED=1&
    BROWSER_ACCEPT_HEADERS=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9&
    BROWSER_SCREEN_RESOLUTION=1920x1080&
    BROWSER_COLOR_DEPTH=24&
    BROWSER_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47&
    BROWSER_LANGUAGE=en-GB&
    BROWSER_CHALLENGE_WINDOW_SIZE=05&
    BROWSER_TIME_ZONE=-120&
    
    CUSTOMERSTATEMENT=Test005&
    SUCCESSURL=https://yoursuccessurl.com&
    FALLBACK=FALSE&
    ORDERDESCRIPTION=Test:0000&
    IP_ADDRESS=172.20.0.231&
    APPLICATIONTYPE=S&
    WAKEUPMESSAGE_METHOD=PAGE&
    
    CONSUMER_EMAIL=test@qenta.com&
    CONSUMER_BILLING_FIRST_NAME=Qenta&
    CONSUMER_BILLING_LAST_NAME=Tester&
    CONSUMER_BILLING_ADDRESS_1=Reininghausstrasse 10&
    CONSUMER_BILLING_CITY=Graz&
    CONSUMER_BILLING_ZIP_CODE=8020&
    CONSUMER_BILLING_COUNTRY=AT&
    CONSUMER_BIRTH_DATE=2000-09-01&
    CONSUMER_IP_ADDRESS=195.34.137.202&
    
    CONSUMER_SHIPPING_FIRST_NAME=Qenta&
    CONSUMER_SHIPPING_LAST_NAME=Tester&
    CONSUMER_SHIPPING_ADDRESS_1=Reininghausstrasse 10&
    CONSUMER_SHIPPING_CITY=Graz&
    CONSUMER_SHIPPING_ZIP_CODE=8020&
    CONSUMER_SHIPPING_COUNTRY=AT&
    
    BASKET_ITEMS=1&
    BASKET_ITEM_1_ARTICLE_NUMBER=42&
    BASKET_ITEM_1_UNIT_TAX_RATE=10.0&
    BASKET_ITEM_1_UNIT_NET_AMOUNT=5000.0&
    BASKET_ITEM_1_UNIT_GROSS_AMOUNT=5500.0&
    BASKET_ITEM_1_NAME=BasketItem1&
    BASKET_ITEM_1_UNIT_TAX_AMOUNT=500.0&
    BASKET_ITEM_1_QUANTITY=1&
    1 The number of plans got in the response of GETINSTALLMENTPLANS.
    2 The same ORDERNUMBER as for GETINSTALLMENTPLANS is used.
    3 The same AMOUNT as for GETINSTALLMENTPLANS is used.
  2. The response looks like this:

    Example of Respons for Initiation
    version=qtillserver+3.23.0.47&
    status=0

    Because this is a synchronous payment method, the result is provided immediately.

VERIFYPAYMENT

Request Parameters
Table 6. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

PAYMENTNUMBER

QTILL_CLIENT_IP_ADDRESS

ORIGINATOR

Response Parameters
Table 7. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
Verifying payment example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=VERIFYPAYMENT&
    APPLICATIONTYPE=S&
    ORDERNUMBER=2584762&
    LANGUAGE=en&
  2. The response looks like this:

    Response Parameters
    order.1.amount=5500.00&
    payment.1.1.paymentNumber=2584762&
    payment.1.1.depositAmount=5500.00&
    order.1.orderText=Test%3A0000&
    order.1.contractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
    payment.1.1.timeModified=31.10.2022+13%3A44%3A25&
    payment.1.1.paymentType=RIVERTY&
    order.1.merchantNumber=840&
    payment.1.1.state=payment_deposited&
    order.1.depositAmount=5500.00&
    order.1.customerStatement=Test005&
    order.1.providerContractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
    order.1.timeModified=31.10.2022+13%3A44%3A25&
    payment.1.1.providerReferenceNumber=2584762&
    order.1.orderNumber=2584762&
    payment.1.1.gatewayReferenceNumber=2584762&
    payment.1.1.orderNumber=2584762&
    payment.1.1.approveAmount=5500.00&
    order.1.approveAmount=0&
    order.1.credits=0&
    payment.1.1.merchantNumber=840&
    order.1.payments=1&
    order.1.currency=EUR&
    version=qtillserver+3.23.0.48&
    order.1.refundAmount=0&
    payment.1.1.currency=EUR&
    order.1.timeCreated=31.10.2022+13%3A44%3A24&
    order.1.state=ORDERED&
    order.1.orderDescription=Test%3A0000&
    orders=1&
    payment.1.1.timeCreated=31.10.2022+13%3A44%3A25&
    payment.1.1.batchNumber=300000595&
    order.1.acquirer=Riverty&
    order.1.paymentType=RIVERTY&
    order.1.brand=installment&
    status=0

Post Transaction Commands

GETORDERDETAILS

Request Parameters
Table 8. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

ADMIN_PASSWORD

ORIGINATOR

Response Parameters
Table 9. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

Order as a basis type of properties in the response can be returned for this command.
Getting order details example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=GETORDERDETAILS&
    ORDERNUMBER=2584762&
    ADMIN_PASSWORD=9p3a0m5f&
    APPLICATIONTYPE=S&
  2. The response looks like this:

    Response Parameters
    order.1.amount=5500.00&
    payment.1.1.paymentNumber=2584762&
    payment.1.1.depositAmount=5500.00&
    order.1.orderText=Test%3A0000&
    order.1.contractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
    payment.1.1.timeModified=31.10.2022+13%3A44%3A25&
    payment.1.1.paymentType=RIVERTY&
    order.1.merchantNumber=840&
    payment.1.1.state=payment_deposited&
    order.1.depositAmount=5500.00&
    order.1.customerStatement=Test005&
    order.1.providerContractNumber=72ee7187-cf31-4aae-9773-20d6bec114af&
    order.1.orderNumber=2584762&
    order.1.timeModified=31.10.2022+13%3A44%3A25&
    payment.1.1.providerReferenceNumber=2584762&
    payment.1.1.gatewayReferenceNumber=2584762&
    payment.1.1.orderNumber=2584762&
    objectsTotal=1&
    payment.1.1.approveAmount=5500.00&
    order.1.approveAmount=0&
    order.1.credits=0&
    payment.1.1.merchantNumber=840&
    order.1.payments=1&
    order.1.currency=EUR&
    version=qtillserver+3.23.0.48&
    order.1.state=ORDERED&
    order.1.timeCreated=31.10.2022+13%3A44%3A24&
    payment.1.1.currency=EUR&
    order.1.refundAmount=0&
    order.1.orderDescription=Test%3A0000&
    orders=1&
    payment.1.1.timeCreated=31.10.2022+13%3A44%3A25&
    order.1.paymentType=RIVERTY&
    order.1.brand=installment&
    order.1.acquirer=Riverty&
    payment.1.1.batchNumber=300000595&
    status=0

DEPOSIT

The transaction is automatically deposited by using the command INITIATEPAYMENT, in this case, the command DEPOSIT isn’t used. Look at the order flow diagram of the payment method for closer information.

Riverty transactions are by default set to be approved and deposited in one step, but it can be split it up into a two-step process. That allows distinguishing between approved and deposited payments and performing certain actions for each of them.

To separate the transaction flow into authorization and capture, get in contact with the integration specialists. Look at the order flow diagram of the payment method for closer information.

APPROVEREVERSAL

For using the command APPROVEREVERSAL, payment needs to be in an approved state. Look at the order flow diagram of the payment method for closer information.
This command is only possible for a two-step transaction, by default this payment method is immediately deposited. Contact our integration specialists to change the configuration of this payment method.
Request Parameters
Table 10. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

CURRENCY

PAYMENTNUMBER

AMOUNT

ADMIN_PASSWORD

APPLICATIONTYPE

ORIGINATOR

Response Parameters
Table 11. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

REFUND

Request Parameters
Table 12. Request Parameters
Required Parameters Optional Parameters

MERCHANTKEY

LOGPATH

COMMAND

LANGUAGE

ORDERNUMBER

APPLICATIONTYPE

AMOUNT

CREDITNUMBER

ADMIN_PASSWORD

CURRENCY

MERCHANTREFERENCE

CUSTOMERSTATEMENT

ISO_TRANSACTION_TYPE

ORIGINATOR

For refunds, basket item data are additional optional parameters.
Response Parameters
Table 13. Response Parameters
Required Parameters Optional Parameters

status

orders

version

errorCode

message

paySysMessage

originator

creditNumber

Refunding example
  1. Send a request.

    Request Parameters
    MERCHANTKEY=43gADp5.UOZxPTet6O8o8K6o-7RefQB3BO21OMu4chB65LJUI_&
    COMMAND=REFUND&
    ORDERNUMBER=2925070&
    CURRENCY=EUR&
    AMOUNT=5500.00&
    ADMIN_PASSWORD=9p3a0m5f&
    APPLICATIONTYPE=S&
    LANGUAGE=en
  2. The response looks like this:

    Response Parameters
    creditNumber=6949965&
    version=qtillserver+3.23.0.48&
    status=0

Query Commands

For every payment method commands QUERYORDERS, QUERYCREDITS, and QUERYBATCHES are used.