Receiving Payment to Reserved Account

Incoming payments through virtual accounts will trigger a new payin event to help you track collections with greater accuracy.

EventResource
payin.receivedThis event is sent when a reserved account receives a bank transfer

Sample payloads and with support included enabled on the webhook:

{
   "id":"17334117902167191862-anc_py_et",
   "type":"payin.received",
   "attributes":{
      "createdAt":"2024-12-05T15:16:30.216482488"
   },
   "relationships":{
      "payIn":{
         "data":{
            "id":"17338992012850-anc_py",
            "type":"PayIn"
         }
      }
   }
}
{
  "data": {
    "id": "176346000000000000008-anc_py_et",
    "type": "payin.received",
    "attributes": {
      "createdAt": "2025-11-18T10:47:15.334277538"
    },
    "relationships": {
      "payIn": {
        "data": {
          "id": "176340000000000000006-anc_py",
          "type": "PayIn"
        }
      }
    }
  },
  "included": [
    {
      "id": "1763462800000000000000806-anc_py",
      "type": "PayIn",
      "attributes": {
        "reference": "176295116000000000000002637-anc_va-ref",
        "createdAt": "2025-11-18T10:47:15",
        "amount": 300000,
        "channel": "transfer",
        "paidAt": "2025-11-18T10:47:15",
        "paymentMethod": "TRANSFER",
        "currency": "NGN",
        "sessionId": "000023251118100000000000000642083",
        "status": "COMPLETED"
      },
      "relationships": {
        "payout": {
          "data": {
            "id": "1751814300000000000000009091-anc_pyt",
            "type": "Payout"
          }
        },
        "reservedAccount": {
          "data": {
            "id": "17629511600000000628-anc_ra",
            "type": "ReservedAccount"
          }
        },
        "customer": {
          "data": {
            "id": "17629000000000000001-anc_ind_cst",
            "type": "IndividualCustomer"
          }
        }
      }
    }
  ]
}

Retrieve PayIn Details by ID

Once you receive a payin.received event, you may use the payIn.id from the webhook payload to fetch the transaction details from Anchor.

MethodEndpoint
GET/pay/payin/:payinId

Sample Request and Response

curl --location 'https://api.getanchor.co/pay/payin/1773818898014014853-anc_py' \ 
     --header 'accept: application/json' \ 
     --header 'x-anchor-key: <API Key>'
{
   "data":{
      "id":"1773818898014014853-anc_py",
      "type":"PayIn",
      "attributes":{
         "reference":"177376430851901867-anc_va-ref",
         "createdAt":"2026-03-18T07:28:00",
         "amount":10000,
         "channel":"transfer",
         "paidAt":"2026-03-18T07:28:00",
         "paymentMethod":"RESERVED_ACCOUNT",
         "currency":"NGN",
         "sessionId":"100004260300072732154929172017",
         "status":"COMPLETED"
      },
      "relationships":{
         "payout":{
            "data":{
               "id":"16534918589618880499738588-anc_pyt",
               "type":"Payout"
            }
         },
         "merchant":{
            "data":{
               "id":"165349189610-anc_og",
               "type":"Merchant"
            }
         },
         "attempt":{
            "data":{
               "id":"17738186246914849-anc_chrg",
               "type":"Charge"
            }
         },
         "reservedAccount":{
            "data":{
               "id":"17737642099171867-anc_ra",
               "type":"ReservedAccount"
            }
         },
         "customer":{
            "data":{
               "id":"16950454350-anc_ind_cst",
               "type":"IndividualCustomer"
            }
         }
      }
   }
}

You can retrieve additional related resources (e.g. sender details or reserved account) in a single request using the include query parameter.

curl --location 'https://api.getanchor.co/pay/payin/:payinId?include=Charge,ReservedAccount' \
     --header 'accept: application/json' \
     --header 'x-anchor-key: <API Key>'
{
   "data":{
      "id":"17738188014014853-anc_py",
      "type":"PayIn",
      "attributes":{
         "reference":"176295116000000000000002637-anc_va-ref",
         "createdAt":"2026-03-18T07:28:00",
         "amount":10000,
         "channel":"transfer",
         "paidAt":"2026-03-18T07:28:00",
         "paymentMethod":"RESERVED_ACCOUNT",
         "currency":"NGN",
         "sessionId":"100004260000072732154929172017",
         "status":"COMPLETED"
      },
      "relationships":{
         "payout":{
            "data":{
               "id":"165349185800499738588-anc_pyt",
               "type":"Payout"
            }
         },
         "attempt":{
            "data":{
               "id":"1773818880246914849-anc_chrg",
               "type":"Charge"
            }
         },
         "reservedAccount":{
            "data":{
               "id":"17737643085382099171867-anc_ra",
               "type":"ReservedAccount"
            }
         },
         "customer":{
            "data":{
               "id":"16950452350-anc_ind_cst",
               "type":"IndividualCustomer"
            }
         }
      }
   },
   "included":[
      {
         "id":"17738188801714849-anc_chrg",
         "type":"Charge",
         "attributes":{
            "transactionType":"transfer",
            "transferDetails":{
               "bank":"ninepsb",
               "beneficiaryAccountNumber":"6176003600",
               "senderBank":"Opay Digital Services",
               "senderAccountNumber":"8169999999",
               "senderName":"James John",
               "sessionId":"100004260000000032000029172017",
               "narration":"Test-test"
            },
            "chargeStatus":"success"
         }
      },
      {
         "id":"177376430000171867-anc_ra",
         "type":"ReservedAccount",
         "attributes":{
            "createdAt":"2026-03-17T16:18:30",
            "bank":{
               "provider":"ninepsb",
               "name":"9 Payment Service Bank"
            },
            "accountName":"Salma Lemke",
            "accountNumber":"666666666",
            "status":"ACTIVE"
         },
         "relationships":{
            "merchant":{
               "data":{
                  "id":"1653489610-anc_og",
                  "type":"Merchant"
               }
            },
            "customer":{
               "data":{
                  "id":"1695052350-anc_ind_cst",
                  "type":"Customer"
               }
            }
         }
      }
   ]
}