phpはWeChatとAlipayの支払いを実現するコードの例を示します。
7404 ワード
phpはWeChat決済を実現します。
ウィーチャット支払いドキュメントアドレス:https://pay.weixin.qq.com/wiki/doc/api/index.html
phpでWeChat決済を実現しました。ここでEasyWeChatを使いました。
ここはYiiフレームで実現しました。EasyWeChatプラグインをインストールします。
1:config/main.phpのcomponentにEasyWeChatのSDKを追加します。
二:WeChat決済の実現
1:WeChat支払いアプリ
phpはアリペイの支払いを実現します。
アリペイ支払いドキュメントの住所:https://opendocs.alipay.com/open/00y8k9
一:phpにAlipプラグインをインストールします。
phpはアリペイの支払いを実現します。
1:アリペイの配置
このページでは、PHPがWeChatとAlipの支払いを実現するための例示的なコードについての記事を紹介します。より多くの関連phpがWeChatとAlipayの支払いを実現するために、以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。
ウィーチャット支払いドキュメントアドレス:https://pay.weixin.qq.com/wiki/doc/api/index.html
phpでWeChat決済を実現しました。ここでEasyWeChatを使いました。
ここはYiiフレームで実現しました。EasyWeChatプラグインをインストールします。
composer require jianyan74/yii2-easy-wechat
一:EasyWeChatの設定1:config/main.phpのcomponentにEasyWeChatのSDKを追加します。
'components' => [
// ...
'wechat' => [
'class' => 'jianyan\easywechat\Wechat',
'userOptions' => [], //
'sessionParam' => 'wechatUser', //
'returnUrlParam' => '_wechatReturnUrl', // returnUrl
'rebinds' => [ //
// 'cache' => 'common\components\Cache',
]
],
// ...
]
2:config/params.phpに基礎配置情報とWeChat決済情報を設定する
// EasyWechat
'wechatConfig' => [],
// EasyWechat
'wechatPaymentConfig' => [],
// EasyWechat
'wechatMiniProgramConfig' => [],
// EasyWechat
'wechatOpenPlatformConfig' => [],
// EasyWechat
'wechatWorkConfig' => [],
// EasyWechat
'wechatOpenWorkConfig' => [],
// EasyWechat
'wechatMicroMerchantConfig' => [],
具体的な構成方法は、GitHubの説明を参照することができる。https://github.com/jianyan74/yii2-easy-wechat二:WeChat決済の実現
1:WeChat支払いアプリ
$data = [
'body' => '',//
'out_trade_no' => '',//
'total_fee' => '',//
'notify_url' => '', // ,
'trade_type' => 'JSAPI',//
'openid' => '',// openid
];
//
$payment = Yii::$app->wechat->payment;
$result = $payment->order->unify($data);
if ($result['return_code'] == 'SUCCESS') {
$prepayId = $result['prepay_id'];
$config = $payment->jssdk->sdkConfig($prepayId);
} else {
throw new yii\base\ErrorException(' , ');
}
return $this->render('wxpay', [
'jssdk' => $payment->jssdk, // $app
'config' => $config
]);
2:wxpay.phpファイルで支払いを開始する
<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
// jssdk , , jssdk
wx.config(<?php echo $jssdk->buildConfig(array('chooseWXPay'), true) ?>);
function onBridgeReady(){
//
wx.chooseWXPay({
timestamp: <?= $config['timestamp'] ?>,
nonceStr: '<?= $config['nonceStr'] ?>',
package: '<?= $config['package'] ?>',
signType: '<?= $config['signType'] ?>',
paySign: '<?= $config['paySign'] ?>', //
success: function (res) {
//
},
cancel: function(r) {
//
},
});
}
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else{
onBridgeReady();
}
</script>
非同期のコールバックアドレスでWeChatのコールバックを取得するには、次のような方法が必要です。
$payment = Yii::$app->wechat->payment;
$response = $payment->handlePaidNotify(function($message, $fail) {
// , return true;
});
$response->send();
上記の手順でWeChat支払いが可能です。phpはアリペイの支払いを実現します。
アリペイ支払いドキュメントの住所:https://opendocs.alipay.com/open/00y8k9
一:phpにAlipプラグインをインストールします。
composer require alipaysdk/easysdk
alipad ysdk/easysdkのGitHubアドレス:https://github.com/alipay/alipay-easysdk/tree/master/phpphpはアリペイの支払いを実現します。
1:アリペイの配置
/**
*
*/
public static function getOptions()
{
$options = new Config();
$options->protocol = 'https';
$options->gatewayHost = 'openapi.alipay.com';
$options->signType = 'RSA2';
$options->appId = '<-- AppId, :2019022663440152 -->';
// ,
$options->merchantPrivateKey = '<-- , :MIIEvQIBADANB ... ... -->';
$options->alipayCertPath = '<-- , :/foo/alipayCertPublicKey\_RSA2.crt -->';
$options->alipayRootCertPath = '<-- , :/foo/alipayRootCert.crt" -->';
$options->merchantCertPath = '<-- , :/foo/appCertPublicKey\_2019051064521003.crt -->';
// : , ,
// $options->alipayPublicKey = '<-- , :MIIBIjANBg... -->';
// ( )
$options->notifyUrl = "<-- , :https://www.test.com/callback -->";
// AES , AES ( )
//$options->encryptKey = "<-- AES , :aa4BtZ4tspm2wnXLb1ThQA== -->";
return $options;
}
2:アリペイの支払を実現する
//
Factory::setOptions(self::getOptions());
try {
// API
$result = Factory::payment()->wap()->pay(' ', ' ', ' ', ' ', ' ');
$responseChecker = new ResponseChecker();
//
if ($responseChecker->success($result)) {
//
return $result->body;
} else {
//
$errorMsg = $result->msg . $result->subMsg;
throw new yii\\base\\ErrorException($errorMsg);
}
} catch (\\Exception $e) {
throw new yii\\base\\ErrorException($e->getMessage());
}
上記の通りアリペイの支払が可能です。このページでは、PHPがWeChatとAlipの支払いを実現するための例示的なコードについての記事を紹介します。より多くの関連phpがWeChatとAlipayの支払いを実現するために、以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。