hasanilingi/iyzico

iyzico payment system laravel package

dev-master 2015-12-09 16:26 UTC

This package is not auto-updated.

Last update: 2024-06-22 17:40:38 UTC


README

Forked From https://github.com/medyun/hkucuk-iyzico-laravel-package

Laravel PHP Framework

Build Status Total Downloads Latest Stable Version Latest Unstable Version License

This package offers simply iyzico laravel bundled payment system API for PHP Framework.

1. Installation

The hasanilingi/iyzico Service Provider can be installed via Composer by requiring the hasanilingi/iyzico package in your project's composer.json. (composer require hasanilingi/iyzico)

{
    "require": {
        "Hasanilingi/iyzico": "v1.2.0"
    }
}

After need update composer

composer update

To use the hasanilingi/iyzico Service Provider, you must register the provider when bootstrapping your Laravel application.

Find the providers key in your config/app.php and register the hasanilingi/iyzico Service Provider.

    'providers' => array(
        // ...
        Hasanilingi\Iyzico\IyzicoServiceProvider::class,
    )

Find the aliases key in your config/app.php and add the AWS facade alias.

    'aliases' => array(
        // ...
        'Iyzico'		  => Hasanilingi\Iyzico\Facades\Iyzico::class,
    )

2. Configuration

By default, the package uses the following environment variables to auto-configure the plugin without modification:

api_id
secret

To customize the configuration file, publish the package configuration using Artisan.

php artisan vendor:publish

Update your settings in the generated app/config/packages/hasanilingi/iyzico/config.php configuration file.

return array(

    'api_id' => 'iyzico-api-id',

    'secret' => 'iyzico-secret'

);

##3. Bin Check Introduction

We as iyzico know that BIN information is a valueable part of the checkout page and payment procedure. With this information the user experience on the checkout page can be enchanced greatly. This data requires careful investigation and upto date data which may be burden to handle for our customers. For this we created the BIN List Checker API for our customers.

  1. Request

To get the BIN info you need to make request a POST request to ; https://api.iyzico.com/bin-check with your api_id, secret and BIN number.

  1. Response

On the response you will get the following info ; Card Type (DEBIT CARD / CREDIT CARD), Issuer (Visa, Master , ...etc) Brand (Maximum, World, Bonus, ...etc)

###3.1. Field Explanations

In this part you will find more detailed information about the fields that you are gonna send with the request and the fields you will get on the response.

  1. Request Fields
Field Type/Length Description
api_id AlphaNumeric/32 Api id from iyzico account
secret AlphaNumeric/32 Secret from iyzico account
bin Numeric/6 BIN number you want to get info about
  1. Response Fields
Field Type/Length Description
code Numeric/4 Numeric code representing the status of response (200 for success)
status AlphaNumeric/16 Explanation for status
details object Object containing the details
BIN Numeric/6 The BIN number from the request
CARD_TYPE AlphaNumeric/20 Card type (DEBIT CARD / CREDIT CARD)
ISSUER AlphaNumeric/10 Issuer institute (Master, Visa, ...)
BRAND AlphaNumeric/10 The card brand (Maximum, World, ...)
BANK_CODE Numeric/3 Bank's code (70,100 , ...)

###3.2. Bin Check Error Codes

Error Code Message Reason
888.777.901 Method Not Allowed Rather than POST request
888.777.902 Currently Service Not Available. Try again after some time. Service not available
888.777.903 Bad POST Request. api_id, secret, bin parameters not founded in POST request
888.777.904 Bad POST Requested Params. api_id / secret / bin values = null
888.777.905 Invalid BIN Value. BIN value length < 6
888.777.906 Invalid Merchant. api_id & secret not founded/matched
888.777.907 Unauthorized Merchant Merchant Blocked/terminated/rejected
888.777.908 BIN check is disabled. Bin check is disabled for merchant
888.777.909 Can not find Issuer for given BIN Number bin value not matching any issuer
000.000.000 Successful detailed response success

4. Usage

İyzico working principle is two request, two response. We want the first payment forms iyzico like this:

4.1 Checkout Usage

  $data = array(
		"customer_language" => "tr",
		"mode" => "test",
		"external_id" => rand(),
		"type" => "CC.DB",
		"installment" => true,
		"amount" => 1099,
		"return_url" => "http://example.com/iyzicoResponse",
		"currency" => "TRY"
	);

	$response = Iyzico::getForm($data);

	echo $response->code_snippet;

code_snippet will return to us with means of payment form iyzico.

After payment form approved will send the results to return iyzico mentioned URLs.

  $data = json_decode(Input::get("json"), true);
  var_dump($data);

4.2 Bin Check Usage

	$response = Iyzico::checkBin($binNumber);
	
	echo $response->code;