Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

alipay-sdk

Package Overview
Dependencies
Maintainers
3
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

alipay-sdk - npm Package Compare versions

Comparing version 4.6.0 to 4.7.0

3

dist/commonjs/alipay.d.ts

@@ -0,1 +1,2 @@

import { IncomingHttpHeaders } from 'urllib';
import type { HttpMethod, RawResponseWithMeta } from 'urllib';

@@ -15,2 +16,3 @@ import { AlipayFormStream } from './AlipayFormStream.js';

responseDataRaw?: string;
responseHttpHeaders?: IncomingHttpHeaders;
links?: AlipayRequestErrorSupportLink[];

@@ -23,2 +25,3 @@ }

responseDataRaw?: string;
responseHttpHeaders?: IncomingHttpHeaders;
links?: AlipayRequestErrorSupportLink[];

@@ -25,0 +28,0 @@ constructor(message: string, options?: AlipayRequestErrorOptions);

@@ -23,4 +23,8 @@ /// <reference types="node" />

export declare function sign(method: string, params: Record<string, any>, config: Required<AlipaySdkConfig>): Record<string, any>;
/** OpenAPI 3.0 签名,使用应用私钥签名 */
export declare function signatureV3(signString: string, appPrivateKey: string): string;
/** OpenAPI 3.0 验签,使用支付宝公钥验证签名 */
export declare function verifySignatureV3(signString: string, expectedSignature: string, alipayPublicKey: string): boolean;
export declare function createRequestId(): string;
export declare function readableToBytes(stream: Readable | ReadableStream): Promise<Buffer>;
export declare function decamelize(text: string): string;

@@ -6,3 +6,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.decamelize = exports.readableToBytes = exports.createRequestId = exports.sign = exports.aesDecrypt = exports.aesEncrypt = exports.aesDecryptText = exports.aesEncryptText = exports.ALIPAY_ALGORITHM_MAPPING = void 0;
exports.decamelize = exports.readableToBytes = exports.createRequestId = exports.verifySignatureV3 = exports.signatureV3 = exports.sign = exports.aesDecrypt = exports.aesEncrypt = exports.aesDecryptText = exports.aesEncryptText = exports.ALIPAY_ALGORITHM_MAPPING = void 0;
const node_util_1 = require("node:util");

@@ -122,2 +122,16 @@ const node_crypto_1 = require("node:crypto");

exports.sign = sign;
/** OpenAPI 3.0 签名,使用应用私钥签名 */
function signatureV3(signString, appPrivateKey) {
return (0, node_crypto_1.createSign)('RSA-SHA256')
.update(signString, 'utf-8')
.sign(appPrivateKey, 'base64');
}
exports.signatureV3 = signatureV3;
/** OpenAPI 3.0 验签,使用支付宝公钥验证签名 */
function verifySignatureV3(signString, expectedSignature, alipayPublicKey) {
return (0, node_crypto_1.createVerify)('RSA-SHA256')
.update(signString, 'utf-8')
.verify(alipayPublicKey, expectedSignature, 'base64');
}
exports.verifySignatureV3 = verifySignatureV3;
function createRequestId() {

@@ -176,2 +190,2 @@ return (0, node_crypto_1.randomUUID)().replaceAll('-', '');

/* c8 ignore stop */
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFxQztBQUNyQyw2Q0FBcUQ7QUFHckQscUNBQXlDO0FBQ3pDLG9FQUEyQztBQUMzQywwREFBaUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFN0IsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxZQUFZO0NBQ25CLENBQUM7QUFFRiwwRkFBMEY7QUFDMUYsMERBQTBEO0FBQzFELHNIQUFzSDtBQUN0SCxNQUFNLEVBQUUsR0FBRyxtQkFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsbUJBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLG1CQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RSxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBSkQsd0NBSUM7QUFFRCxTQUFnQixjQUFjLENBQUMsYUFBcUIsRUFBRSxNQUFjO0lBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFxQztBQUNyQyw2Q0FBbUU7QUFHbkUscUNBQXlDO0FBQ3pDLG9FQUEyQztBQUMzQywwREFBaUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFN0IsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxZQUFZO0NBQ25CLENBQUM7QUFFRiwwRkFBMEY7QUFDMUYsMERBQTBEO0FBQzFELHNIQUFzSDtBQUN0SCxNQUFNLEVBQUUsR0FBRyxtQkFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsbUJBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLG1CQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RSxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBSkQsd0NBSUM7QUFFRCxTQUFnQixjQUFjLENBQUMsYUFBcUIsRUFBRSxNQUFjO0lBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFB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

@@ -0,1 +1,2 @@

import { IncomingHttpHeaders } from 'urllib';
import type { HttpMethod, RawResponseWithMeta } from 'urllib';

@@ -15,2 +16,3 @@ import { AlipayFormStream } from './AlipayFormStream.js';

responseDataRaw?: string;
responseHttpHeaders?: IncomingHttpHeaders;
links?: AlipayRequestErrorSupportLink[];

@@ -23,2 +25,3 @@ }

