rapid-unipay
Version:
UnionPay module
118 lines (112 loc) • 5.49 kB
JavaScript
const uuid = require('uuid');
const winston = require('winston');
const index = require('../index');
const info = {
merno: '826450144580017',
cert_sn: '40220995861346480087409489142384722381',
sign_pem: `-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCQvyFGMGkKxojiX2VUkXvu6mNJk/ayHRHXo7KOxC3oQE+QZPk2
4MnBT5eqn7pmxxkZ2Ky5NKCN914LEPJ+6+XatDEIxU7ZXDHQuGa6/Q5W35lh9aC+
M7ULZ8eWjIKM+zlnS5MrUOML8EpvoETCnC2V3YfgM45tTIXEEo3Dkx5RWwIDAQAB
AoGAP9F1OzwW5CBas+w5ggrO6KzA7+zj5O36MuhCzr1iPDc2nURXuMFtUuTjyt+3
0J7Ry1qD9PhmHZHGDfz/3cPmSFgxOmEkvc/xN0TGNfN+WZdcc/n16DKvOUXfEUE1
nx0g6UPP3MI86TaIX+cmHFuSIfRgcFOj1+9xsx8DtYkVVZkCQQDICwzlq3eDw7N+
zkBCie/UhvGOTxjPpZHyjaR3z9CWBETyzw3WM3pgBxFafYXo2ad7HUjYm7bCIM9b
DB6DufrXAkEAuTxU7XnW8khKVqaszlerWE9ohhAgn6EMR4i3PcpYFF8rdz4AWQfn
gdfhAo9UARW0gjOMe9evnBup7RLONMxxHQJBAJS5QnluJYjc8pIQHU5a5ueG/Afl
Xnjii8Nc8y3wXw9pVSmALrVVyGGkX457TBd12kJ53zLLcfCaHA+Azx74IjkCQEKd
uOlCpROy/dEV1hXLH5r9y9hS2niuAW2EdGnraCvDYi1bBeL+3boregdiplJRjP46
La6oDca1iDHzTmdckt0CQFSu+N+zVpz582JcRO1VLSuQz9WDlivtlM8CJW4Xtoq1
ceKDIbnYCkGWKyflpgI77cxgRzv9ph0vE4r9LmqUwsE=
-----END RSA PRIVATE KEY-----
`,
verify_cer: `-----BEGIN CERTIFICATE-----
MIIEQzCCAyugAwIBAgIFEBJJZVgwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMC
Q04xMDAuBgNVBAoTJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eTEXMBUGA1UEAxMOQ0ZDQSBURVNUIE9DQTEwHhcNMTcxMTAxMDcyNDA4WhcN
MjAxMTAxMDcyNDA4WjB3MQswCQYDVQQGEwJjbjESMBAGA1UEChMJQ0ZDQSBPQ0Ex
MQ4wDAYDVQQLEwVDVVBSQTEUMBIGA1UECxMLRW50ZXJwcmlzZXMxLjAsBgNVBAMU
JTA0MUBaMjAxNy0xMS0xQDAwMDQwMDAwOlNJR05AMDAwMDAwMDEwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDIWO6AESrg+34HgbU9mSpgef0sl6avr1d
bD/IjjZYM63SoQi3CZHZUyoyzBKodRzowJrwXmd+hCmdcIfavdvfwi6x+ptJNp9d
EtpfEAnJk+4quriQFj1dNiv6uP8ARgn07UMhgdYB7D8aA1j77Yk1ROx7+LFeo7rZ
Ddde2U1opPxjIqOPqiPno78JMXpFn7LiGPXu75bwY2rYIGEEImnypgiYuW1vo9UO
G47NMWTnsIdy68FquPSw5FKp5foL825GNX3oJSZui8d2UDkMLBasf06Jz0JKz5AV
blaI+s24/iCfo8r+6WaCs8e6BDkaijJkR/bvRCQeQpbX3V8WoTLVAgMBAAGjgfQw
gfEwHwYDVR0jBBgwFoAUz3CdYeudfC6498sCQPcJnf4zdIAwSAYDVR0gBEEwPzA9
BghggRyG7yoBATAxMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmNmY2EuY29tLmNu
L3VzL3VzLTE0Lmh0bTA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vdWNybC5jZmNh
LmNvbS5jbi9SU0EvY3JsMjQ4NzIuY3JsMAsGA1UdDwQEAwID6DAdBgNVHQ4EFgQU
mQQLyuqYjES7qKO+zOkzEbvdFwgwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUF
BwMEMA0GCSqGSIb3DQEBBQUAA4IBAQAujhBuOcuxA+VzoUH84uoFt5aaBM3vGlpW
KVMz6BUsLbIpp1ho5h+LaMnxMs6jdXXDh/du8X5SKMaIddiLw7ujZy1LibKy2jYi
YYfs3tbZ0ffCKQtv78vCgC+IxUUurALY4w58fRLLdu8u8p9jyRFHsQEwSq+W5+bP
MTh2w7cDd9h+6KoCN6AMI1Ly7MxRIhCbNBL9bzaxF9B5GK86ARY7ixkuDCEl4XCF
JGxeoye9R46NqZ6AA/k97mJun//gmUjStmb9PUXA59fR5suAB5o/5lBySZ8UXkrI
pp/iLT8vIl1hNgLh0Ghs7DBSx99I+S3VuUzjHNxL6fGRhlix7Rb8
-----END CERTIFICATE-----
`,
encrypt_cer_sn: '69026275926',
encrypt_cer: `-----BEGIN CERTIFICATE-----
MIIERDCCAyygAwIBAgIFEBJJYlYwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMC
Q04xMDAuBgNVBAoTJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhv
cml0eTEXMBUGA1UEAxMOQ0ZDQSBURVNUIE9DQTEwHhcNMTcxMTAxMDcyMTI0WhcN
MjAxMTAxMDcyMTI0WjB4MQswCQYDVQQGEwJjbjESMBAGA1UEChMJQ0ZDQSBPQ0Ex
MQ4wDAYDVQQLEwVDVVBSQTEUMBIGA1UECxMLRW50ZXJwcmlzZXMxLzAtBgNVBAMU
JjA0MUBaMjAxNC0xMS0xMUAwMDA0MDAwMDpTSUdOQDAwMDAwMDA2MIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArorEnYFbLDv8DJNq8dJmypFf3I+xQQW4
PHEa9DLlWklttZIJDeYqF7GgjE5kBIl09d2k6DACxORenniUrcq3uirV/cmTFmC4
Bh8EzhkMvhs6sPPo4GtmD8iAX1OtgqV9sN5bnIza8OJxydNYelyD+tj0IVmIWsBB
65XM/Wlv8MMxTu891mq8VEzLcoM411JaZbeiYosE4TCGYMKPEv/PyNqI9eTpBQIl
3ajI1+Bbfeghc1+7gGfqOtEAGd9hXYVS4wOPtz7lUVCziRDBLxir8UdxqfszZtk5
4OnkctRBd61iOXmEga8TxgJXgN4weL6T848Nu/HQpFpeVNkScBz4wwIDAQABo4H0
MIHxMB8GA1UdIwQYMBaAFM9wnWHrnXwuuPfLAkD3CZ3+M3SAMEgGA1UdIARBMD8w
PQYIYIEchu8qAQEwMTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZmNhLmNvbS5j
bi91cy91cy0xNC5odG0wOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL3VjcmwuY2Zj
YS5jb20uY24vUlNBL2NybDI0ODcxLmNybDALBgNVHQ8EBAMCA+gwHQYDVR0OBBYE
FMqME27Sya/lvlZk3wOshqZqk2GnMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDANBgkqhkiG9w0BAQUFAAOCAQEABOWX8URpw2gNmwsr8wPvTw6V1nDpbmaS
QGo9f7IXPVrJL++zr/4ziLJCENBBy9+S3Mc4d30BVmHhKl6qC8rdTbm9RF2wLv4f
6EhOYOGmFXo6yKn7fKMm2cgbWGnkW38fgpOikid++mGlDEGdmtvLLUvRtUqPf4Hp
fbpET/xkjLd7qE5Z+a7hto+1cx9UX3aY24rBSalYTwGPORxcDNKGa9OgyzLlx0L8
vxd4IWlgIVF+49ZEE2Wn3FBHnTtdHfGIhomCVYYqaomo2GdH4Iohql9HCaYVrtpz
byAg1J52ZXeYe6qDnfkQQ7V1JM+OkjSeBjnzZZwyLqdnnbNSw6x2Ng==
-----END CERTIFICATE-----
`
}
const open = async () => {
const reqt_json = await index.token.open_reqt(
Object.assign({
order_id: uuid.v4().replace(/-/g, ''),
front_url: 'https://www.bing.com',
back_url: 'https://www.google.com',
trid: '62000000001',
token_type: '01',
acct_no: '6221558812340000',
// acct_no: '6216261000000000018',
reserved: '{cardNumberLock=1}',
}, info)
);
const html = await index.token.open_html(
'https://gateway.test.95516.com/gateway/api/frontTransReq.do', reqt_json
);
winston.info(html);
}
const unbind = async () => {
const resp = await index.token.unbind(
'https://gateway.test.95516.com/gateway/api/backTransReq.do',
Object.assign({
order_id: uuid.v4().replace(/-/g, ''),
trid: '62000000001',
token: '6251640001444120',
}, info)
);
}
(async () => {
const r = index.utils.parse_subfields(
'{token=6251640001460092&trId=62000000001&tokenLevel=90&tokenBegin=20180107063755&tokenEnd=20230106063755&tokenType=01}'
);
winston.info(JSON.stringify(r));
// await open();
await unbind();
})();