Omnipay: Alipay
Alipay driver for the Omnipay PHP payment processing library, (*1)
, (*2)
Omnipay is a framework agnostic, multi-gateway payment
processing library for PHP 5.3+. This package implements Alipay support for Omnipay., (*3)
This package only support Alipay service, (*4)
Installation
Omnipay is installed via Composer. To install, simply add it to your composer.json
file:, (*5)
{
"require": {
"wjminions/omnipay-alipay": "dev-master"
}
}
And run composer to update your dependencies:, (*6)
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Basic Usage
The following gateways are provided by this package:, (*7)
- Alipay_Web (Alipay Web Gateway) 支付宝国际版Web支付宝接口
- Alipay_Wap (Alipay Wap Gateway) 支付宝国际版Wap支付宝接口
- Alipay_App (Alipay App Gateway) 支付宝国际版App支付宝接口
Usage
Purchase
/**
* @var Omnipay\Alipay\WebGateway $gateway
*/
//gateways: Alipay_Web, Alipay_Wap, Alipay_App
$gateway = Omnipay::create('Alipay_Web');
$gateway->setPartner('8888666622221111');
$gateway->setKey('your**key**here'); //for sign_type=MD5
$gateway->setPrivateKey($privateKeyPathOrData); //for sign_type=RSA
$gateway->setReturnUrl('http://www.example.com/return');
$gateway->setNotifyUrl('http://www.example.com/notify');
$gateway->setEnvironment('sandbox'); //for Sandbox Test (Web/Wap)
$params = [
'out_trade_no' => date('YmdHis') . mt_rand(1000,9999), //your site trade no, unique
'subject' => 'test', //order title
'total_fee' => '0.01', //order total fee
'currency' => 'USD', //default is 'USD'
];
/**
* @var Omnipay\Alipay\Message\WebPurchaseResponse $response
*/
$response = $gateway->purchase($params)->send();
//$response->redirect();
var_dump($response->getRedirectUrl());
var_dump($response->getRedirectData());
var_dump($response->getOrderString()); //for Alipay_App
Return/Notify
/**
* @var Omnipay\Alipay\WebGateway $gateway
*/
$gateway = Omnipay::create('Alipay_Web');
$gateway->setPartner('8888666622221111');
$gateway->setKey('your**key**here'); //for sign_type=MD5
$gateway->setPrivateKey($privateKeyPathOrData); //for sign_type=RSA
$gateway->setEnvironment('sandbox'); //for Sandbox Test (Web/Wap)
$params = [
'request_params' => array_merge($_GET, $_POST), //Don't use $_REQUEST for may contain $_COOKIE
];
$response = $gateway->completePurchase($params)->send();
/**
* @var Omnipay\Alipay\Message\CompletePurchaseResponse $response
*/
if ($response->isPaid()) {
// Paid success, your statements go here.
//For notify, response 'success' only please.
//die('success');
} else {
//For notify, response 'fail' only please.
//die('fail');
}
For general usage instructions, please see the main Omnipay
repository., (*8)
Support
If you are having general issues with Omnipay, we suggest posting on
Stack Overflow. Be sure to add the
omnipay tag so it can be easily found., (*9)
If you want to keep up to date with release anouncements, discuss ideas for the project,
or ask more detailed questions, there is also a mailing list which
you can subscribe to., (*10)
If you believe you have found a bug, please report it using the GitHub issue tracker,
or better yet, fork the library and submit a pull request., (*11)