explaingit

jnmhub/gopay-auto-protocol

17PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

A Python script that automatically registers GoPay (an Indonesian digital payments app) accounts by buying temporary phone numbers, handling OTP verification, and setting a PIN, all without manual input.

Mindmap

mindmap
  root((gopay-auto-protocol))
    What It Does
      Account registration
      OTP polling
      PIN setup
    Tech Stack
      Python 3.10+
      requests
      cryptography
    Inputs
      SMSCloud API key
      Desired PIN
    Outputs
      JSON result file
    Use Cases
      API research
      Automation testing
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automate GoPay account registration for research or testing without manual steps

USE CASE 2

Study how GoPay's internal API authentication and OTP flow works

USE CASE 3

Integrate temporary Indonesian phone number provisioning into automated testing workflows

Tech stack

Pythonrequestscryptography

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a paid SMSCloud API key to purchase temporary Indonesian phone numbers, plus Python 3.10+ with requests and cryptography installed.

Released as open-source for research and learning, no explicit license terms stated, use at your own risk and comply with GoPay's terms of service.

In plain English

This is a Python script that automates the GoPay account registration process by talking directly to GoPay's internal API, bypassing the normal app interface. GoPay is an Indonesian digital payments service. The script purchases a temporary Indonesian phone number from an SMS code platform, waits for the one-time password to arrive, completes the registration flow, and sets a PIN, all without any manual input beyond supplying your SMS platform API key and the PIN you want. The repository is described by the author as an open-source research and learning release. A comparison table in the README shows two versions: the free version here covers the core registration, login, and PIN-setting steps using a single SMS platform (SMSCloud). A paid second version adds support for multiple SMS platforms, multi-threading, proxy configuration, payment flows, and more robust retry logic, but is not published publicly. The main script (pure_pin_only.py) handles the entire flow automatically: buying a number, polling for the OTP, logging in, refreshing the session, triggering a second OTP for the PIN step, and saving the result as a JSON file. A lower-level script (full_pure_signup_pin.py) offers more control, including the ability to supply a phone number and OTP manually if you already have them. The README explicitly states that users are responsible for complying with GoPay's terms of service and applicable laws, and that all consequences of use rest with the user rather than the author. The project requires Python 3.10 or newer and depends on the requests and cryptography packages. Most of the documentation and the README itself are written in Chinese.

Copy-paste prompts

Prompt 1
Using the gopay-auto-protocol flow, write a Python script that registers a GoPay account with a given SMSCloud API key and PIN, polling for the OTP automatically
Prompt 2
Explain how full_pure_signup_pin.py in gopay-auto-protocol lets you supply a phone number and OTP manually instead of buying one
Prompt 3
Add retry logic to gopay-auto-protocol's OTP polling loop so it retries up to 5 times with 10-second intervals before giving up
Prompt 4
Modify gopay-auto-protocol to save registration results to a SQLite database instead of a JSON file, storing owner, phone number, and PIN
Open on GitHub → Explain another repo

← jnmhub on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.