Recharge Request Only

When creating an automatic recharge request (subscriber-scheduled recharge or an automatic recurring recharge), you can specify that the recharge request is sent in advance of the charge to the Request-Only Gateway. A recharge request forwards the payment information to the gateway, but does not collect the actual payment. If you do not have a Pay Now payment gateway but want the charge amount to be used by an external system to trigger a recharge or payment, you can use the Request-Only Gateway.

When you create a subscriber-scheduled recharge or an automatic recurring recharge, specify a PaymentMethodResourceId for a payment method defined with a PaymentGatewayId parameter that is 2 (Request-Only Gateway). In this situation, MATRIXX Charging Application processes a system-initiated recharge request, rates the charge, determines balances updates, and generates a recharge request (MtxRechargeRequestEvent) Event Detail Record (EDR). However, the calculated updates to the subscriber data and balances are not processed by the transaction server. MATRIXX Charging Application sends a payment message (MtxRechargeRequestInfo) to the Request-Only Gateway.

To make a recharge request to the Request-Only Gateway, the following Payment Service parameter must be defined in /opt/mtx/conf/payment-service.yaml:
#Request Only Payment Gateway
    requestonly:
      configs:
        default:
          queue: payment_request_only_gateway
          format: json
Note: You can make a recharge request in XML or JSON format. The default is JSON. For more information about configuring the Payment Service, see the discussion about configuring the Payment Service.
The default payment gateway IDs are:
  • Braintree: 0
  • Request-Only Gateway: 2
  • CyberSource: 3
  • FOO Masterpass: 4
  • PayFort: 5
  • Romcard: 6
  • Mastercard: 7
  • Romcard V2: 8
  • Barclaycard: 9
  • mPAY Credit Card: 10
  • mPAY Rabbit: 11
After sending the request to the Request-Only Gateway, an entry in the rsgateway.log file indicates that the request for payment has been forwarded to an external endpoint (ActiveMQ queue payment_request_only_gateway).
2018-05-24 | 132121.001 | FromEngineQueueListener-1 | INFO | RequestOnlyGatewayQueueSender | JMS - convertAndSend to queueName=payment_request_only_gateway, message={
"description" : "RECH:20.0",
"paymentToken" : "9127714d-314a-4387-80a7-e103978ccdfa",
"paymentGatewayOneTimeToken" : null,
"recurring" : true,
"settlement" : false,
"amount" : 20.0
}
Figure 1 shows the following process:
  1. Recharge Request is initiated and sent to MATRIXX Engine.
  2. MATRIXX Engine queues the request on the Producer Queue.
  3. The Request-Only Payment Gateway Adapter processes the incoming requests and places them on the Request-Only ActiveMQ queue.
  4. When the request is successfully placed in the Request-Only queue, MATRIXX Engine is notified and the request is considered successful.
    • At any point after successfully delivering the recharge request to the Request-Only queue, the Charging Server can credit the balance in the subscriber's wallet using:
      • Recharge SubMan API (without Pay Now).
      • AdjustBalance SubMan API.
      • PurchaseOffer SubMan API to purchase a one-time offer that has a grant to a balance.

      If the payment is not received before the Charging Server attempts to charge (for example, a recurring charge for a new cycle), then rating fails.

  5. The Payment Gateway Provider can get the request from the queue at any point as an external process.
Figure 1. Recharge Request Only Process

MATRIXX Engine sends a recharge request to ActiveMQ. Request-only adapter sends payment authorization request to the payment gateway which sends it to the client.

For information about creating payment methods, see the discussion about Subscription Payment (Pay Now) in MATRIXX Subscriber Management API. For information about Pay Now automatic recharge, see the discussion about Pay Now automatic recharge.