Paynow Developer Documentation

website·Indexed 34 days ago

https://developers.paynow.co.zw

Developer resources for Paynow's payment gateway and BillPay platform. Includes integration guides for the Paynow API, Express Checkout, and BillPay Vendor and Biller APIs, with SDK support for PHP, Python, Java (Spring Boot), and C#. Covers transaction initiation, status updates, hash generation, and integrations with Shopify and Gravity Forms.

Tokens
28.7K
Snippets
120
Records
198
Agent score
65%

What's inside Paynow

  1. Overview of Paynow BillPay Biller API

    The Biller API is intended for offline billers (service providers) to manage members and receive payment notifications. It enables billers to create, update, and delete members (including bulk operations), download payment reports, and receive payment notifications via webhooks. Note: Online billers should contact Paynow support for direct integration options rather than using this API.
  2. Overview of Paynow BillPay Vendor API

    The Vendor API is designed for resellers who facilitate bill payments and provision services for their customers. It allows vendors to list available billers and products, process payments using an Auth/Pay flow, query payment status and history, manage vendor balances, handle reversals/refunds, and receive webhook notifications regarding biller configuration changes.
  3. Biller API access requirements

    The Biller API is designed for offline billers (where Paynow accepts payment and notifies the biller). To use the API, the user account must be assigned the role of either 'Biller Admin' or 'Biller User'. Online billers should contact Paynow support for alternative integration options.
  4. Use official Paynow brand assets and badges

    Paynow provides a collection of official artwork (badges and buttons) to help applications associate with the Paynow brand. Assets are supplied in .AI (Adobe Illustrator) and .SVG (Scalable Vector Graphics) formats. It is recommended to use SVG images in responsive web applications to ensure clarity across different screen resolutions.
  5. Understand Paynow API communication and security

    The Paynow interface uses HTTP POST requests to exchange data between the merchant site and the Paynow server, and HTTP GET requests to redirect customers. To maintain security, Integration Keys and Hashes must never be exposed on client-visible pages or URLs. Integration Keys should be stored securely, either encrypted or in a database separate from the main site.
  6. Retrieve fiscal device information using ZIMRA device ID

    Use the GET /api/device/{zimraDeviceId} endpoint to retrieve detailed information about a fiscal device, including its current status, receipt counters, taxpayer details, and available tax types. This endpoint requires the zimraDeviceId as a path parameter.
    GET /api/device/{zimraDeviceId}
  7. Create an advanced payment request button

    An advanced payment request button allows customers to enter additional details about a product or service during the payment process. To implement this, you must first create a "Custom Button Template" in the Paynow merchant account and obtain its Integration ID.

    The payment link follows this structure: https://www.paynow.co.zw/payment/billpaymentlink/{customer-email}?q={arguments}

    • {customer-email}: (Optional) If provided, Paynow logs the customer in anonymously using this address.
    • {arguments}: A string of parameters that must be URL-encoded and then Base64-encoded (using URL Safe Base64 Encoding).
  8. Understand the Paynow BillPay Vendor API payment lifecycle

    The Vendor API allows vendors to authorize, pay, and query BillPay payments. The typical workflow consists of the following stages:

    1. List Billers: Retrieve all available billers on the account to update the application's biller/product database, including artwork and meta descriptions.
    2. Auth: Send product information and customer identifiers to the biller. The response provides payment details for confirmation.
    3. Pay: Complete the transaction after a successful Auth. Successful responses provision the service or return vouchers.
    4. Webhook: Paynow uses the configured webhook URL to notify the application of biller configuration changes, which should be used in conjunction with the List Billers endpoint to maintain database synchronization.
  9. Use Paynow Airtime products

    To purchase airtime, use any valid mobile number (Econet, NetOne, Telecel, or Africom) as the member number.

    Available airtime product codes:

    • AIRTIME: Credits a ZWG monetary value to the subscriber's prepaid balance.
    • AIRTIME_USD: Credits a USD monetary value (currently only supported for Econet).

    Other mobile bundle products are available, with the applicable network specified in the product name.

  10. Initialize the Paynow client

    To start using Paynow, import the Paynow class and instantiate it using your unique Integration ID and Integration Key provided by Paynow.
    const { Paynow } = require("paynow");
    
    let paynow = new Paynow("INTEGRATION_ID", "INTEGRATION_KEY");