getOptions()); $data = [ 'out_biz_no' => $order_number, 'trans_amount' => round($money, 2), 'product_code' => 'TRANS_ACCOUNT_NO_PWD', //业务产品码,单笔无密转账到支付宝账户固定为:TRANS_ACCOUNT_NO_PWD;收发现金红包固定为:STD_RED_PACKET; 'biz_scene' => 'DIRECT_TRANSFER', //描述特定的业务场景,DIRECT_TRANSFER--单笔无密转账到支付宝,B2C现金红包 PERSONAL_COLLECTION--C2C现金红包-领红包 'order_title' => $desc, 'payee_info' => [ //收款方信息 'identity_type' => 'ALIPAY_LOGON_ID', //参与方的标识类型,目前支持如下类型 ALIPAY_USER_ID--支付宝的会员ID ALIPAY_LOGON_ID--支付宝登录号,支持邮箱和手机号格式 'identity' => $ali_pay_account, 'name' => $ali_pay_name ] ]; $result = Factory::util()->generic()->execute('alipay.fund.trans.uni.transfer', [], $data); $result = $result->toMap(); $result['http_body'] = json_decode($result['http_body'], true); // 记录日志 $uid = defined('UID') ? UID : ''; platformLog($data, $result['http_body']['alipay_fund_trans_uni_transfer_response'], 'alipaysdk_pay_transfer_uid_' . $uid); return $result['http_body']['alipay_fund_trans_uni_transfer_response']; } /** * 单笔转账接口,通过支付宝userID(接口名称:alipay.fund.trans.uni.transfer) * @param string $order_number 商家侧唯一订单号,由商家自定义。对于不同转账请求,商家需保证该订单号在自身系统唯一。 * @param string $alipay_openid 参与方的唯一标识 * @param float $money 订单总金额,单位为元,精确到小数点后两位,STD_RED_PACKET产品取值范围[0.01,100000000];TRANS_ACCOUNT_NO_PWD产品取值范围[0.1,100000000] * @param string $desc 转账业务的标题,用于在支付宝用户的账单里显示 * @date 2021-10-25 */ public function transferByOpenid($order_number, $alipay_openid, $money, $desc = '支付宝转账') { Factory::setOptions($this->getOptions()); $data = [ 'out_biz_no' => $order_number, 'trans_amount' => round($money, 2), 'product_code' => 'TRANS_ACCOUNT_NO_PWD', //业务产品码,单笔无密转账到支付宝账户固定为:TRANS_ACCOUNT_NO_PWD;收发现金红包固定为:STD_RED_PACKET; 'biz_scene' => 'DIRECT_TRANSFER', //描述特定的业务场景,DIRECT_TRANSFER--单笔无密转账到支付宝,B2C现金红包 PERSONAL_COLLECTION--C2C现金红包-领红包 'order_title' => $desc, 'payee_info' => [ //收款方信息 'identity_type' => 'ALIPAY_USER_ID', //参与方的标识类型,目前支持如下类型 ALIPAY_USER_ID--支付宝的会员ID ALIPAY_LOGON_ID--支付宝登录号,支持邮箱和手机号格式 'identity' => $alipay_openid ] ]; $result = Factory::util()->generic()->execute('alipay.fund.trans.uni.transfer', [], $data); $result = $result->toMap(); $result['http_body'] = json_decode($result['http_body'], true); // 记录日志 $uid = defined('UID') ? UID : ''; platformLog($data, $result['http_body']['alipay_fund_trans_uni_transfer_response'], 'alipaysdk_pay_transfer_by_openid_uid_' . $uid); return $result['http_body']['alipay_fund_trans_uni_transfer_response']; } }