PayFacto API - v1.0 - POST /v1/recur/DelUser
PayFacto API - v1.0 - POST /v1/recur/DelUser
Removes a cardholder's card registration from the PayFacto recurring billing vault. The cardholder is identified by the Token previously returned by /v1/recur/AddUser, /v1/recur/CreateSession, or /v1/recur/AddSubscription. No transaction is processed. Once deleted, the token is permanently invalidated.
π
API Key
Generate your API key from the Payments Manager: Administrator Client β API Key β Add New Key. Pass it as auth-api-key in every request.
πͺ
Company & Merchant Numbers
Your CompanyNumber (5-digit) and MerchantNumber (8-digit) are issued by PayFacto during onboarding. Both are required on every Delete User request.
π¦
Request Format β Base64-Encoded Payload
Requests use HTTP POST with an application/x-www-form-urlencoded body. Assemble all parameters as a cleartext query string, Base64-encode it, then send: auth-api-key={key}&payload={base64}. This endpoint does not require card data, terminal numbers, or transaction amounts.
πΎ
Token Required
The Token field is the only way to identify the cardholder registration to delete. It must be the token previously returned by /v1/recur/AddUser, /v1/recur/CreateSession, or /v1/recur/AddSubscription for this cardholder.
β οΈ
Deletion is Permanent
Once deleted, the token is permanently invalidated and cannot be recovered. Any active subscriptions associated with this token should be cancelled before calling this endpoint. Attempting to use a deleted token for future billing will result in an error.
βΉοΈ
All parameters are passed inside the Base64-encoded payload form field. Raw body format: auth-api-key=<key>&payload=<base64>. This endpoint does not require card data, terminal numbers, or transaction amounts.
Required fields
| Field | Type | Description |
|---|
| CompanyNumber | Numeric(5) | Identifies the merchant on PayFacto's network. Provided by PayFacto during onboarding. Example: 12345 |
| MerchantNumber | Numeric(8) | Identifies the merchant to PayFacto's network. Provided by the integration team. Example: 53400000 |
| CustomerNumber | Alphanumeric(8) | Merchant-assigned customer identifier associated with the registration to delete. Example: CLIENT12 |
| LanguageCode | Alphanumeric(1) | Language for PayFacto responses. F = French, E = English. |
| OperatorID | Alphanumeric(8) | Identifies the cashier, agent, or system that initiated the request. Example: USER0001 |
| Token | Alphanumeric(35) | The token identifying the cardholder registration to remove from the vault. Must be the token previously returned by /v1/recur/AddUser, /v1/recur/CreateSession, or /v1/recur/AddSubscription. Example: 4111110000001111000000000000000001 |
3
Request β Code Example
β οΈ
The example below uses the test endpoint and a sandbox API key. Replace credentials and base URL before going live. Ensure any active subscriptions for this cardholder are cancelled before calling this endpoint, as deletion is permanent and cannot be undone.
cURL
# Delete User -- POST /v1/recur/DelUser
# Step 1: Build the cleartext payload
PAYLOAD="CompanyNumber=12345&MerchantNumber=53400000&CustomerNumber=CLIENT12&LanguageCode=E&OperatorID=USER0001&Token=4111110000001111000000000000000001"
# Step 2: Base64-encode the payload
ENCODED=$(echo -n "$PAYLOAD" | base64)
# Step 3: Submit the request
curl -X POST "https://test.api.payfacto.cloud/v1/recur/DelUser" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "auth-api-key=YOUR_TEST_API_KEY&payload=$ENCODED"
Always returned
| Field | Type | Description |
|---|
| returnCode | Alphanumeric(4) | Identifies the result of the deletion. 00 = user deleted successfully. All other values indicate a failure. Refer to Section 6 for endpoint-specific codes. |
| serverNumber | Alphanumeric(4) | Identifies the PayFacto Network server that processed the request. |
| timeStamp | Alphanumeric(17) | Date and time the request was processed. Format: YYYYMMDD-HHMMSSCC. Example: 20240601-09000100 |
| companyNumber | Numeric(5) | Echo of the request CompanyNumber. |
| merchantNumber | Numeric(8) | Echo of the request MerchantNumber. |
| languageCode | Alphanumeric(1) | Echo of the request LanguageCode. |
Conditionally returned
| Field | Type | Description |
|---|
| errorDescription | Alphanumeric(50) | Only returned when the deletion fails. Human-readable description of the failure reason. |
5
Response β Code Example
JSON β 200 Success
{
"returnCode": "00",
"serverNumber": "0001",
"timeStamp": "20240601-09000100",
"companyNumber": "12345",
"merchantNumber": "53400000",
"languageCode": "E"
}JSON β Error
{
"returnCode": "9006",
"errorDescription": "INVALID COMPANY NUMBER",
"serverNumber": "0001",
"timeStamp": "20240601-09000200",
"companyNumber": "12345",
"merchantNumber": "53400000",
"languageCode": "E"
}The following codes are most relevant to this endpoint. For the complete catalogue see the Return Code Index.
| Return Code | Meaning | When it occurs | Recommended Action |
|---|
| 00 | Deletion successful | The cardholder registration has been permanently removed from the PayFacto recurring billing vault. | Remove the token from your records. Do not attempt to use it for future billing operations. |
| 9004 | "Null" value: company number | CompanyNumber is null or blank in the payload. | Check your application. The field must correspond to the specification in the documentation. |
| 9005 / 9006 | Invalid / rejected: company number | CompanyNumber does not match the required 5-digit length or is not configured in the payment solution. | Make sure the application uses the correct company number provided by PayFacto. If it does, contact PayFacto customer service. |
| 9007 | "Null" value: merchant number | MerchantNumber is null or blank in the payload. | Check your application. The field must correspond to the specification in the documentation. |
| 9008 / 9009 | Invalid / rejected: merchant number | MerchantNumber does not match the required 8-digit length or is not configured in the payment solution. | Make sure the application uses the merchant number provided by PayFacto. If it does, contact PayFacto customer service. |
| 9051 | Time out | Request processing timed out. | Retry the request. If the problem persists, contact PayFacto customer service. |
| 9049 / 9050 | Fatal error | A critical error occurred while processing the request. | Retry the request. If the problem persists, contact PayFacto customer service.
|