Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
TopUpCambodian-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
TopUpCambodian-java
Commits
d3588770
Commit
d3588770
authored
Apr 16, 2021
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复paygo通道
parent
346342bd
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
52 additions
and
661 deletions
+52
-661
src/com/library/service/Impl/AutomaticCodeServiceImpl.java
+25
-29
src/com/library/test/PaygoTest2.java
+0
-616
src/com/library/test/PaygoUtils.java
+17
-7
src/com/library/util/Paygo24Utils.java
+1
-1
src/exchangerate.properties
+2
-7
src/jdbc.properties
+7
-1
No files found.
src/com/library/service/Impl/AutomaticCodeServiceImpl.java
View file @
d3588770
package
com
.
library
.
service
.
Impl
;
import
com.library.TopUp.Statel.SeatelSentUtils
;
import
com.library.TopUp.cellcard.CellcardSentUtils
;
import
com.library.TopUp.mefont.MetfoneSentUtils
;
import
com.library.TopUp.model.ResultsModel
;
import
com.library.TopUp.smart.SmartSentUtils
;
import
com.library.config.NameValue
;
import
com.library.mapper.AutomaticQueueMapper
;
import
com.library.mapper.CurrencyMapper
;
import
com.library.model.AutomaticQueueModel
;
import
com.library.model.OrderLogModel
;
import
com.library.model.OrderModel
;
import
com.library.model.SegmentModel
;
import
com.library.service.AutomaticCodeService
;
import
com.library.util.Paygo24Utils
;
import
com.library.util.TransformationTools
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.sql.Timestamp
;
import
java.text.SimpleDateFormat
;
...
...
@@ -22,10 +22,6 @@ import java.util.Date;
import
java.util.List
;
import
java.util.Map
;
import
java.util.regex.Pattern
;
import
javax.annotation.Resource
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
@Service
@Transactional
...
...
@@ -117,25 +113,25 @@ public class AutomaticCodeServiceImpl implements AutomaticCodeService {
Map
<
String
,
Object
>
map
=
this
.
automaticQueueMapper
.
selectSegment
(
phoneThree
);
//1.先判断这是哪个公司的充值订单,然后发起充值
SegmentModel
segmentModel
=
(
SegmentModel
)
TransformationTools
.
ToObjectOne
(
SegmentModel
.
class
,
map
);
if
(
segmentModel
.
getOperator
().
equals
(
"Cellcard"
))
{
//Cellcard的手机号,则选择Cellcard公司的api发起充值
resultsModel
=
CellcardSentUtils
.
sentTopUp
(
automaticQueueModel
.
getOrder_phone
(),
top_up_datetime
,
automaticQueueModel
.
getOrder_money
().
intValue
());
resultsModel
.
setTopUpNum
(
top_up_datetime
);
}
else
if
(
segmentModel
.
getOperator
().
equals
(
"Metfone"
))
{
resultsModel
=
MetfoneSentUtils
.
sentTopUp
(
automaticQueueModel
.
getOrder_phone
(),
automaticQueueModel
.
getOrder_money
().
intValue
(),
top_up_datetime
);
resultsModel
.
setTopUpNum
(
top_up_datetime
);
}
else
if
(
segmentModel
.
getOperator
().
equals
(
"Smart"
))
{
resultsModel
=
SmartSentUtils
.
sentTopUp
(
automaticQueueModel
.
getOrder_phone
(),
automaticQueueModel
.
getOrder_money
().
intValue
(),
top_up_datetime
);
resultsModel
.
setTopUpNum
(
top_up_datetime
);
}
else
if
(
segmentModel
.
getOperator
().
equals
(
"Seatel"
))
{
resultsModel
=
SeatelSentUtils
.
sentTopUp
(
automaticQueueModel
.
getOrder_phone
(),
automaticQueueModel
.
getOrder_money
().
intValue
());
//这个不用返回订单num,里面已经做了处理
}
else
{
//
//
SegmentModel segmentModel = (SegmentModel)TransformationTools.ToObjectOne(SegmentModel.class, map);
//
if (segmentModel.getOperator().equals("Cellcard")) {
//
//Cellcard的手机号,则选择Cellcard公司的api发起充值
//
//
resultsModel = CellcardSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), top_up_datetime, automaticQueueModel.getOrder_money().intValue());
//
resultsModel.setTopUpNum(top_up_datetime);
//
} else if (segmentModel.getOperator().equals("Metfone")) {
//
resultsModel = MetfoneSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue(), top_up_datetime);
//
resultsModel.setTopUpNum(top_up_datetime);
//
} else if (segmentModel.getOperator().equals("Smart")) {
//
resultsModel = SmartSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue(), top_up_datetime);
//
resultsModel.setTopUpNum(top_up_datetime);
//
} else if (segmentModel.getOperator().equals("Seatel")) {
//
resultsModel = SeatelSentUtils.sentTopUp(automaticQueueModel.getOrder_phone(), automaticQueueModel.getOrder_money().intValue());
//
//
//这个不用返回订单num,里面已经做了处理
//
//
} else {
Paygo24Utils
paygo
=
new
Paygo24Utils
();
String
result
=
paygo
.
payment
(
automaticQueueModel
.
getOrder_phone
(),
automaticQueueModel
.
getSegment_id
(),
automaticQueueModel
.
getOrder_money
());
resultsModel
=
new
ResultsModel
();
...
...
@@ -147,7 +143,7 @@ public class AutomaticCodeServiceImpl implements AutomaticCodeService {
}
resultsModel
.
setTopUpNum
(
top_up_datetime
);
}
//
}
return
resultsModel
;
}
catch
(
Exception
var10
)
{
...
...
src/com/library/test/PaygoTest2.java
deleted
100644 → 0
View file @
346342bd
package
com
.
library
.
test
;
import
java.io.BufferedInputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.BufferedReader
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.security.MessageDigest
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Base64
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
import
javax.net.ssl.HttpsURLConnection
;
import
org.w3c.dom.Document
;
import
org.w3c.dom.Element
;
import
org.w3c.dom.NamedNodeMap
;
import
org.w3c.dom.Node
;
import
org.w3c.dom.NodeList
;
public
class
PaygoTest2
{
public
static
void
main
(
String
[]
args
)
{
Date
now
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
SimpleDateFormat
ticket_format
=
new
SimpleDateFormat
(
"HHmmss"
);
SimpleDateFormat
format3339
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
);
PaygoTest2
test
=
new
PaygoTest2
();
Payment
payment
=
new
Payment
();
payment
.
setId
(
UUID
.
randomUUID
().
toString
());
payment
.
setAccount
(
"017910301"
);
payment
.
setServiceId
(
"3"
);
//Cellcard
payment
.
setCommission
(
"0.00"
);
payment
.
setValue
(
"1.00"
);
payment
.
setTicket
(
ticket_format
.
format
(
now
));
payment
.
setNumber
(
formatter
.
format
(
now
));
payment
.
setTime
(
format3339
.
format
(
now
));
payment
.
setEncashmentNumber
(
"0"
);
payment
.
setCurrency
(
"USD"
);
payment
.
setPaymentTool
(
"1"
);
List
params
=
new
ArrayList
<>();
params
.
add
(
new
Payment
.
PaymentParam
(
"account"
,
"017910301"
));
//account parameter
payment
.
setParams
(
params
);
try
{
//Checking payment parameters
test
.
registerCheckRequest
(
payment
);
//2 sec delay before getting result
Thread
.
sleep
(
2000
);
//Getting check result
test
.
getCheckResultRequest
(
payment
);
//In your system you have to repeat request results while
//State is not 0, 1 or 2
//If State==1 reject payment proceeding
//Sending payment
test
.
sendPaymentRequest
(
payment
);
//In this method if you get ErrorResponse check Error Code
//if Code==7 (Payment is already exists) call checkStatusRequest()
//5 sec delay before checking payment status
Thread
.
sleep
(
5000
);
//Checking payment status
test
.
checkStatusRequest
(
payment
);
//In your system you have to repeat request check status while
//State is not final - 1, 2 (rejected) or 5 (completed)
//If you got status 3 or 4 and do not receive final state for 40 seconds complete the payment on your side
}
catch
(
Exception
ex
)
{
Logger
.
getLogger
(
PaygoTest2
.
class
.
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
}
}
private
static
final
String
mAddress
=
"https://api2.paygo24.com/paygoservice.asmx"
;
private
static
final
String
mUsername
=
"46"
;
private
static
final
String
mPassword
=
encodePass
(
"123456"
);
private
static
final
String
encodePass
(
String
pass
)
{
try
{
byte
messageDigest
[]
=
null
;
MessageDigest
digest
=
java
.
security
.
MessageDigest
.
getInstance
(
"MD5"
);
digest
.
update
(
pass
.
getBytes
());
messageDigest
=
digest
.
digest
();
pass
=
Base64
.
getEncoder
().
encodeToString
(
messageDigest
);
return
pass
;
}
catch
(
Exception
ex
)
{
return
""
;
}
}
public
InputStream
sendRequest
(
String
requestXML
)
throws
Exception
{
try
{
System
.
out
.
println
(
requestXML
);
URL
urll
=
new
URL
(
mAddress
);
HttpsURLConnection
conn
=
(
HttpsURLConnection
)
urll
.
openConnection
();
// set required headers
conn
.
setRequestProperty
(
"Content-Type"
,
"text/xml;charset=UTF-8"
);
conn
.
setRequestMethod
(
"POST"
);
conn
.
setDoOutput
(
true
);
byte
[]
body
=
requestXML
.
getBytes
(
"UTF-8"
);
conn
.
setFixedLengthStreamingMode
(
body
.
length
);
BufferedOutputStream
out
=
new
BufferedOutputStream
(
conn
.
getOutputStream
());
out
.
write
(
body
);
out
.
close
();
conn
.
connect
();
int
statusCode
=
conn
.
getResponseCode
();
if
(
statusCode
==
HttpURLConnection
.
HTTP_OK
)
{
InputStream
content
=
new
BufferedInputStream
(
conn
.
getInputStream
());
return
content
;
}
else
{
throw
new
Exception
(
"HTTP Status: "
+
statusCode
);
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
throw
e
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
}
}
private
void
getCheckResultRequest
(
Payment
payment
)
throws
Exception
{
String
requestXML
=
"\n"
+
"\n"
+
" \n"
+
" "
+
""
+
"\n"
+
""
+
"$POINT_ID\n"
+
" $PASSWORD"
+
""
+
""
+
"\n"
+
""
;
// set the payment id
requestXML
=
requestXML
.
replace
(
"$PAYMENT_ID"
,
payment
.
getId
()).
replace
(
"$POINT_ID"
,
mUsername
).
replace
(
"$PASSWORD"
,
mPassword
);
// send the request to the server
InputStream
responseXML
=
sendRequest
(
requestXML
);
String
responseStr
=
convertStreamToString
(
responseXML
);
System
.
out
.
println
(
responseStr
);
}
private
void
registerCheckRequest
(
Payment
payment
)
throws
Exception
{
String
requestXML
=
"\n"
+
"\n"
+
" \n"
+
" "
+
""
+
"\n"
+
"\n"
+
"$PAYMENT_PARAMS"
+
"\n"
+
""
+
""
+
"$POINT_ID\n"
+
" $PASSWORD"
+
""
+
""
+
"\n"
+
""
;
// set the payment id
requestXML
=
requestXML
.
replace
(
"$PAYMENT_ID"
,
payment
.
getId
())
.
replace
(
"$SERVICE_ID"
,
payment
.
getServiceId
())
.
replace
(
"$POINT_ID"
,
mUsername
)
.
replace
(
"$PASSWORD"
,
mPassword
);
// serialize the payment parameters
String
paramsStr
=
""
;
List
params
=
payment
.
getParams
();
for
(
int
i
=
0
,
c
=
params
.
size
();
i
<
c
;
++
i
)
{
Object
param
=
params
.
get
(
i
);
paramsStr
+=
"\n"
;
}
requestXML
=
requestXML
.
replace
(
"$PAYMENT_PARAMS"
,
paramsStr
);
// send the request to the server
InputStream
responseXML
=
sendRequest
(
requestXML
);
String
responseStr
=
convertStreamToString
(
responseXML
);
System
.
out
.
println
(
responseStr
);
}
private
void
sendPaymentRequest
(
Payment
payment
)
throws
Exception
{
String
requestXML
=
"\n"
+
"\n"
+
" \n"
+
" "
+
""
+
"\n"
+
"\n"
+
"$PAYMENT_PARAMS"
+
"\n"
+
""
+
"$POINT_ID\n"
+
" $PASSWORD"
+
""
+
""
+
"\n"
+
""
;
// set the payment id
requestXML
=
requestXML
.
replace
(
"$PAYMENT_ID"
,
payment
.
getId
())
.
replace
(
"$SERVICE_ID"
,
payment
.
getServiceId
())
.
replace
(
"$PAYMENT_TICKET"
,
payment
.
getTicket
())
.
replace
(
"$PAYMENT_NUMBER"
,
payment
.
getNumber
())
.
replace
(
"$PAYMENT_TIME"
,
payment
.
getTime
())
.
replace
(
"$ENCASHMENT_NUMBER"
,
payment
.
getEncashmentNumber
())
.
replace
(
"$PAYMENT_VALUE"
,
payment
.
getValue
())
.
replace
(
"$PAYMENT_COMMISSION"
,
payment
.
getCommission
())
.
replace
(
"$PAYMENT_CURRENCY"
,
payment
.
getCurrency
())
.
replace
(
"$PAYMENT_TOOL"
,
payment
.
getPaymentTool
())
.
replace
(
"$POINT_ID"
,
mUsername
)
.
replace
(
"$PASSWORD"
,
mPassword
);
// serialize the payment parameters
String
paramsStr
=
""
;
List
params
=
payment
.
getParams
();
for
(
int
i
=
0
,
c
=
params
.
size
();
i
<
c
;
++
i
)
{
Object
param
=
params
.
get
(
i
);
paramsStr
+=
"\n"
;
}
requestXML
=
requestXML
.
replace
(
"$PAYMENT_PARAMS"
,
paramsStr
);
// send the request to the server
InputStream
responseXML
=
sendRequest
(
requestXML
);
String
responseStr
=
convertStreamToString
(
responseXML
);
System
.
out
.
println
(
responseStr
);
}
/*
* Checks the server response for errors and throws an exception
*/
private
void
checkError
(
Document
dom
)
throws
PaypointException
{
Element
root
=
dom
.
getDocumentElement
();
NodeList
errorItems
=
root
.
getElementsByTagName
(
"Error"
);
if
(
errorItems
.
getLength
()
!=
0
)
{
Node
item
=
errorItems
.
item
(
0
);
NamedNodeMap
attrs
=
item
.
getAttributes
();
String
errorText
=
attrs
.
getNamedItem
(
"Description"
)
.
getTextContent
();
throw
new
PaypointException
(
errorText
,
attrs
.
getNamedItem
(
"Number"
)
.
getTextContent
());
}
}
private
void
checkStatusRequest
(
Payment
payment
)
throws
Exception
{
String
requestXML
=
"\n"
+
"\n"
+
" \n"
+
" "
+
""
+
"\n"
+
""
+
"$POINT_ID\n"
+
"$PASSWORD"
+
""
+
""
+
"\n"
+
""
;
// set the payment id
requestXML
=
requestXML
.
replace
(
"$PAYMENT_ID"
,
payment
.
getId
())
.
replace
(
"$POINT_ID"
,
mUsername
)
.
replace
(
"$PASSWORD"
,
mPassword
);
// send the request to the server
InputStream
responseXML
=
sendRequest
(
requestXML
);
String
responseStr
=
convertStreamToString
(
responseXML
);
System
.
out
.
println
(
responseStr
);
}
private
String
getAttrValue
(
NamedNodeMap
attrs
,
String
name
)
{
Node
value
=
attrs
.
getNamedItem
(
name
);
if
(
value
!=
null
)
{
return
value
.
getTextContent
();
}
else
{
return
""
;
}
}
private
static
String
convertStreamToString
(
InputStream
is
)
{
/*
* To convert the InputStream to String we use the
* BufferedReader.readLine() method. We iterate until the BufferedReader
* return null which means there's no more data to read. Each line will
* appended to a StringBuilder and returned as String.
*/
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
is
));
StringBuilder
sb
=
new
StringBuilder
();
String
line
=
null
;
try
{
while
((
line
=
reader
.
readLine
())
!=
null
)
{
sb
.
append
(
line
+
"\n"
);
}
}
catch
(
IOException
e
)
{
}
finally
{
try
{
is
.
close
();
}
catch
(
IOException
e
)
{
}
}
return
sb
.
toString
();
}
public
static
final
class
Payment
implements
Comparable
{
private
String
mId
;
private
String
mServiceId
;
private
String
mTicket
;
private
String
mNumber
;
private
String
mTime
;
private
String
mEncashmentNumber
;
private
String
mValue
;
private
String
mCommission
;
private
String
mBalance
;
private
String
mCurrency
;
private
String
mPaymentTool
;
private
String
mRejectPayment
;
private
String
mState
;
private
String
mStateComment
;
private
String
mStateTime
;
private
String
mServerPaymentId
;
private
List
mParams
;
// cached parameters
private
String
mAccount
;
private
int
mStateAsInt
;
private
long
mTimeLong
;
private
String
mServiceName
;
public
Payment
()
{
mParams
=
new
ArrayList
();
}
public
long
getTimeLong
()
{
return
mTimeLong
;
}
public
String
getId
()
{
return
mId
;
}
public
void
setId
(
String
id
)
{
mId
=
id
;
}
public
String
getServiceId
()
{
return
mServiceId
;
}
public
void
setServiceId
(
String
serviceId
)
{
mServiceId
=
serviceId
;
}
public
List
getParams
()
{
return
mParams
;
}
public
void
setParams
(
List
params
)
{
mParams
=
params
;
}
public
String
getTicket
()
{
return
mTicket
;
}
public
void
setTicket
(
String
ticket
)
{
mTicket
=
ticket
;
}
public
String
getNumber
()
{
return
mNumber
;
}
public
void
setNumber
(
String
number
)
{
mNumber
=
number
;
}
public
String
getTime
()
{
return
mTime
;
}
public
void
setTime
(
String
time
)
{
mTime
=
time
;
}
public
String
getEncashmentNumber
()
{
return
mEncashmentNumber
;
}
public
void
setEncashmentNumber
(
String
encashmentNumber
)
{
mEncashmentNumber
=
encashmentNumber
;
}
public
String
getValue
()
{
return
mValue
;
}
public
void
setValue
(
String
value
)
{
mValue
=
value
;
}
public
String
getCommission
()
{
return
mCommission
;
}
public
void
setCommission
(
String
commission
)
{
mCommission
=
commission
;
}
public
String
getBalance
()
{
return
mBalance
;
}
public
void
setBalance
(
String
balance
)
{
mBalance
=
balance
;
}
public
String
getCurrency
()
{
return
mCurrency
;
}
public
void
setCurrency
(
String
currency
)
{
mCurrency
=
currency
;
}
public
String
getPaymentTool
()
{
return
mPaymentTool
;
}
public
void
setPaymentTool
(
String
paymentTool
)
{
mPaymentTool
=
paymentTool
;
}
public
String
getRejectPayment
()
{
return
mRejectPayment
;
}
public
void
setRejectPayment
(
String
rejectPayment
)
{
mRejectPayment
=
rejectPayment
;
}
public
String
getState
()
{
return
mState
;
}
public
void
setState
(
String
state
)
{
mState
=
state
;
try
{
mStateAsInt
=
Integer
.
parseInt
(
state
);
}
catch
(
NumberFormatException
e
)
{
mStateAsInt
=
-
1
;
}
}
public
String
getStateComment
()
{
return
mStateComment
;
}
public
void
setStateComment
(
String
stateComment
)
{
mStateComment
=
stateComment
;
}
public
String
getStateTime
()
{
return
mStateTime
;
}
public
void
setStateTime
(
String
stateTime
)
{
mStateTime
=
stateTime
;
}
public
String
getAccount
()
{
return
mAccount
;
}
public
void
setAccount
(
String
account
)
{
mAccount
=
account
;
}
public
int
getStateAsInt
()
{
return
this
.
mStateAsInt
;
}
@Override
public
String
toString
()
{
return
this
.
mAccount
;
}
public
String
getServiceName
()
{
return
mServiceName
;
}
public
void
setServiceName
(
String
serviceName
)
{
mServiceName
=
serviceName
;
}
public
String
getServerPaymentId
()
{
return
mServerPaymentId
;
}
public
void
setServerPaymentId
(
String
serverPaymentId
)
{
mServerPaymentId
=
serverPaymentId
;
}
@Override
public
int
compareTo
(
Object
o
)
{
return
0
;
}
public
static
class
PaymentParam
{
public
static
final
int
TYPE_INPUT
=
1
;
public
static
final
int
TYPE_OUTPUT
=
2
;
public
static
final
int
TYPE_INPUT_OUTPUT
=
3
;
public
static
final
int
TYPE_INTERNAL_DEVICE
=
4
;
private
String
mName
;
private
String
mValue
;
private
int
mType
=
TYPE_INPUT
;
public
PaymentParam
(
String
name
,
String
value
)
{
mName
=
name
;
mValue
=
value
;
}
public
PaymentParam
(
String
name
,
String
value
,
int
type
)
{
this
(
name
,
value
);
mType
=
type
;
}
public
int
getType
()
{
return
mType
;
}
public
void
setType
(
int
type
)
{
mType
=
type
;
}
public
String
getName
()
{
return
mName
;
}
public
void
setName
(
String
name
)
{
mName
=
name
;
}
public
String
getValue
()
{
return
mValue
;
}
public
void
setValue
(
String
value
)
{
mValue
=
value
;
}
}
}
public
static
class
PaypointException
extends
Exception
{
private
String
mErrorCode
;
public
String
getErrorCode
()
{
return
mErrorCode
;
}
PaypointException
(
String
message
,
String
errorCode
)
{
super
(
message
);
mErrorCode
=
errorCode
;
}
}
}
src/com/library/test/Paygo
Test
.java
→
src/com/library/test/Paygo
Utils
.java
View file @
d3588770
...
...
@@ -25,7 +25,7 @@ import java.util.UUID;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
public
class
Paygo
Test
{
public
class
Paygo
Utils
{
// test
...
...
@@ -36,19 +36,30 @@ public class PaygoTest {
// prod
private
static
final
String
mAddress
=
"https://processing2.paygo24.com/paygoservice.asmx"
;
private
static
final
String
mUsername
=
"451717"
;
// iWoQosQ+z9YFXqKuyPyRNg==
private
static
final
String
mPassword
=
encodePass
(
"Ws8GsJZu"
);
public
static
void
main
(
String
[]
args
)
{
// 3 CELLCARD 012885610
// 2 SMART 098375667
// 4 metfone 0887038371
top_up
(
"0887038371"
);
}
private
static
void
top_up
(
String
mAccount
)
{
Date
now
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
SimpleDateFormat
ticket_format
=
new
SimpleDateFormat
(
"HHmmss"
);
SimpleDateFormat
format3339
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
);
Paygo
Test
test
=
new
PaygoTest
();
Paygo
Utils
test
=
new
PaygoUtils
();
Payment
payment
=
new
Payment
();
payment
.
setId
(
UUID
.
randomUUID
().
toString
());
payment
.
setAccount
(
"098375667"
);
payment
.
setServiceId
(
"2"
);
payment
.
setAccount
(
mAccount
);
payment
.
setServiceId
(
"4"
);
payment
.
setCommission
(
"0.00"
);
payment
.
setValue
(
"1.00"
);
payment
.
setTicket
(
ticket_format
.
format
(
now
));
...
...
@@ -58,7 +69,7 @@ public class PaygoTest {
payment
.
setCurrency
(
"USD"
);
payment
.
setPaymentTool
(
"1"
);
List
<
Payment
.
PaymentParam
>
params
=
new
ArrayList
<>();
params
.
add
(
new
Payment
.
PaymentParam
(
"account"
,
"098375667"
));
params
.
add
(
new
Payment
.
PaymentParam
(
"account"
,
mAccount
));
//account parameter
payment
.
setParams
(
params
);
try
{
...
...
@@ -90,9 +101,8 @@ public class PaygoTest {
}
catch
(
Exception
ex
)
{
Logger
.
getLogger
(
Paygo
Test
.
class
.
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
Logger
.
getLogger
(
Paygo
Utils
.
class
.
getName
()).
log
(
Level
.
SEVERE
,
null
,
ex
);
}
}
private
static
final
String
encodePass
(
String
pass
)
{
...
...
src/com/library/util/Paygo24Utils.java
View file @
d3588770
...
...
@@ -77,7 +77,7 @@ public class Paygo24Utils {
public
static
void
main
(
String
[]
args
)
{
Paygo24Utils
paygo24Utils
=
new
Paygo24Utils
();
String
result
=
paygo24Utils
.
payment
(
"0
887038371"
,
4
,
new
BigDecimal
(
1.0
));
String
result
=
paygo24Utils
.
payment
(
"0
98375667"
,
2
,
new
BigDecimal
(
1.0
));
System
.
out
.
println
(
"result:"
+
result
);
}
...
...
src/exchangerate.properties
View file @
d3588770
...
...
@@ -3,11 +3,5 @@
hasPrintlnUrl
=
true
phone.regularly
=
^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])
\\
d{8}$
test.account
=
11,15
#paygo.pointid=46
#paygo.password=4QrcOUm6Wau+VuBX8g+IPg==
#wcRvX9plNOAb95br0y4vVQ==
paygo.pointid
=
326386
paygo.password
=
5TNO+4kpAXtphf1eIlGCLw==
paygo.test.is
=
true
paygo.start.is
=
true
sms.domestic.submail
=
false
\ No newline at end of file
src/jdbc.properties
View file @
d3588770
#jdbc.driverClassName=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/comb_top?useUnicode=true&characterEncoding=utf8&autoReconnect=true
#本地
#jdbc.username=root
#jdbc.password=123
...
...
@@ -11,7 +12,12 @@
jdbc.driverClassName
=
com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/discuz?useUnicode=true&characterEncoding=utf8&autoReconnect=true
jdbc.url
=
jdbc:mysql://localhost:3306/recharge_sys?useUnicode=true&characterEncoding=utf8&autoReconnect=true
jdbc.username
=
recharge_sys
#正式
jdbc.password
=
cK2bPBkwLtKNeGRc
# 测试外网
#jdbc.password=FEeDirZZ4EP8rADM
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment