支付宝商家收银当面付 扫一扫 二维码 条形码付款使用教程

图片[1] | 支付宝商家收银当面付 扫一扫 二维码 条形码付款使用教程 | 讯沃blog

什么是当面付?

商户可通过以下任一方式在线下完成交易收款:
1.商家扫描买家支付宝钱包中的条码、二维码等方式将买家的交易资金直接打入卖家支付宝账户,资金实时到账;
2.线下买家通过使用支付宝钱包扫描商家的二维码等方式完成支付,提升商家收银效率,资金实时到账;
3.线下买家使用支付宝钱包中的当面付功能,通过声波支付的方式向商家完成付款,资金实时到账。

申请条件

1. 企业或个体工商户可申请;
2. 需提供真实有效的营业执照,无营业执照可申请当面付基础版;如与签约主体不一致者需提供授权函;授权函要求:公司类型必须盖公章、个体工商户需两选一;
a.法人身份证原件+法人签字;
b.法人身份证原件+个体工商户盖章;
3. 提供门头/内景照片。
申请后资料没问题一般一个工作日内就能通过审核。

支付宝公钥、私钥、RSA密钥的生成上传

下载后打开RSA密钥工具,点击生成,新建应用请务必使用2048位。
20200327133508.jpg
支付宝RSA密钥生成工具
点击“打开密钥文件路径”,即可找到生成的公私钥。
生成的私钥需妥善保管,避免遗失,不要泄露。
应用公钥(public key)需上传到支付宝开放平台。
应用私钥(private key)自行保存,需填写到代码中供签名时使用。
密钥可用于支付宝的电脑网站(pc)、手机网站(wap)、app支付等支付

https://openhome.alipay.com/platform/keyManage.htm
20200327125334.jpg
点击 “查看支付宝公钥”,将支付宝的公钥复制保存下来。
20200327125807.jpg
至此,支付宝密钥就生成完成了,这里有三个密钥:应用私钥(private key)、应用公钥(public key)、支付宝公钥。一定不能混淆了
我们开发配置的时候需要用到应用私钥支付宝公钥

示例代码:

require_once '../aop/AopClient.php';
require_once '../aop/AopCertClient.php';
require_once '../aop/AopCertification.php';
require_once '../aop/AlipayConfig.php';
require_once '../aop/request/AlipayTradePrecreateRequest.php';

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串';
$aop->alipayrsaPublicKey='请填写支付宝公钥,一行字符串';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='GBK';
$aop->format='json';
$object = new stdClass();
$object->out_trade_no = '20240823010101001b';
$object->total_amount = 0.01;
$object->subject = '测试商品';
////商品信息明细,按需传入
// $goodsDetail = [
//     [
//         'goods_id'=>'goodsNo1',
//         'goods_name'=>'子商品1',
//         'quantity'=>1,
//         'price'=>0.01,
//     ],
// ];
// $object->goodsDetail = $goodsDetail;
// //扩展信息,按需传入
// $extendParams = [
//     'sys_service_provider_id'=>'2088511833207846',
// ];
//  $object->extend_params = $extendParams;
// //结算信息,按需传入
// $settleInfo = [
//     'settle_detail_infos'=>[
//         [
//             'trans_in_type'=>'defaultSettle',
//             'amount'=>0.01,
//         ]
//     ]
// ];
// $object->settle_info = $settleInfo;
// //二级商户信息,按需传入
// $subMerchant = [
//     'merchant_id'=>'2088600522519475',
// ];
// $object->sub_merchant = $subMerchant;
// // 业务参数信息,按需传入
// $businessParams = [
//     'busi_params_key'=>'busiParamsValue',
// ];
// $object->business_params= $businessParams;
// // 营销信息,按需传入
// $promoParams = [
//     'promo_params_key'=>'promoParamsValue'
// ];
// $object->promoParams = $promoParams;
$json = json_encode($object);
$request = new AlipayTradePrecreateRequest();
$request->setNotifyUrl('');
$request->setBizContent($json);
$result = $aop->execute ( $request); 

$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;
if(!empty($resultCode)&&$resultCode == 10000){
echo "成功";
} else {
echo "失败";
}

如果是证书需要把new AopClient修改成new AopCertClient

//<-- 请填写您的应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt -->
$aop->setAppCertPath("/appCertPublicKey.crt");
//<-- 请填写您的支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt -->
$aop->setAlipayPublicCertPath("/alipayCertPublicKey_RSA2.crt");
//<-- 请填写您的支付宝根证书文件路径,例如:/foo/alipayRootCert.crt -->
$aop->setRootCertPath("/alipayRootCert.crt");

也可使用SDK&Demo

当面付的使用(以php为例)

下载demo后需要修改下key,F2FPay_Demo_php\dangmianfu_demo_php\f2fpay\config文件夹
把私钥内容添加到config.php中的对应位置

//商户私钥
'merchant_private_key' => "",

支付宝的支付宝公钥填写到下面

//支付宝公钥
'alipay_public_key' => "",

如果使用二维码扫码支付,需要修改一个异步通知地址。如下

//异步通知地址,只有扫码支付预下单可用
'notify_url' => "https://www.77nn.net/dangmianfu/f2fpay/notify_url.php",

notify_url.php文件是自己的回调页面,可以自己修改名称,文件中签名和订单状态验证成功返回success,验证失败返回fail,页面中只能是success7个字符,如果不是,支付宝会在24小时内按规则不断发送回调通知,直到收到success7个字符为止。
当面付F2FPay_Demo_php中没有提供notify异步通知模板页面。我们可以参考电脑网站支付的demo进行修改(alipay.trade.page.pay)

请求、异步通知调试

20201001193859.png


二维码不显示的问题

打开源码就能发现问题,解决很简单
F2FPay_Demo_php\dangmianfu_demo_php\f2fpay\serviceAlipayTradeService.php
$image为二维码生成变量。自己修改接口


$image = '';

替换成以下内容

$image = '';

也可以根据自己的需要修二维码的大小尺寸颜色。
或者使用腾讯QQ接口生成二维码

$image = '';

© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容