PHPackages                             becopay/invoice\_sdk\_php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. becopay/invoice\_sdk\_php

ActiveLibrary[Payment Processing](/categories/payments)

becopay/invoice\_sdk\_php
=========================

Becopay payment gateway api php library

v1.1.0(7y ago)09912Apache-2.0PHPPHP &gt;=5.3.0

Since Oct 14Pushed 7y ago1 watchersCompare

[ Source](https://github.com/becopay/Invoice_SDK_PHP)[ Packagist](https://packagist.org/packages/becopay/invoice_sdk_php)[ Docs](https://becopay.com/en/io)[ RSS](/packages/becopay-invoice-sdk-php/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (1)Versions (6)Used By (2)

Becopay Payment Gateway
-----------------------

[](#becopay-payment-gateway)

This is php library for becopay payment gateway

"php": "&gt;=5.3.0"

### Installing

[](#installing)

Pull this package via Composer.

```
    {
        "require": {
            "becopay/invoice_sdk_php": "1.*"
        }
    }
```

or run in terminal: `composer require becopay/invoice_sdk_php`

### Usage

[](#usage)

**Create Class**
First use the library with this namespace `use Becopay\PaymentGateway;`.
for getting the constructor parameters, you first need to register on becopay website([register now](https://becopay.com/en/io/#api))
If invalid data type class is entered throw an exception.

```
use Becopay\PaymentGateway;

try {
    $payment = new PaymentGateway(
        'api service url',
        'api key',
        'mobile'
    );
} catch (Exception $e) {
	//Add yours exception handling
    echo $e->getMessage();
}
```

**Create payment redirect url**
For creating the payment gateway url, use `create()` method.
Type of parameter value must be string.
If invalid data type class is entered throw an exception. If response is successful it will return object and if not, it will return false
`$payment->error` return the error message

```
try {
    /*
     * This function is used to create an invoice.
     * Return result data type is object
	 *
	 *	Note: default value of `merchantCur`and `currency` currency is 'IRR'
     */
    $invoice = $payment->create('order id','price','description','currency','merchantCur');
    if($invoice)
    {
        /*
        * Save invoice id in your database
        * For checking the invoice status you need invoice id
        * Then redirect user to gateway url for doing the payment process
        */

		//echo the result
  		echo json_encode($invoice);

        //Get invoice id and insert to database
        /*
        	$invoiceId = $invoice->id;
       		echo 'invoice id:'.$invoiceId.'';
        */

        //Get gateway url
        /*
        	$redirectUrl = $invoice->gatewayUrl;
        	echo 'gateway url'.$invoiceId.'';
        */
    }else{
    	//Add your error handling
    	echo $payment->error;
    }
} catch (Exception $e) {
	//Add your exception handling
    echo $e->getMessage();
}
```

Response

```
{
    "id": "ID29_61a5",
    "shopName": "New Shop",
    "status": "waiting",
    "remaining": 40,
    "payerAmount": 15000,
    "payerCur": "IRR",
    "merchantAmount": 15000,
    "merchantCur": "IRR",
    "date": "2018-10-13 06:45:36",
    "timestamp": 1539413136148,
    "timeout": 40,
    "description": "test payment",
    "gatewayUrl": "https://gateway.url.com/invoice/ID29_61a5",
    "callback": "http://www.your-website.com/invoice?orderid=12324320",
    "orderId": "12324320"
}
```

**Check invoice status with invoiceId**
For checking the invoice status you can use `check()` method.
If invalid data type is entered, throw an exception
If response is successful it will return object and if not, it will return false
`$payment->error` return the error message
**Function parameter**

```
check($invoiceId) // Set the Becopay InvoiceId
```

```
      /*
       * Use this function to check the invoice status.
       * This function gets invoice id (which has been created by `create()` function) as parameter
       * and returns status of that
       */
try {
      /*
       * This function will be used on your callback page or when you want to check the invoice status.
       *
       * First you must get orderId from path or query string using $_GET
       * then find related becopay Invoice id from your database
       * and use it to check the invoice status
       */

      //Check invoice with InvoiceId
      $fetchedInvoice = $payment->check($invoiceId);

      if($fetchedInvoice)
      {
      	/*
         * Insert your code here for updating order status
         */
    	if($fetchedInvoice->status == "success")
        {
        	// success msg
        }else{
        	//error msg
        }

		//echo the result
      	echo json_encode($fetchedInvoice);

      }else{
        //Add your error handling
        echo $payment->error;
      }
} catch (Exception $e) {
	//Add your exception handling
    echo $e->getMessage();
}
```

Response

```
{
    "id": "ID29_61a5",
    "shopName": "New Shop",
    "status": "success",
    "remaining": 30,
    "payerAmount": 15000,
    "payerCur": "IRR",
    "date": "2018-10-13 06:45:36",
    "timestamp": 1539413136148,
    "timeout": 40,
    "description": "test payment",
    "gatewayUrl": "https://gateway.url.com/invoice/ID29_61a5",
    "callback": "http://www.your-website.com/invoice?orderid=12324320",
    "orderId": "12324320"
}
```

**Check invoice status with orderId**
For checking the invoice status with your orderId, you can use `checkByOrderId()` method.
If invalid data type is entered, throw an exception
If response is successful it will return object and if not, it will return false
`$payment->error` return the error message
**Function parameter**

```
checkByOrderId($orderId) // Set the your orderId
```

```
      /*
       * Use this function to check the invoice status.
       * This function gets invoice id (which has been created by `create()` function) as parameter
       * and returns status of that
       */
try {
      /*
       * This function will be used on your callback page or when you want to check the invoice status.
       *
       * You must get orderId from path or query string using $_GET
       * and use it to check the invoice status
       */

      //Check invoice with OrderId
      $fetchedInvoice = $payment->checkByOrderId($orderId);

      if($fetchedInvoice)
      {
      	/*
         * Insert your code here for updating order status
         */
    	if($fetchedInvoice->status == "success")
        {
        	// success msg
        }else{
        	//error msg
        }

		//echo the result
      	echo json_encode($fetchedInvoice);

      }else{
        //Add your error handling
        echo $payment->error;
      }
} catch (Exception $e) {
	//Add your exception handling
    echo $e->getMessage();
}
```

Response

```
{
    "id": "ID29_61a5",
    "shopName": "New Shop",
    "status": "success",
    "remaining": 30,
    "payerAmount": 15000,
    "payerCur": "IRR",
    "merchantAmount": 15000,
    "merchantCur": "IRR",
    "date": "2018-10-13 06:45:36",
    "timestamp": 1539413136148,
    "timeout": 40,
    "description": "test payment",
    "gatewayUrl": "https://gateway.url.com/invoice/ID29_61a5",
    "callback": "http://www.your-website.com/invoice?orderid=12324320",
    "orderId": "12324320"
}
```

### License

[](#license)

This package is open-source software licensed under the [Apache License 2.0](https://github.com/becopay/Invoice_SDK_PHP/blob/master/LICENSE)

### Contact

[](#contact)

For any questions, bugs, suggestions or feature requests, please use the Github issue system or submit a pull request. When submitting an issue, always provide a detailed explanation of your problem with any response or feedback you get. Log those messages that might be relevant or a code example that demonstrates the problem. If none of this is available, we will most likely not be able to help you with your problem. Please review the contribution guidelines before submitting your issue or pull request.

For any other question, feel free to use the credentials listed below:

- Email:

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 76.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Total

5

Last Release

2716d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/72f10f2925a1520b47586b776576211a1e134be7e23136ab97f6917a3d12d643?d=identicon)[mohsentm](/maintainers/mohsentm)

![](https://avatars.githubusercontent.com/u/43934635?v=4)[becopay](/maintainers/becopay)[@becopay](https://github.com/becopay)

---

Top Contributors

[![mohsentm](https://avatars.githubusercontent.com/u/11064974?v=4)](https://github.com/mohsentm "mohsentm (33 commits)")[![jeus](https://avatars.githubusercontent.com/u/450334?v=4)](https://github.com/jeus "jeus (10 commits)")

---

Tags

payment

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/becopay-invoice-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/becopay-invoice-sdk-php/health.svg)](https://phpackages.com/packages/becopay-invoice-sdk-php)
```

###  Alternatives

[paymentsuite/stripe-bundle

Stripe PaymentSuite Component

105.0k](/packages/paymentsuite-stripe-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
