• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php实现单笔转账到支付宝功能

    本文实例为大家分享了php实现单笔转账到支付宝的具体代码,供大家参考,具体内容如下

    1.首先 去蚂蚁金服签约 单笔转账到支付宝

    官方api文档 

    2.需要的配置信息

    1).应用appid

    2).生成密钥

    文档地址

    根据文档步骤生成

    上传这里的 应用公钥

    3.下载官方sdk 然后集成到自己项目

    服务端SDK

    官方实例

    //实例化客户端
    AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
    //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.open.public.template.message.industry.modify 
    AlipayOpenPublicTemplateMessageIndustryModifyRequest request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest();
    //SDK已经封装掉了公共参数,这里只需要传入业务参数
    //此次只是参数展示,未进行字符串转义,实际情况下请转义
    request.setBizContent(" {" +
    " \"primary_industry_name\":\"IT科技/IT软件与服务\"," +
    " \"primary_industry_code\":\"10001/20102\"," +
    " \"secondary_industry_code\":\"10001/20102\"," +
    " \"secondary_industry_name\":\"IT科技/IT软件与服务\"" +
    " }");
    AlipayOpenPublicTemplateMessageIndustryModifyResponse response = alipayClient.execute(request); 
    //调用成功,则处理业务逻辑
    if(response.isSuccess()){
     //.....
    }

    效果如下

    我的代码

    ?php
    /**
     * create by 适可而止
     * create time 2018/4/8
     */
    namespace Org\Util;
    class AlipayTransfer{
     private $appId = 'appid';
     private $rsaPrivateKey = '私钥';
     private $alipayrsaPublicKey = "支付宝公钥";
     private $payer_name = "xx科技";
     private $aop;
     public function __construct()
     {
      $g_alipay = C('ALIPAY_CONFIG');
      $this->appId = $g_alipay['APPID'];//appid
      $this->rsaPrivateKey = $g_alipay['rsaPrivateKey']; //私钥
      $this->alipayrsaPublicKey=$g_alipay['rsaPublicKey'];//支付宝公钥
      //引入单笔转账sdk
      Vendor('Alipayaop.AopSdk');
     }
     
     public function init_aop_config()
     {
      $this->aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
      $this->aop->appId = $this->appId;
      $this->aop->rsaPrivateKey = $this->rsaPrivateKey;
      $this->aop->alipayrsaPublicKey=$this->alipayrsaPublicKey;
      $this->aop->apiVersion = '1.0';
      $this->aop->signType = 'RSA2';
      $this->aop->postCharset='UTF-8';
      $this->aop->format='json';
     }
     
     /**
      * 单笔转账接口
      * @param $order_number 订单号
      * @param $pay_no  转账账号
      * @param $pay_name  转账用户名
      * @param $amount  转账金额
      * @param $memo   备注
      */
     public function transfer($order_number,$pay_no,$pay_name,$amount,$memo)
     {
      //存入转账日志
      $this->transferLog($order_number,$pay_no,$pay_name,$amount);
      $this->aop = new \AopClient ();
      //配置参数
      $this->init_aop_config();
      //导入请求
      $request = new \AlipayFundTransToaccountTransferRequest ();
      $request->setBizContent("{" .
       "\"out_biz_no\":\"".$order_number."\"," .//商户生成订单号
       "\"payee_type\":\"ALIPAY_LOGONID\"," .//收款方支付宝账号类型
       "\"payee_account\":\"".$pay_no."\"," .//收款方账号
       "\"amount\":\"".$amount."\"," .//总金额
       "\"payer_show_name\":\"".$this->payer_name."\"," .//付款方账户
       "\"payee_real_name\":\"".$pay_name."\"," .//收款方姓名
       "\"remark\":\"".$memo."\"" .//转账备注
       "}");
      $result = $this->aop->execute ( $request);
      $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
      $resultCode = $result->$responseNode->code;
      $resultSubMsg = $result->$responseNode->sub_msg;
      //修改转账日志
      $this->edit_transferLog($order_number,$resultCode,$resultSubMsg);
      if(!empty($resultCode)$resultCode == 10000){
       return true;
      } else {
       return false;
      }
     }
     
     /**
      * 存取日志
      */
     private function transferLog($order_number,$pay_no,$pay_name,$amount)
     {
      $data['order_number'] = $order_number;
      $data['pay_no'] = $pay_no;
      $data['pay_name'] = $pay_name;
      $data['amount'] = $amount;
      $data['create_time'] = time();
      M('AlipayTransferLog')->add($data);
     }
     
     /**
      * 修改日志
      */
     private function edit_transferLog($order_number,$result_code,$sub_msg)
     {
      $model = D("AlipayTransferLog");
      $where['order_number'] = $order_number;
      $result = $model->where($where)->order('create_time desc')->find();
      if ($result_code == 10000)
      {
       $result['status'] = 1;
       $sub_msg = 'success';
      }
      else
      {
       $result['status'] = 2;
      }
      $result['memo'] = $sub_msg;
      $result['update_time'] = time();
      M('AlipayTransferLog')->save($result);
     }
     
     /**
      * 查单接口
      */
     public function query($order_number)
     {
      $this->aop = new \AopClient ();
      //配置参数
      $this->init_aop_config();
      $request = new \AlipayFundTransOrderQueryRequest ();
      $request->setBizContent("{" .
       "\"out_biz_no\":\"".$order_number."\"" .
       " }");
      $result = $this->aop->execute ( $request);
      $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
      $resultCode = $result->$responseNode->code;
      if(!empty($resultCode)$resultCode == 10000){
       $res_arr['code'] = '00';
       $res_arr['data'] = $result;
      } else {
       $res_arr['code'] = '-1';
      }
      return $res_arr;
     }
    }
    ?>
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • PHP与以太坊交互详解
    • php实现微信企业转账功能
    • 微信企业转账之入口类分装php代码
    • php实现微信公众号企业转账功能
    • php7中停止php-fpm服务的方法详解
    • PHP 对接美团大众点评团购券(门票)的开发步骤
    • PHP小程序后台部署运行 LNMP+WNMP的方法
    • 为PHP模块添加SQL SERVER2012数据库的步骤详解
    • php微信小程序解包过程实例详解
    • 利用ajax+php实现商品价格计算
    • PHP实现创建以太坊钱包转账等功能
    上一篇:php实现小程序支付完整版
    下一篇:php-fpm.conf配置文件中文说明详解及重要参数说明
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    php实现单笔转账到支付宝功能 php,实现,单笔,转账,到,支付,