Code666 (代码贴、代码片段)
创建
最近
趋势
关于
[Java] 易宝支付工具类 →→→→→
进入此内容的聊天室
来自 , 2020-12-01, 写在 Java, 查看 138 次.
URL
http://www.code666.cn/view/3f67fd97
下载便签
或
查看源码
—
扩张便签
来填满整个浏览器
package
utils
;
public
class
PaymentUtil
{
/**
* 生成hmac方法
*
* @param p0_Cmd
* 业务类型
* @param p1_MerId
* 商户编号
* @param p2_Order
* 商户订单ID号
* @param p3_Amt
* 支付金额
* @param p4_Cur
* 交易币种
* @param p5_Pid
* 商品名称
* @param p6_Pcat
* 商品种类
* @param p7_Pdesc
* 商品描述
* @param p8_Url
* 商户接受支付成功后的地址
* @param p9_SAF
* 送货地址
* @param pa_MP
* 商户扩展信息
* @param pd_FrpId
* 银行编码
* @param pr_NeedResponse
* 应答机制
* @param keyValue
* 商户密钥
* @return
*/
public
static
String
createHmac
(
String
p0_Cmd,
String
p1_MerId,
String
p2_Order,
String
p3_Amt,
String
p4_Cur,
String
p5_Pid,
String
p6_Pcat,
String
p7_Pdesc,
String
p8_Url,
String
p9_SAF,
String
pa_MP,
String
pd_FrpId,
String
pr_NeedResponse,
String
keyValue
)
{
StringBuffer
sValue
=
new
StringBuffer
(
)
;
sValue.
append
(
p0_Cmd
)
;
sValue.
append
(
p1_MerId
)
;
sValue.
append
(
p2_Order
)
;
sValue.
append
(
p3_Amt
)
;
sValue.
append
(
p4_Cur
)
;
sValue.
append
(
p5_Pid
)
;
sValue.
append
(
p6_Pcat
)
;
sValue.
append
(
p7_Pdesc
)
;
sValue.
append
(
p8_Url
)
;
sValue.
append
(
p9_SAF
)
;
sValue.
append
(
pa_MP
)
;
sValue.
append
(
pd_FrpId
)
;
sValue.
append
(
pr_NeedResponse
)
;
String
resultValue
=
DigestUtil.
hmacSign
(
sValue.
toString
(
)
, keyValue
)
;
return
resultValue
;
}
/**
* 返回校验hmac方法
*
* @param hmac
* 支付网关发来的加密验证码
* @param p1_MerId
* 商户编号
* @param r0_Cmd
* 业务类型
* @param r1_Code
* 支付结果
* @param r2_TrxId
* 易宝支付交易流水号
* @param r3_Amt
* 支付金额
* @param r4_Cur
* 交易币种
* @param r5_Pid
* 商品名称
* @param r6_Order
* 商户订单号
* @param r7_Uid
* 易宝支付会员ID
* @param r8_MP
* 商户扩展信息
* @param r9_BType
* 交易结果返回类型
* @param keyValue
* 密钥
* @return
*/
public
static
boolean
verifyCallback
(
String
hmac,
String
p1_MerId,
String
r0_Cmd,
String
r1_Code,
String
r2_TrxId,
String
r3_Amt,
String
r4_Cur,
String
r5_Pid,
String
r6_Order,
String
r7_Uid,
String
r8_MP,
String
r9_BType,
String
keyValue
)
{
StringBuffer
sValue
=
new
StringBuffer
(
)
;
// 商户编号
sValue.
append
(
p1_MerId
)
;
// 业务类型
sValue.
append
(
r0_Cmd
)
;
// 支付结果
sValue.
append
(
r1_Code
)
;
// 易宝支付交易流水号
sValue.
append
(
r2_TrxId
)
;
// 支付金额
sValue.
append
(
r3_Amt
)
;
// 交易币种
sValue.
append
(
r4_Cur
)
;
// 商品名称
sValue.
append
(
r5_Pid
)
;
// 商户订单号
sValue.
append
(
r6_Order
)
;
// 易宝支付会员ID
sValue.
append
(
r7_Uid
)
;
// 商户扩展信息
sValue.
append
(
r8_MP
)
;
// 交易结果返回类型
sValue.
append
(
r9_BType
)
;
String
sNewString
=
DigestUtil.
hmacSign
(
sValue.
toString
(
)
, keyValue
)
;
if
(
hmac.
equals
(
sNewString
)
)
{
return
true
;
}
return
false
;
}
}
回复 "易宝支付工具类"
这儿你可以回复上面这条便签
作者
你的名字是?
标题
给你的便签一个标题。
语言
你的便签是以
Plain Text
HTML5
CSS
JavaScript
PHP
Python
Ruby
Lua
Bash
Erlang
Go
C
C++
Diff-output
LaTeX
SQL
XML
-----------------
4CS
MOS 6502
MOS 6502 Kick Assembler
MOS 6502 TASM/64TASS
Motorola 68000 Devpac Assembler
ABAP
Actionscript
ActionScript3
Ada
AIMMS
ALGOL 68
Apache
AppleScript
Apt sources.list
ARM Assembler
x86 Assembler
asymptote
ASP
autoconf
Autohotkey
AutoIT
AviSynth
Awk
BASCOM AVR
Basic4GL
BBCode
Brainfuck
BibTeX
BlitzBasic
BNF (Backus-Naur form)
Boo
C (for LoadRunner)
C for Macs
C with WiAPI
CAD DCL (Dialog Control Language)
AutoCAD/IntelliCAD Lisp
CFDG
ColdFusion
ChaiScript
Chapel
CIL (Common Intermediate Language)
Clojure
CMake
COBOL
CoffeeScript
C++ with WinAPI
C#
Cuesheet
D
Dart
DCS
DCL
DCPU/16 Assembly
Delphi (Object Pascal)
DIV
DOS
dot
E
ECMAScript
Eiffel
Email (mbox/eml/RFC format)
Enerscript
Euphoria
EZT
Formula One
Falcon
fo
Fortran
FreeBasic
FreeSWITCH
F#
GAMBAS
GDB
Genero
Genie
GNU Gettext .po/.pot
glSlang
GML
Gnuplot script
Groovy
GwBasic
Haskell
Haxe
HicEst
HQ9+
HTML 4.01 strict
Icon
Unoidl
INI
Inno Script
INTERCAL
Io
ISPF Panel
J
Java
Java 5
Job Control Language
jQuery 1.3
KLone with C
KLone with C++
Kotlin
Liberty BASIC
LDIF
Generic Lisp
LLVM
Locomotive Basic (Amstrad CPC series)
Logcat
Logtalk
LOLcode
@Formula/@Command
LotusScript
Lightwave Script
Linden Scripting
Motorola 68000 Assembler
MagikSF
Make
MapBasic
Matlab M-file
mIRC Scripting
MMIX Assembler
Modula-2
Modula-3
Microchip Assembler
MXML
MySQL
Nagios
NetRexx
newLISP
nginx
Nimrod
Nullsoft Scriptable Install System
Oberon-2
Objective-C
Objeck Programming Language
OCaml (Objective Caml)
GNU Octave M-file
OpenOffice.org Basic
ooRexx
Oracle 11i
Oracle 8
Delphi Prism (Oxygene)
Oz
ParaSail
PARI/GP
Pascal
PCRE
Per (forms)
Perl
Perl 6
OpenBSD packet filter
PIC16 Assembler
Pike
Pixel Bender 1.0
PL/I
Oracle 9.2 PL/SQL
PostgreSQL
Postscript
Povray
PowerBuilder (PowerScript)
PowerShell
ProFTPd
Progress
Prolog
Property
ProvideX
PureBasic
Python for S60
q/kdb+
QBasic/QuickBASIC
QML
Racket
Ruby (with Ruby on Rails Framework)
RBS Script
Rebol
Microsoft Registry Editor
Rexx
robots.txt
RPM Spec
R
Rust
SAS
Scala
Scheme
SciLab
SCL
sdlBasic
Smalltalk
Smarty template
SPARK
SPARQL
StandardML
StoneScript
SystemVerilog IEEE 1800-2009(draft8)
TCL/iTCL
Tera Term Macro
thinBasic
T-SQL
TypoScript
Unicon
UnrealScript
UPC
Urbi
Vala
Visual Basic
VB.NET
VBScript
Vedit macro language
Verilog
VHDL
Vim scripting
Visual FoxPro
Visual Prolog
Whitespace
Whois response (RPSL format)
WinBatch
XBasic
xorg.conf
Axapta/Dynamics Ax X++
YAML
ZiLOG Z80 Assembler
ZXBasic
你的便签
在这儿输入便签内容
package utils; public class PaymentUtil { /** * 生成hmac方法 * * @param p0_Cmd * 业务类型 * @param p1_MerId * 商户编号 * @param p2_Order * 商户订单ID号 * @param p3_Amt * 支付金额 * @param p4_Cur * 交易币种 * @param p5_Pid * 商品名称 * @param p6_Pcat * 商品种类 * @param p7_Pdesc * 商品描述 * @param p8_Url * 商户接受支付成功后的地址 * @param p9_SAF * 送货地址 * @param pa_MP * 商户扩展信息 * @param pd_FrpId * 银行编码 * @param pr_NeedResponse * 应答机制 * @param keyValue * 商户密钥 * @return */ public static String createHmac(String p0_Cmd, String p1_MerId, String p2_Order, String p3_Amt, String p4_Cur, String p5_Pid, String p6_Pcat, String p7_Pdesc, String p8_Url, String p9_SAF, String pa_MP, String pd_FrpId, String pr_NeedResponse, String keyValue) { StringBuffer sValue = new StringBuffer(); sValue.append(p0_Cmd); sValue.append(p1_MerId); sValue.append(p2_Order); sValue.append(p3_Amt); sValue.append(p4_Cur); sValue.append(p5_Pid); sValue.append(p6_Pcat); sValue.append(p7_Pdesc); sValue.append(p8_Url); sValue.append(p9_SAF); sValue.append(pa_MP); sValue.append(pd_FrpId); sValue.append(pr_NeedResponse); String resultValue = DigestUtil.hmacSign(sValue.toString(), keyValue); return resultValue; } /** * 返回校验hmac方法 * * @param hmac * 支付网关发来的加密验证码 * @param p1_MerId * 商户编号 * @param r0_Cmd * 业务类型 * @param r1_Code * 支付结果 * @param r2_TrxId * 易宝支付交易流水号 * @param r3_Amt * 支付金额 * @param r4_Cur * 交易币种 * @param r5_Pid * 商品名称 * @param r6_Order * 商户订单号 * @param r7_Uid * 易宝支付会员ID * @param r8_MP * 商户扩展信息 * @param r9_BType * 交易结果返回类型 * @param keyValue * 密钥 * @return */ public static boolean verifyCallback(String hmac, String p1_MerId, String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt, String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid, String r8_MP, String r9_BType, String keyValue) { StringBuffer sValue = new StringBuffer(); // 商户编号 sValue.append(p1_MerId); // 业务类型 sValue.append(r0_Cmd); // 支付结果 sValue.append(r1_Code); // 易宝支付交易流水号 sValue.append(r2_TrxId); // 支付金额 sValue.append(r3_Amt); // 交易币种 sValue.append(r4_Cur); // 商品名称 sValue.append(r5_Pid); // 商户订单号 sValue.append(r6_Order); // 易宝支付会员ID sValue.append(r7_Uid); // 商户扩展信息 sValue.append(r8_MP); // 交易结果返回类型 sValue.append(r9_BType); String sNewString = DigestUtil.hmacSign(sValue.toString(), keyValue); if (hmac.equals(sNewString)) { return true; } return false; } }
创建短链接
创建一个较短的URL,连接到这个便签
私人
私人便签不会显示在最近列表中
保存期限
我们应该什么时候删除这张便签?
阅后即焚
五分钟
一小时
一天
一周
一月
一年
永久保留
防滥用
键入这些字符
创建