Document

  • Developer's Sample Code And Document
BemPay
BemPay payment gateway is a web-based service devised to provide cryptocurrency payment and blockchain transaction services to its customers in exchange for goods and services. It enables you to raise the possibility of blockchain transactions and payment of cryptocurrencies to your online store as well as online services by utilizing BemPay.


Financial transactions through BemPay
To conduct a cryptocurrency transaction, the customer must be directed towards BemPay payment page. On this page, the customer selects the amount of USD and relevant cryptocurrency rate and has a potential for confirming the payment by observing the system's bid price. On the payment confirmation page, the payment destination address is displayed along with the amount. The user makes use of the QR code to transfer money through his wallet. If the customer is not able to scan the QR code, there is a possibility for them to get the payment process completed by entering the address manually. Upon completion of the transaction, the customer will be referred to the specified address by merchant system.
After the payment is completed by the customer, the transaction begins to remain in the pending state until their deposits are confirmed on the crypto network. Once the transaction Status in the network is specified, BemPay platform commences informing the merchant system of the final transaction Status.
Ultimately, BemPay settles the store account on a daily basis by aggregating the store transactions.


Transaction status through BemPay
The transaction proceeds towards settlement from the time it is conducted. The transaction status is considered to be recorded at each stage and the transaction process could be tracked through the merchant system by reading it. By conducting a transaction, a token is allocated to it, providing access to the transaction. The transaction status has been displayed separately in the table below. The transaction process is rolled back as “status” in BemPay data models.

Status Discription
100 Success Payment
110 The customer's order has been already registered and the customer is paying. The transaction status will be checked through the network in BemPay and will have it announced to the merchant site if approved.
111 The customer has paid for his order and the transaction has been approved by the network. BemPay begins to register the confirmed status and embarks on notifying the merchant site after inquiring about the transaction confirmation.
112 The customer has not paid for his order or the above-mentioned transaction has not been confirmed on the network. After receiving an inquiry, the unconfirmed transaction status will be verified and notifies the merchant site.
113 The customer has paid for his order and the mentioned transaction has been approved by the network. However, the customer's payment appears to be less than the requested amount.
114 The customer's order has been expired.


Create a transaction ( Request )
The source site to create and start the transaction must address the required information and data according to the table below https://bempay.io/webservice/rest/PaymentRequest the POST method

Parameter Type Status Description
MerchantID string Mandatory Merchant ID is visible in the "My Control Panel" section of your user panel
Source string Mandatory Reference currency (Example: USD)
Amount integer Mandatory USD value in cryprocurrency
InvoiceID string Optional Invoice ID, this ID will be sent to the seller's site after payment
Description string Optional Description of the transaction
Email string Optional Buyer email address
CallbackURL string Mandatory An address on the merchant’s website to which the client will be rolled back after conducting the transaction.
WebhookURL string Mandatory An address on the merchant’s website to which the final status of the transaction will be sent.

List of returned data in response to the transaction process ( Request )
Parameter Description
Status The Status of the request, which if successful is equal to 100, otherwise it is a negative number, which if negative, its interpretation in the tab Return codes / errors Can be checked
Authority The request reference ID, if successful, is 32 characters long and otherwise blank.
PaymentUrl The link to which the user must be transferred in order to pay


CReturn to merchant website ( Callback )
After conducting the transaction via BemPay gateway, the user will return to the mentioned address of the merchant system. The merchant system can specify this address by setting the CallbackURL value.

Transaction status ( Verify )
After conducting the transaction status, BemPay will announce the merchant website regarding the final status by calling back the webhook address. The merchant website can set the webhook URL by specifying the value in the first stage of the destination address.
To verify the transaction, it must send the required information and data according to the following table to https://bempay.io/webservice/rest/PaymentVerification via the POST method

Parameter Type Status Description
MerchantID string Mandatory Merchant ID is visible in the "My Portals" section of your user panel
Authority string Mandatory Request Unique Reference ID Code
Source string Mandatory Reference currency (Example: USD)
Amount integer Mandatory USD value in cryprocurrency


Return data list in response to transaction inquiry process (Verify)
Parameter Description
Status The Status of the request is 100 if it is successful, otherwise it is a negative number, and if it is negative, its description is in the tab Return codes / errors can be checked
RefID If payment is successful; Returns the transaction number of the payment made
Source Reference currency (Example: USD)
Amount USD value in cryprocurrency
BuyerIP If payment is successful; Returns buyer's IP
PaymentTime If payment is successful; Returns the transaction payment time (output of the payment time is timestamp)
The result of the transaction will be automatically sent to the web hook address 1 to 240 minutes after payment by the method PaymentVerification
If the return value of Status in the transaction inquiry process through PaymentVerification is equal to 100, the transaction is done correctly, otherwise the return value will be equal to a negative number. You can check the Return codes / errors tab.

Error table and web service feedback

Code Description
100 successful operation
101 Payment operation successful and PaymentVerification transaction already done
102 Web service connection failed
103 The transaction is waiting for confirmation
-1 The request must be submitted via a web service
-2 No value sent for MerchantID
-3 No value sent for Amount
-4 No value sent for CallbackURL
-5 The requested Source is not currently supported.
-6 MerchantID entered in system not found
-7 MerchantID entered is not enabled
-8 Your account is not commercial, so you can not use the web service
-9 IP is not valid
-10 Return address does not match registered payment gateway address
-11 Web Service Error - Transaction Error Found
-12 Value Authority Submissions are not valid - transaction not found
-13 No value sent to Authority
-14 Transaction information not found, check the Authority value and make sure it is correct
-15 The transaction has not been paid
-16 The amount sent is not the same as the transaction amount, check the Amount value and make sure it is correct
-17 Your access to this transaction has been denied, Authority This transaction has not been registered for your MerchantID
-18 Transaction payment completed successfully, but there was a problem updating the acceptor wallet
-19 Status of the transaction is unknown
-22 Crypto Amount Error
-23 Crypto Get Amount Error
-24 Crypto Wallet Error
-25 Crypto Hash Error



Download Example PHP