Paynow failing on supabase


#1

We are experiencing consistent transaction initiation failures when calling the Paynow InitiateTransaction endpoint. The request fails at the network layer with a connection reset by peer (OS error 104) , before any Paynow response payload is returned.

Error Details

Endpoint:
https://www.paynow.co.zw/interface/InitiateTransaction

Observed Error:

TypeError: error sending request for url
client error (Connect): Connection reset by peer (os error 104)

Runtime Stack Trace (excerpt):

at async mainFetch (deno_fetch.js)
at async fetchPaynow (index.ts:21)
at async Server.respond (http/server.ts)

Environment

  • Runtime: Supabase Edge Functions
  • Engine: Deno v2.1.4
  • Supabase Runtime: edge-runtime 1.70.0
  • Deployment Region: eu-west-3 (Europe)
  • Execution Context: Server-side (not browser)
  • TLS: Enabled (default Deno fetch)

Behaviour Observed

  • The TCP connection is reset by the remote peer (Paynow server) during request initiation.
  • No HTTP status code or response body is returned.
  • Error occurs before Paynow processes the transaction (no poll URL or reference generated).
  • Retrying the request produces the same error.

Expected Behaviour

  • Successful TCP/TLS handshake.

  • HTTP response from Paynow (success or validation error).

  • Ability to proceed to polling using the returned poll URL.

  • This is not an application-level error (no malformed payload response).

  • The error suggests:

    • Server-side connection termination
    • Firewall / geo-blocking
    • TLS incompatibility
    • Temporary Paynow infrastructure instability
  • The deployment region is outside Zimbabwe , which may be relevant if Paynow restricts inbound traffic.


#2

Good day @Cyberwave

You need to request Supabase Support to whitelist *.paynow.co.zw(443) for edge function outbound connections.

May you also kindly share the full error log, not the snippet


#3

Did you try to test the payment gate way of paynow locally on your pc. If you did and the payment went through then the paywall or firewall is rejecting outbound requests from the supabase server. If you fail at all options try routing with a vps with static ip address like digital ocean. It will be supabase edge functions - vps - paynow