Cash Transfer Payments Guide

The OpenTransact API is able to connect to payment processing providers that enable cash transfers at retail locations, and kiosks, which are popular in some countries. This guide will walk you through integrating with the OpenTransact API for the purposes of connectiong to one of the integrated partners that supports processing payments at these cash payment networks.

Processing Workflow

In general, the customer will visit your site or application and select a cash payment method at checkout. Your application will receive a reference code and/or information that should be displayed to the user regarding how to complete the cash transfer. The user can take these instructions, or print them and use them to complete the transaction at a physical retail location or payment kiosk within the network. When the payment is completed, our API will receive a notification of that completion and update the status of the payment.

Sample JSON for Transaction Request

When creating a Transaction in the API, set payment-method.type to bank and payment-method.options.identifier to the identifier value for the bank the user has selected.

{
	"data": {
		"type": "transactions",
		"attributes": {
			"transaction-type": "debit",
			"amount": 100,
			"precision": 2,
			"currency": "MXN",
            "memo": "Test Transaction",
            "payment-method": {
                "type": "cash"
            },
            "metadata": {

            }
		},
		"relationships": {
			"profile": {
				"data": {
					"type": "profiles",
					"id": profile_id
				}
			}
		}
	}
}

Sample JSON for Transaction Response

When you create a transaction to be paid via a cash network, the details required to complete the transfer will be present on the metadata attributre of the transaction. Grab the code from metadata.charge.Rapyd.response.params.paycode and display the code to the user with instructions. For cash networks the code can also be represented as a barcode or a QR code

  • metadata object is truncated for clarity.
{
  "data": {
    "id": "example-uuid",
    "type": "transactions",
    "attributes": {
      "transaction-type": "debit",
      "amount": 100,
      "currency": "MXN",
      "precision": 2,
      "memo": "Test Transaction",
      "status": "pending",
      "metadata": {
        "charge": {
          "Rapyd": {
            "duration": 1144,
            "release": "0.1.1-alpha.21197",
            "processor-configuration-id": "example-uuid",
            "response": {
              "params": {
                 "payCode": "888455799438564343"
              }
            }
          }
        }
      },
      "created-at": "2021-01-01T02:01:22Z",
      "updated-at": "2021-01-01T02:01:27Z"
    },
    "relationships": {
      "profile": {
        "data": {
          "id": "example-uuid",
          "type": "profiles"
        }
      }
    },
    "links": {
      "self": "https://api.opentransact.com/v1/transactions/sample-uuid"
    }
  }
}

Table of contents