bambora 支付对接
1、创建账号
登录官网创建账号:https://web.na.bambora.com/admin/td_sDefault.asp
当你创建成功时候,会收到来自bambora 的邮件,会有以下内容哦,记得保存,还要继续设置密码。
Company Login:you
User Login:you
Your Merchant ID is:you
二、完善公司资料
三、其他设置 获取api key
此处的 Restrict Internet Transaction Processing Types如果,没有必要,切不要勾选
根据你的权限进行设置,如果选中此选项会导致退款不可以用哦
解释文档如下https://help.na.bambora.com/hc/en-us/articles/360045711894-How-do-I-restrict-transaction-types-
获取你的api key
四、拉取代码
SDK文档 https://dev.na.bambora.com/docs/references/payment_SDKs/
选择对应的代码哦,小编采用的是php开发,以下只针对php哦!
具体操作如下,按照文档进行操作就可以了
https://github.com/bambora-na/beanstream-php/wiki
小编采用的 composer 按照哦!
五、具体代码开发如下
require_once(dirname(dirname(__FILE__)) . "/sdk/vendor/autoload.php"); //记得引入的扩展
//支付
public function pay($order_number,$amount=1,$card_data=[],$payment_method='card')
{
$beanstream = new \Beanstream\Gateway('你的merchant_id', '你的payments_api_key','api', 'v1');
//Example Card Payment Data
$payment_data = array(
'order_number' => '订单编号',//maxLength: 30 //订单编号 你的逻辑中的
'amount' => 1.00,//以美分值输入的金额,例如$ 55.00 = 5500 //A decimal value in dollars. Uses up to two decimal places. Max value is account specific. Default max value is 1000.
'payment_method' => 'card',// visa Mastercard 统一使用card 支付
'card' => array(//卡 信息哦!
'name' => 'Mr. Card Testerson',
'number' => '4030000010001234',
'expiry_month' => '07',
'expiry_year' => '22',
'cvd' => '123'
)
);
$complete = TRUE; //set to FALSE for PA
//Try to submit a Card Payment
try {
$result = $beanstream->payments()->makeCardPayment($payment_data, $complete);
//此处判断是否执行成功,可以处理你的代码逻辑了!
return $result ;
} catch (\Beanstream\Exception $e) {
$data['code'] = 0;
$data['msg'] = $e->getMessage();
return $data;
}
}
//退款
public function returnPayment($transaction_id='10000004', $amount='1',$order_number = NULL){
$beanstream = new \Beanstream\Gateway('你的merchant_id', '你的payments_api_key','api', 'v1');
try {
$result = $beanstream->payments()->returnPayment($transaction_id, $amount,$order_number);
//此处判断是否执行成功,可以处理你的代码逻辑了!
return $result ;
/*
* Handle successful transaction, payment method returns
* transaction details as result, so $result contains that data
* in the form of associative array.
*/
} catch (\Beanstream\Exception $e) {
/*
* Handle transaction error, $e->code can be checked for a
* specific error, e.g. 211 corresponds to transaction being
* DECLINED, 314 - to missing or invalid payment information
* etc.
*/
}
}
具体api文档,参照文档: https://dev.na.bambora.com/docs/references/payment_APIs/v1-0-5/
报错提示文档: https://dev.na.bambora.com/docs/references/payment_APIs/bank_response_codes/
六、测试卡号文档
https://dev.na.bambora.com/docs/references/payment_APIs/test_cards/
七、交易记录查看
八、前端参考文档
https://developer.bambora.com/europe/checkout/handling-payments/bambora-backoffice-previous#payments