Skip to main content

ValU

ValU consumer finance is a simple and secure financing platform where your customers can do online purchases on short-term financing and repay the amount based on specific installment plans at an interest rate offered by the financing company. For now, we have partnered with ValU in Egypt to offer consumer financing services.

We support ValU in Egypt. Ensure your merchant account is configured for the Egyptian market before integration.

API Endpoints

https://sbpaymentservices.payfort.com/FortAPI/paymentApi

Request Format

  • Method: POST
  • Content-Type: application/json
  • Submission: Server-to-server HTTPS POST

Before Starting

Before you start, remember:

  • Your customer should be registered with ValU in order to have this benefit of installments.
  • You should have a valid SHA signature, to configure signatures, refer to Signature and Signature Calculation Tool.
  • To fetch your merchant reference and merchant access code, go to Merchant Management, search and select the test merchant account and click Security Settings.

Multiply your transaction amount by the currency decimal code per ISO code 3 before sending the amount parameter. Example: For 100 EGP (2 decimal places per ISO code 3), multiply by 100 to send 10000 in your request.

The merchant_reference must be unique per transaction and should be the same for all ValU APIs.

Check signature calculation section to learn how to calculate the signature.

This request allows the Merchant to identify whether the customer is a ValU registered customer or not; by verifying the Customer's phone number.

Request Parameters

Parameter
service_command   String Max: 20 Required

Service command for customer verification.
Value: CUSTOMER_VERIFY
Example. CUSTOMER_VERIFY
access_code   String Max: 20 Required

Merchant access code obtained from Amazon Payment Services dashboard under Integration Settings.
Example. zx0IPmPy5jp1vAz8Kpg7
merchant_identifier   String Max: 20 Required

Unique merchant identifier assigned by Amazon Payment Services during account setup.
Example. CycHZxVj
merchant_reference   String Max: 40 Required

Unique order reference that must be unique per merchant. The merchant reference should be the same for all APIs. Alphanumeric characters, hyphens, underscores, and periods allowed.
Example. XYZ9239-yu898
language   String Max: 2 Required

Response language. Supported values: en (English) or ar (Arabic).
Example. en
payment_option   String Max: 10 Required

Payment option for ValU transactions.
Value: VALU
Example. VALU
phone_number   String Max: 19 Required

Customer's phone number registered with ValU for verification.
Example. 00008557694
signature   String Max: 200 Required

SHA-256 hash signature for request authentication and integrity validation.
Example. 7cad05f0212ed933c9a5d5dffa31661acf2c827a

Response Parameters

Parameter
service_command   String Max: 20

Service command from the request.
Value: CUSTOMER_VERIFY
Example. CUSTOMER_VERIFY
access_code   String Max: 20

Merchant access code used in the request.
Example. zx0IPmPy5jp1vAz8Kpg7
merchant_identifier   String Max: 20

Merchant identifier used in the request.
Example. CycHZxVj
merchant_reference   String Max: 40

Unique order reference from the request.
Example. XYZ9239-yu898
language   String Max: 2

Language used for the response.
Example. en
payment_option   String Max: 10

Payment option used.
Value: VALU
Example. VALU
phone_number   String Max: 19

Customer's phone number from the request.
Example. 00008557694
signature   String Max: 200

Response signature for verification.
Example. 7cad05f0212ed933c9a5d5dffa31661acf2c827a
response_message   String Max: 150

Human-readable response description in requested language.
Example. Success
response_code   String Max: 5

Numeric response code indicating verification result.
Example. 88000
status   String Max: 2

Two-digit status code indicating verification state.
Example. 88
{
"service_command": "CUSTOMER_VERIFY",
"merchant_reference": "XYZ9239-yu898",
"merchant_identifier": "CycHZxVj",
"access_code": "zx0IPmPy5jp1vAz8Kpg7",
"language": "en",
"payment_option": "VALU",
"phone_number": "00008557694",
"signature": "54efbd76bd644e9ef237c39137bf5d2304dc1bfdf6f6302065b448f2456a07a7"
}
Sample Response
{
"service_command": "CUSTOMER_VERIFY",
"access_code": "zx0IPmPy5jp1vAz8Kpg7",
"merchant_identifier": "CycHZxVj",
"merchant_reference": "XYZ9239-yu898",
"language": "en",
"payment_option": "VALU",
"phone_number": "00008557694",
"signature": "7cad05f0212ed933c9a5d5dffa31661acf2c827a",
"response_message": "Success",
"response_code": "88000",
"status": "88"
}

Refund Operations

The refund API follows the same standards as other payment options. ValU supports both full and partial refund operations.

The refund API of ValU supports both full refund and partial refund operations. Please use the standard Refund Operation documentation for implementation details.

Response Codes

For a complete list of response codes and their descriptions, please refer to our Error Codes Documentation.

Important Notes

Prior to sending the transaction value, multiply the value by the currency decimal code corresponding to the ISO code 3.

Example: If the amount was 100 EGP, multiply the value with 100 (2 decimal points). The request amount will be 10000.

  • Wallet Amount (ToU): A gift balance that can be purchased using your valU limit and paid in flexible installment plans from 6-60 months.
  • Cashback Wallet Amount: Amount stored in the cashback wallet for the customer.
  • Both amounts are mandatory parameters and must follow the currency decimal point rules.

Your customer must be registered with ValU to access installment benefits. Use the Customer Verify API to check registration status before proceeding with other operations.

Testing The Integration

Sandbox Testing

Use the sandbox environment for development and testing:

  • Sandbox URL: https://sbpaymentservices.payfort.com/FortAPI/paymentApi
  • Test Phone Numbers: Contact your integration team for ValU test phone numbers
  • Test OTP Codes: Use sandbox-specific OTP codes provided by your integration team

Go-Live Process

When ready to move to production, follow our Go-Live checklist

Was this page helpful?

Thanks for your feedback!