用PHP SDK做支付宝APP支付(下单及验签)

本文档展示了如何使用PHP SDK进行支付宝APP支付的实现,包括设置商户ID、私钥、公钥等,并指出在处理支付宝返回的预支付信息时,不需要使用htmlspecialchars()。同时,给出了异步验签的回调方法和注意事项。
摘要由CSDN通过智能技术生成

官网demo中将支付宝返回的预支付信息用htmlspecialchars()处理。本人使用时用htmlspecialchars处理后安卓前端无法调起支付界面。故示例中不用htmlspecialchars()。


 

 
  1. class AlipayController extends CI_Controller
  2.  
    {
  3.  
    function pay()
  4.  
    {
  5.  
    require_once( '/www/my/app/third_party/alipay/aop/AopClient.php');
  6.  
    require_once( '/www/my/app/third_party/alipay/aop/request/AlipayTradeAppPayRequest.php');
  7.  
    $aop = new \AopClient();
  8.  
     
  9.  
    //**沙箱测试支付宝开始
  10.  
    $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
  11.  
    //实际上线app id需真实的
  12.  
    $aop->appId = "2016080300158242";
  13.  
    $aop->rsaPrivateKey = '填写工具生成的商户应用私钥';
  14.  
    $aop->format = "json";
  15.  
    $aop->charset = "UTF-8";
  16.  
    $aop->signType = "RSA";
  17.  
    $aop->alipayrsaPublicKey = '填写从支付宝开放后台查看的支付宝公钥';
  18.  
    $bizcontent = json_encode([
  19.  
    'body'=> '商品信息',
  20.  
    'subject'=> '衣服',
  21.  
    'out_trade_no'=> '123456', //此订单号为商户唯一订单号
  22.  
    'total_amount'=> '9.88', //保留两位小数
  23.  
    'product_code'=> 'QUICK_MSECURITY_PAY'
  24.  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是一个简单的支付宝支付下单服务端的Java代码示例: ```java import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.request.AlipayTradePagePayRequest; import com.alipay.api.response.AlipayTradePagePayResponse; public class AlipayService { // 支付宝网关地址 private static final String ALIPAY_GATEWAY = "https://openapi.alipay.com/gateway.do"; // 应用ID private static final String APP_ID = "your_app_id"; // 商户私钥 private static final String PRIVATE_KEY = "your_private_key"; // 支付宝公钥 private static final String ALIPAY_PUBLIC_KEY = "alipay_public_key"; // 编码格式 private static final String CHARSET = "UTF-8"; // 返回格式 private static final String FORMAT = "json"; // 名类型 private static final String SIGN_TYPE = "RSA2"; public String createOrder(String outTradeNo, String totalAmount, String subject, String body) throws AlipayApiException { AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_GATEWAY, APP_ID, PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE); AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); request.setReturnUrl("your_return_url"); request.setNotifyUrl("your_notify_url"); request.setBizContent("{" + "\"out_trade_no\":\"" + outTradeNo + "\"," + "\"total_amount\":\"" + totalAmount + "\"," + "\"subject\":\"" + subject + "\"," + "\"body\":\"" + body + "\"," + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"" + "}"); AlipayTradePagePayResponse response = alipayClient.pageExecute(request); return response.getBody(); } } ``` 这段代码使用了支付宝提供的Java SDK,首先需要在支付宝开放平台注册应用并获取到应用ID、商户私钥和支付宝公钥。然后,通过`AlipayClient`创建一个支付宝客户端实例,设置相关参数,最后调用`pageExecute`方法发起支付请求,并返回支付页面的HTML代码。 请注意,上述代码中的`your_app_id`、`your_private_key`、`alipay_public_key`、`your_return_url`和`your_notify_url`需要替换为你自己的实际值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值