PHP服务端生成支付宝infostr


/**
 * InfoStr APP登录需要的的infostr
 * 
 * @return String
 */
public function infoStr()
{
    $infoStr = http_build_query([
        'apiname' => 'com.alipay.account.auth',
        'method' => 'alipay.open.auth.sdk.code.get',
        'app_id' => $this->app_id,
        'app_name' => 'mc',
        'biz_type' => 'openservice',
        'pid' => $this->pid,
        'product_id' => 'APP_FAST_LOGIN',
        'scope' => 'kuaijie',
        'target_id' => mt_rand(999, 99999), //商户标识该次用户授权请求的ID,该值在商户端应保持唯一
        'auth_type' => 'AUTHACCOUNT', // AUTHACCOUNT代表授权;LOGIN代表登录
        'sign_type' => 'RSA2',
    ]);
    $infoStr .= '&sign='.$this->enRSA2($infoStr);
    return $infoStr;
}
 
/**
 * enRSA2 RSA加密
 * 
 * @param String $data
 * @return String
 */
private function enRSA2($data)
{
	//$this->private_key//应用私钥
    $str = chunk_split(trim($this->private_key), 64, "\n");
    $key = "-----BEGIN RSA PRIVATE KEY-----\n$str-----END RSA PRIVATE KEY-----\n";
    // $key = file_get_contents(storage_path('rsa_private_key.pem')); 为文件时这样引入
    $signature = '';
    $signature = openssl_sign($data, $signature, $key, OPENSSL_ALGO_SHA256)?base64_encode($signature):NULL;
    return $signature;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用支付宝支付服务,您需要先注册支付宝开发者账号并创建应用。然后,您可以使用支付宝提供的开发工具包进行开发。以下是一个简单的 PHP 代码示例,可用于生成支付宝付款二维码: ```php <?php require_once("alipay-sdk-PHP-20180104100456/AopSdk.php"); //引入支付宝SDK $aop = new AopClient(); $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';//支付宝网关 $aop->appId = '您的应用ID';//您的应用ID $aop->rsaPrivateKey = '您的应用私钥';//您的应用私钥 $aop->alipayPublicKey = '支付宝公钥';//支付宝公钥 $aop->apiVersion = '1.0'; $aop->signType = 'RSA2';//签名算法 //构造参数 $request = new AlipayTradePrecreateRequest(); $request->setBizContent("{" . " \"out_trade_no\":\"20150320010101001\"," . " \"total_amount\":\"88.88\"," . " \"subject\":\"Iphone6 16G\"," . " \"store_id\":\"NJ_001\"," . " \"timeout_express\":\"90m\"" . " }"); //请求预授权码 $result = $aop->execute($request); $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response"; $qrCodeUrl = $result->$responseNode->qr_code; //生成二维码 echo '<img src="http://qr.liantu.com/api.php?text='.urlencode($qrCodeUrl).'">'; ?> ``` 在以上示例中,您需要将“您的应用ID”、“您的应用私钥”和“支付宝公钥”替换为您自己的信息。此外,您还需要将“out_trade_no”、“total_amount”和“subject”替换为您的商品信息。最后,使用$qrcodeUrl生成二维码即可。 当用户扫描二维码并完成付款后,支付宝将发送回调通知到您的服务器。您可以使用相应的 SDK 处理这些通知,以便更新您的系统并将订单标记为已付款。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值