Bmob是國(guó)內(nèi)一款相當(dāng)好用的后端云服務(wù),提供了一系列的云服務(wù)API,其中包括與支付相關(guān)的API,可以幫助我們快速集成支付功能。本文將主要介紹Bmob如何使用PHP實(shí)現(xiàn)支付功能的實(shí)現(xiàn)方式。
一、Bmob支付準(zhǔn)備工作
在開始使用Bmob支付的API之前,我們需要做好支付寶的相關(guān)配置,首先需要去支付寶進(jìn)行注冊(cè)賬號(hào),然后申請(qǐng)并綁定支付寶的開發(fā)者賬號(hào)。接著,我們需要?jiǎng)?chuàng)建一個(gè)應(yīng)用,并且在應(yīng)用中生成app_key和app_secret,這兩個(gè)參數(shù)用于后續(xù)的簽名驗(yàn)證。最后,我們需要?jiǎng)?chuàng)建一個(gè)密鑰,用于加密交易信息。
二、集成Bmob支付
為了使用Bmob支付的API,我們首先需要引入Bmob SDK。可以去Bmob官網(wǎng)下載PHP SDK,解壓后將BmobClient.php文件導(dǎo)入到項(xiàng)目中即可。接著,我們需要對(duì)Bmob進(jìn)行初始化,將我們獲取到的app_key和app_secret傳入初始化方法中,這樣我們就可以開始使用Bmob支付API了。以下是初始化方法:
$bmob = new BmobClient(array(
'appKey' =>'YOUR_APPKEY',
'appSecret' =>'YOUR_APPSECRET'
));
三、創(chuàng)建訂單
接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)支付訂單。在Bmob中,使用RESTful API創(chuàng)建一個(gè)數(shù)據(jù)記錄即可創(chuàng)建一個(gè)訂單。具體來(lái)說(shuō),我們需要使用bmob的data的create方法來(lái)創(chuàng)建一個(gè)新的支付訂單:$params = array(
'subject' =>'商品',
'body' =>'商品描述',
'amount' =>'價(jià)格',
'channel' =>'支付渠道',
'client_ip' =>'客戶端ip',
'order_no' =>'訂單號(hào)'
);
$result = $bmob->create('Payment', $params);
以上代碼中,我們使用了Bmob的創(chuàng)建方法創(chuàng)建了一條名為Payment的數(shù)據(jù)記錄。其中,$params是一個(gè)數(shù)組,包含我們需要提交的訂單信息,如訂單金額、訂單號(hào)、商品名等等。
四、獲取支付憑證
接下來(lái),我們需要使用剛剛創(chuàng)建的支付訂單的objectId來(lái)獲取支付憑證。具體來(lái)說(shuō),我們需要先使用bmob的data的get方法獲取剛剛創(chuàng)建的支付訂單記錄:$objectId = $result->objectId;
$order = $bmob->get('Payment', $objectId);
然后,我們需要使用bmob的云函數(shù)API,調(diào)用云函數(shù)getPaymentCharge,從而獲取支付憑證:$params = array(
'order_no' =>$order->order_no,
'amount' =>$order->amount
);
$result = $bmob->callFunction('getPaymentCharge', $params);
$charge = $result->result;
以上代碼中,$params數(shù)組包含了我們需要提交的信息,如訂單號(hào)、訂單金額等等。$charge變量則是我們獲取的支付憑證。
五、發(fā)起支付請(qǐng)求
最后,我們需要使用客戶端的SDK發(fā)起支付請(qǐng)求。以支付寶支付為例,我們需要在客戶端使用支付寶SDK發(fā)起支付請(qǐng)求:config = array(
'partner' =>'合作商戶ID',
'seller_id' =>'賣家支付寶賬號(hào)',
'private_key_path' =>'應(yīng)用私鑰',
'ali_public_key_path' =>'支付寶公鑰'
);
$alipay = new AlipayNotify($config);
if($alipay->verifyNotify()){
//支付成功的相關(guān)操作
}else{
//支付失敗的相關(guān)操作
}
以上代碼中,$config數(shù)組包含了支付寶的相關(guān)信息,如合作商戶ID、賣家支付寶賬號(hào)、應(yīng)用私鑰、支付寶公鑰等等。$alipay變量則是一個(gè)支付對(duì)象,用于發(fā)起支付請(qǐng)求。如果支付成功,verifyNotify方法會(huì)返回true,否則返回false。
總結(jié)
通過(guò)本文的介紹,我們可以看到,使用Bmob實(shí)現(xiàn)支付功能十分簡(jiǎn)單。在這個(gè)過(guò)程中,我們主要需要通過(guò)Bmob API創(chuàng)建一個(gè)支付訂單,然后獲取支付憑證,最后發(fā)起支付請(qǐng)求即可。而且,Bmob SDK提供了豐富的API,如數(shù)據(jù)操作、文件操作、地理位置操作等等,可以幫助我們快速完成各種服務(wù)的開發(fā)。