Wallet API Test Cases

This document is for testing wallet transaction flow using a test-mode wallet.

⚠️ Before you start

To use the wallet test mode, we need to provision you with a test wallet and a test balance. Kindly contact your dedicated account manager or customer success representative for the provisioning.

The wallet test mode authentication process works the same way as other test modes. Please refer to the Authentication page and use the sk_test for the API authentication.

📝 Test Scenarios

You can use these test cases together with the Create Batch Transfer endpoint to test specific scenarios in your wallet integration:

Receiver Account Number

Test Scenario

Transfer status

Provider error / Error code

999999990001 (PESONet & Instapay)

Successful transfer

Succeeded

Not specified

999999990002 (PESONet & Instapay)

Generic failure for testing

Failed

test_failed_number

999999990003 (PESONet & Instapay)

Destination account not found

Failed

account_not_found

999999990004 (PESONet & Instapay)

Destination account inactive

Failed

account_not_active

999999990005 (PESONet & Instapay)

Destination account limit reached

Failed

account_limit_reached

999999990006 (PESONet & Instapay)

Provider internal error

Failed

internal_server_error

{
  "transfers": [
    {
      "source_account": {
        "number": "978011524613",
        "name": "The Barkery",
        "bic": "PAEYPHM2XXX"
      },
      "destination_account": {
        "number": "999999990001",
        "name": "Test Success",
        "bic": "PAEYPHM2XXX"
      },
      "amount": 1000,
      "currency": "PHP",
      "provider": "instapay",
      "callback_url": "https://test.com"
    }
  ]
}

You can check the status of the test mode wallet transaction using the Get Transfer endpoint. The test mode also supports the callback mechanism. Hence, if you supplied a callback_url in the API payload, PayMongo will send a webhook to this URL containing transaction details once an event occurs. Kindly check out the Transfer Callback Documentation for further information.

{
  "data": {
    "id": "batch_tr_035f7188d80d8c51dedcabb7",
    "transfers": [
      {
        "id": "tr_1e101d9d8f01faa5c29dfacb",
        "livemode": false,
        "merchant_id": "org_2Vmxgq5sFzcVmKnKS8icjZzN",
        "source_account": {
          "number": "978011524613",
          "name": "The Barkery",
          "bic": "PAEYPHM2XXX",
          "bank_name": "PAYMONGO PAYMENTS, INC."
        },
        "destination_account": {
          "number": "999999990001",
          "name": "Test Success",
          "bic": "PAEYPHM2XXX",
          "bank_name": "PAYMONGO PAYMENTS, INC."
        },
        "amount": 1000,
        "fee": 1000,
        "currency": "PHP",
        "provider": "instapay",
        "provider_reference_number": "36432af329d3c6da5a1a5d03",
        "reference_number": "36432af329d3c6da5a1a5d03",
        "purpose": "",
        "description": "",
        "callback_url": "https://test.com",
        "metadata": {
          "destination_bank_name": "PAYMONGO PAYMENTS, INC.",
          "source_bank_name": "PAYMONGO PAYMENTS, INC."
        },
        "status": "pending",
        "batch_transfer_id": "batch_tr_035f7188d80d8c51dedcabb7",
        "created_at": "2026-01-23T04:04:28.98256388Z",
        "updated_at": "2026-01-23T04:04:28.98256388Z"
      }
    ]
  }
}