responseDataRaw?: string;
responseHttpHeaders?: IncomingHttpHeaders;
links?: AlipayRequestErrorSupportLink[];

@@ -25,0 +28,0 @@ constructor(message: string, options?: AlipayRequestErrorOptions);

@@ -23,4 +23,8 @@ /// <reference types="node" resolution-mode="require"/>

export declare function sign(method: string, params: Record<string, any>, config: Required<AlipaySdkConfig>): Record<string, any>;
/** OpenAPI 3.0 签名,使用应用私钥签名 */
export declare function signatureV3(signString: string, appPrivateKey: string): string;
/** OpenAPI 3.0 验签,使用支付宝公钥验证签名 */
export declare function verifySignatureV3(signString: string, expectedSignature: string, alipayPublicKey: string): boolean;
export declare function createRequestId(): string;
export declare function readableToBytes(stream: Readable | ReadableStream): Promise<Buffer>;
export declare function decamelize(text: string): string;
import { debuglog } from 'node:util';
import { createSign, randomUUID } from 'node:crypto';
import { createSign, createVerify, randomUUID } from 'node:crypto';
import { YYYYMMDDHHmmss } from 'utility';

@@ -110,2 +110,14 @@ import snakeCaseKeys from 'snakecase-keys';

}
/** OpenAPI 3.0 签名,使用应用私钥签名 */
export function signatureV3(signString, appPrivateKey) {
return createSign('RSA-SHA256')
.update(signString, 'utf-8')
.sign(appPrivateKey, 'base64');
}
/** OpenAPI 3.0 验签,使用支付宝公钥验证签名 */
export function verifySignatureV3(signString, expectedSignature, alipayPublicKey) {
return createVerify('RSA-SHA256')
.update(signString, 'utf-8')
.verify(alipayPublicKey, expectedSignature, 'base64');
}
export function createRequestId() {

@@ -161,2 +173,2 @@ return randomUUID().replaceAll('-', '');

/* c8 ignore stop */
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLGFBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsR0FBRyxFQUFFLFVBQVU7SUFDZixJQUFJLEVBQUUsWUFBWTtDQUNuQixDQUFDO0FBRUYsMEZBQTBGO0FBQzFGLDBEQUEwRDtBQUMxRCxzSEFBc0g7QUFDdEgsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztLQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlFLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLGFBQXFCLEVBQUUsTUFBYztJQUNsRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVksRUFBRSxNQUFjO0lBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxLQUFLO0FBQ0wsTUFBTSxVQUFVLFVBQVUsQ0FBQyxhQUFxQixFQUFFLE1BQWM7SUFDOUQsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLE1BQWMsRUFBRSxNQUEyQixFQUFFLE1BQWlDO0lBQ2pHLE1BQU0sVUFBVSxHQUF3QjtRQUN0QyxNQUFNO1FBQ04sS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ25CLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztRQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDdkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLFNBQVMsRUFBRSxjQUFjLEVBQUU7S0FDNUIsQ0FBQztJQUNGLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxHQUFHLEtBQUssWUFBWSxJQUFJLEdBQUcsS0FBSyxhQUFhLElBQUksR0FBRyxLQUFLLGFBQWE7WUFBRSxTQUFTO1FBQ3JGLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoRCxVQUFVLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDeEMsVUFBVSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsVUFBVSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ2hELENBQUM7SUFFRCxxQkFBcUI7SUFDckIsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUUzRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsUUFBUTtRQUNSLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsVUFBVSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDL0IsVUFBVSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQ2hDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFDekIsTUFBTSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLE1BQU0sZ0JBQWdCLEdBQXdCLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RSxLQUFLO0lBQ0wscUJBQXFCO0lBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUU7U0FDcEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ1QsSUFBSSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztZQUM5RCxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQ0QsMERBQTBEO1FBQzFELE9BQU8sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWIsT0FBTztJQUNQLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RCxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztTQUMxQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLEtBQUssQ0FBQyx5Q0FBeUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9GLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlO0lBQzdCLE9BQU8sVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQUMsTUFBaUM7SUFDckUsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLElBQUksS0FBYSxDQUFDO0lBQ2xCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNwQixJQUFJLEtBQUssRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQscUJBQXFCO0FBQ3JCLDRFQUE0RTtBQUM1RSxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLE1BQU0sNEJBQTRCLEdBQUcsS0FBSyxDQUFDO0lBQzNDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLFNBQVMsQ0FDakIsaURBQWlELENBQ2xELENBQUM7SUFDSixDQUFDO0lBRUQsMEZBQTBGO0lBQzFGLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwQixPQUFPLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsS0FBSyxTQUFTLElBQUksQ0FBQztJQUN2Qyw2REFBNkQ7SUFDN0QsZ0RBQWdEO0lBQ2hELGdDQUFnQztJQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUM5QixvREFBb0QsRUFDcEQsV0FBVyxDQUNaLENBQUM7SUFFRixJQUFJLDRCQUE0QixFQUFFLENBQUM7UUFDakMsT0FBTyxrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG9GQUFvRjtJQUNwRixtQ0FBbUM7SUFDbkMsT0FBTyxXQUFXO1NBQ2YsT0FBTyxDQUNOLHFFQUFxRSxFQUNyRSxXQUFXLENBQ1o7U0FDQSxXQUFXLEVBQUUsQ0FBQztBQUNuQixDQUFDO0FBRUQsU0FBUyxrQ0FBa0MsQ0FBQyxXQUFtQixFQUFFLFNBQWlCO0lBQ2hGLG1EQUFtRDtJQUNuRCxrREFBa0Q7SUFDbEQsb0RBQW9EO0lBQ3BELGtEQUFrRDtJQUNsRCxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FDL0IsdUZBQXVGLEVBQ3ZGLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUN2QixDQUFDO0lBRUYsNEVBQTRFO0lBQzVFLG1EQUFtRDtJQUNuRCxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQ3hCLHNFQUFzRSxFQUN0RSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FDakQsQ0FBQztBQUNKLENBQUM7QUFDRCxvQkFBb0IifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxhQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR2pDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLEdBQUcsRUFBRSxVQUFVO0lBQ2YsSUFBSSxFQUFFLFlBQVk7Q0FDbkIsQ0FBQztBQUVGLDBGQUEwRjtBQUMxRiwwREFBMEQ7QUFDMUQsc0hBQXNIO0FBQ3RILE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRXRFLFNBQVMsUUFBUSxDQUFDLE1BQWM7SUFDOUIsT0FBTztRQUNMLEVBQUUsRUFBRSxFQUFFO1FBQ04sR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWlCLEVBQUUsTUFBYztJQUM5RCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FB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

4

package.json
{
"name": "alipay-sdk",
"version": "4.6.0",
"version": "4.7.0",
"engines": {

@@ -59,2 +59,3 @@ "node": ">=18.0.0"

"import": {
"source": "./src/index.ts",
"types": "./dist/esm/index.d.ts",

@@ -64,2 +65,3 @@ "default": "./dist/esm/index.js"

"require": {
"source": "./src/index.ts",
"types": "./dist/commonjs/index.d.ts",

@@ -66,0 +68,0 @@ "default": "./dist/commonjs/index.js"

import { debuglog } from 'node:util';
import { createVerify, randomUUID, createSign } from 'node:crypto';
import { createVerify, randomUUID } from 'node:crypto';
import { Readable } from 'node:stream';
import urllib, { Agent } from 'urllib';
import urllib, { Agent, IncomingHttpHeaders } from 'urllib';
import type {

@@ -18,2 +18,3 @@ HttpClientResponse, HttpMethod, RequestOptions, RawResponseWithMeta,

aesDecryptText,
signatureV3, verifySignatureV3,
} from './util.js';

@@ -42,2 +43,3 @@ import { getSNFromPath, getSN, loadPublicKey, loadPublicKeyFromPath } from './antcertutil.js';

responseDataRaw?: string;
responseHttpHeaders?: IncomingHttpHeaders;
links?: AlipayRequestErrorSupportLink[];

@@ -51,2 +53,3 @@ }

responseDataRaw?: string;
responseHttpHeaders?: IncomingHttpHeaders;
links?: AlipayRequestErrorSupportLink[];

@@ -62,2 +65,3 @@

this.responseHttpStatus = options?.responseHttpStatus;
this.responseHttpHeaders = options?.responseHttpHeaders;
this.responseDataRaw = options?.responseDataRaw;

@@ -334,8 +338,14 @@ this.links = options?.links;

};
// 默认需要对响应做验签,确保响应是由支付宝返回的
let validateResponseSignature = true;
if (dataType === 'stream') {
// 使用 HTTP/2 请求才支持流式响应
requestOptions.dispatcher = http2Agent;
// 流式响应不需要对响应做验签
validateResponseSignature = false;
}
if (validateResponseSignature && !this.config.alipayPublicKey) {
throw new TypeError('请确保支付宝公钥 config.alipayPublicKey 已经配置,需要使用它对响应进行验签');
}
const requestId = options?.requestId ?? createRequestId();
requestOptions.headers = {

@@ -446,7 +456,5 @@ 'user-agent': this.version,

}
const signature = createSign('RSA-SHA256')
.update(signString, 'utf-8')
.sign(this.config.privateKey, 'base64');
const signature = signatureV3(signString, this.config.privateKey);
const authorization = `ALIPAY-SHA256withRSA ${authString},sign=${signature}`;
debug('signString: \n--------\n%s\n--------\n, authorization: %o', signString, authorization);
debug('signString: \n--------\n%s\n--------\nauthorization: %o', signString, authorization);
requestOptions.headers.authorization = authorization;

@@ -488,2 +496,3 @@ debug('curl %s %s, with body: %s, headers: %j, dataType: %s',

responseHttpStatus: httpResponse.status,
responseHttpHeaders: httpResponse.headers,
traceId,

@@ -500,6 +509,34 @@ });

}
let responseDataText = httpResponse.data as string;
let httpResponseBody = httpResponse.data as string;
// 对支付宝响应进行验签 https://opendocs.alipay.com/open-v3/054d0z?pathHash=dcad8d5c
if (validateResponseSignature) {
const headers = httpResponse.headers;
const responseSignString = `${headers['alipay-timestamp']}\n${headers['alipay-nonce']}\n${httpResponseBody}\n`;
const expectedSignature = headers['alipay-signature'] as string;
const expectedAlipaySN = headers['alipay-sn'] as string;
if (expectedAlipaySN && this.config.alipayCertSn && expectedAlipaySN !== this.config.alipayCertSn) {
throw new AlipayRequestError(`支付宝公钥证书号不匹配,服务端返回的是:${expectedAlipaySN},SDK 配置的是:${this.config.alipayCertSn}`, {
code: 'response-alipay-sn-verify-error',
responseDataRaw: httpResponse.data,
responseHttpStatus: httpResponse.status,
responseHttpHeaders: httpResponse.headers,
traceId,
});
}
debug('responseSignString: \n--------\n%s\n--------\nexpectedSignature: %o', responseSignString, expectedSignature);
if (!verifySignatureV3(responseSignString, expectedSignature, this.config.alipayPublicKey)) {
throw new AlipayRequestError(`支付宝响应验签失败,请确保支付宝公钥 config.alipayPublicKey 是最新有效版本,签名字符串为:${expectedSignature},验证字符串为:${JSON.stringify(responseSignString)}`, {
code: 'response-signature-verify-error',
responseDataRaw: httpResponse.data,
responseHttpStatus: httpResponse.status,
responseHttpHeaders: httpResponse.headers,
traceId,
});
}
}
if (options?.needEncrypt) {
responseDataText = aesDecryptText(responseDataText, this.config.encryptKey);
if (!responseDataText) {
httpResponseBody = aesDecryptText(httpResponseBody, this.config.encryptKey);
if (!httpResponseBody) {
throw new AlipayRequestError('解密失败,请确认 config.encryptKey 设置正确', {

@@ -509,2 +546,3 @@ code: 'decrypt-error',

responseHttpStatus: httpResponse.status,
responseHttpHeaders: httpResponse.headers,
traceId,

@@ -515,3 +553,3 @@ });

return {
data: JSON.parse(responseDataText),
data: JSON.parse(httpResponseBody),
responseHttpStatus: httpResponse.status,

@@ -518,0 +556,0 @@ traceId,

import { debuglog } from 'node:util';
import { createSign, randomUUID } from 'node:crypto';
import { createSign, createVerify, randomUUID } from 'node:crypto';
import type { Readable } from 'node:stream';

@@ -128,2 +128,16 @@ import type { ReadableStream } from 'node:stream/web';

/** OpenAPI 3.0 签名,使用应用私钥签名 */
export function signatureV3(signString: string, appPrivateKey: string) {
return createSign('RSA-SHA256')
.update(signString, 'utf-8')
.sign(appPrivateKey, 'base64');
}
/** OpenAPI 3.0 验签,使用支付宝公钥验证签名 */
export function verifySignatureV3(signString: string, expectedSignature: string, alipayPublicKey: string) {
return createVerify('RSA-SHA256')
.update(signString, 'utf-8')
.verify(alipayPublicKey, expectedSignature, 'base64');
}
export function createRequestId() {

@@ -130,0 +144,0 @@ return randomUUID().replaceAll('-', '');

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc