diff --git a/yandex-money-sdk/yandex-money-sdk-tests.ts b/yandex-money-sdk/yandex-money-sdk-tests.ts
new file mode 100644
index 000000000..9641fdf48
--- /dev/null
+++ b/yandex-money-sdk/yandex-money-sdk-tests.ts
@@ -0,0 +1,124 @@
+///
+
+import * as ymsdk from 'yandex-money-sdk';
+
+let wallet: ymsdk.Wallet;
+let externalPayment: ymsdk.ExternalPayment;
+
+{
+ let clientId: string;
+ let redirectURI: string;
+ let scope: string[];
+ let result: string;
+
+ result = ymsdk.Wallet.buildObtainTokenUrl(clientId, redirectURI, scope);
+}
+
+{
+ let clientId: string;
+ let code: string;
+ let redirectURI: string;
+ let clientSecret: string;
+ let callback: ymsdk.ResponseCallback;
+
+ ymsdk.Wallet.getAccessToken(clientId, code, redirectURI, clientSecret, callback);
+}
+
+{
+ let token: string;
+ let revoke_all: any;
+ let callback: ymsdk.ResponseCallback;
+
+ ymsdk.Wallet.revokeToken(token, revoke_all, callback);
+}
+
+{
+ let accessToken: string;
+ let result: ymsdk.Wallet;
+
+ result = new ymsdk.Wallet(accessToken);
+}
+
+{
+ let params: YandexMoneySDK.Wallet.SendAuthenticatedRequestParams;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.sendAuthenticatedRequest(params, callback)
+}
+
+{
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.accountInfo(callback);
+}
+
+{
+ let options: YandexMoneySDK.Wallet.OperationHistoryOptions;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.operationHistory(options, callback);
+}
+
+{
+ let operation_id: string;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.operationDetails(operation_id, callback);
+}
+
+{
+ let options: YandexMoneySDK.Wallet.RequestPaymentOptions;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.requestPayment(options, callback);
+}
+
+{
+ let options: YandexMoneySDK.Wallet.ProcessPaymentOptions;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.processPayment(options, callback);
+}
+
+{
+ let operation_id: string;
+ let protectionCode: string;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.incomingTransferAccept(operation_id, protectionCode, callback);
+}
+
+{
+ let operation_id: string;
+ let callback: ymsdk.ResponseCallback;
+
+ wallet.incomingTransferReject(operation_id, callback);
+}
+
+{
+ let clientId: string;
+ let callback: ymsdk.ResponseCallback;
+
+ ymsdk.ExternalPayment.getInstanceId(clientId, callback);
+}
+
+{
+ let instanceId: string;
+ let result: ymsdk.ExternalPayment;
+
+ result = new ymsdk.ExternalPayment(instanceId);
+}
+
+{
+ let options: YandexMoneySDK.ExternalPayment.RequestOptions;
+ let callback: ymsdk.ResponseCallback;
+
+ externalPayment.request(options, callback);
+}
+
+{
+ let options: YandexMoneySDK.ExternalPayment.ProcessOptions;
+ let callback: ymsdk.ResponseCallback;
+
+ externalPayment.process(options, callback);
+}