欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

微信支付之公众号支付

程序员文章站 2022-06-09 22:13:53
...
最近项目中用到了微信支付,于是找到了这篇资料,为了防止遗忘转载一下,先谢过作者。原文地址:http://www.360us.net/article/22.html最近把支付宝、银联和微信支付全都做了一遍,目前做的都还只涉及到消费的功能。
做下来感觉就是各个平台的支付流程都是大同小异,签名方式也是一样的。
这里主要总结一下微信支付公众号支付的一些东西。
微信公众号支付的主要流程如下:
1、生成我们自己系统的订单。
2、调用微信支付的统一下单接口把订单信息推给微信。
3、在第二部会返回一个预支付会话标识,然后凭这个标识用JS去调用支付操作。

关于支付页面的url问题,微信要求是最后必须要有“/”,我看到很多文章说不适合MVC结构的程序,我的情况是否定的,MVC结构一样可以。
比如url是这个:http://www.example.com/payment/wechatpay/ ,url里面payment是controller,wechatpay是action,这有问题吗?
一样可以访问,可以支付,是不是一个真正的目录,在微信看来就是,实际上其实不是。
好,下面进入正题。

微信支付配置如下:

$config = [

'mch_id' => '1234455666', //商户号

'signType' => 'MD5', //签名方式,目前只有MD5

'key' => 'sdsfdhgjh34343krn3453tnelt', //api密钥

];

1

2

3

4

5

Weixinpay代码清单如下:

namespace weixin\components; //这个是命名空间,可以根据需要修改

class WeixinPay

{

//支付配置

public $config;

//支付参数

public $params;

//统一下单url

const POST_ORDER_URL = 'https://api.mch.weixin.qq.com/pay/unifiedorder';

//订单查询url

const ORDER_QUERY_URL = 'https://api.mch.weixin.qq.com/pay/orderquery';

/**

* 创建微信js发起支付参数

* @return array

*/

public function createJsPayData()

{

$this->params['nonce_str'] = $this->getRandomStr();

$this->params['sign'] = $this->sign();

$xmlStr = $this->arrayToXml();

$res = $this->postUrl(self::POST_ORDER_URL, $xmlStr);

$res = $this->xmlToArray($res);

if( $res['return_code'] == 'SUCCESS' && $res['result_code'] == 'SUCCESS' 微信支付之公众号支付

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 微信支付之公众号支付
  • 专题推荐

    作者信息
    微信支付之公众号支付

    认证0级讲师

    推荐视频教程
  • 微信支付之公众号支付javascript初级视频教程
  • 微信支付之公众号支付jquery 基础视频教程
  • 视频教程分类

    ");}}}}topobj_second.html(topsecond);topobj_minutes.html(topminutes);topobj_hours.html(tophours);topobj_day.html(topday);},1000);}$('.topimages .layui-icon-close').click(function(){$.cookie('phpcndatatopadshows',1,{expires:7});$('.topimages').hide();});

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    113

    114

    115

    116

    117

    118

    119

    120

    121

    122

    123

    124

    125

    126

    127

    128

    129

    130

    131

    132

    133

    134

    135

    136

    137

    138

    139

    140

    141

    142

    143

    144

    145

    146

    147

    148

    149

    150

    151

    152

    153

    154

    155

    156

    157

    158

    159

    160

    161

    162

    163

    164

    165

    166

    167

    168

    169

    170

    171

    172

    173

    174

    175

    176

    177

    178

    179

    180

    181

    182

    183

    184

    185

    186

    187

    188

    189

    190

    191

    192

    193

    194

    195

    196

    197

    198

    199

    200

    201

    202

    203

    204

    205

    206

    207

    208

    209

    210

    211

    212

    213

    214

    215

    216

    217

    218

    219

    220

    221

    222

    223

    224

    225

    226

    227

    228

    229

    230

    231

    232

    233

    234

    235

    236

    237

    238

    239

    240

    241

    242

    243