Merge pull request #7291 from chrootsu/yanex-money-sdk

A definition of module "yandex-money-sdk" has been added
This commit is contained in:
Masahiro Wakame
2015-12-23 17:18:11 +09:00
2 changed files with 432 additions and 0 deletions
+124
View File
@@ -0,0 +1,124 @@
/// <reference path="../yandex-money-sdk/yandex-money-sdk.d.ts" />
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<YandexMoneySDK.Wallet.GetAccessTokenResult>;
ymsdk.Wallet.getAccessToken(clientId, code, redirectURI, clientSecret, callback);
}
{
let token: string;
let revoke_all: any;
let callback: ymsdk.ResponseCallback<any>;
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<any>;
wallet.sendAuthenticatedRequest(params, callback)
}
{
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.AccountInfoResult>;
wallet.accountInfo(callback);
}
{
let options: YandexMoneySDK.Wallet.OperationHistoryOptions;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.OperationHistoryResult>;
wallet.operationHistory(options, callback);
}
{
let operation_id: string;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.OperationDetailsResult>;
wallet.operationDetails(operation_id, callback);
}
{
let options: YandexMoneySDK.Wallet.RequestPaymentOptions;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.RequestPaymentResult>;
wallet.requestPayment(options, callback);
}
{
let options: YandexMoneySDK.Wallet.ProcessPaymentOptions;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.ProcessPaymentResult>;
wallet.processPayment(options, callback);
}
{
let operation_id: string;
let protectionCode: string;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.IncomingTransferAcceptResult>;
wallet.incomingTransferAccept(operation_id, protectionCode, callback);
}
{
let operation_id: string;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.Wallet.IncomingTransferRejectResult>;
wallet.incomingTransferReject(operation_id, callback);
}
{
let clientId: string;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.ExternalPayment.GetInstanceIdResult>;
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<YandexMoneySDK.ExternalPayment.RequestResult>;
externalPayment.request(options, callback);
}
{
let options: YandexMoneySDK.ExternalPayment.ProcessOptions;
let callback: ymsdk.ResponseCallback<YandexMoneySDK.ExternalPayment.ProcessResult>;
externalPayment.process(options, callback);
}
+308
View File
@@ -0,0 +1,308 @@
// Type definitions for NodeJS Yandex.Money API SDK
// Project: https://github.com/yandex-money/yandex-money-sdk-nodejs
// Definitions by: Ilya Mochalov <https://github.com/chrootsu>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
declare namespace YandexMoneySDK {
namespace Wallet {
interface GetAccessTokenResult {
access_token?: string;
error?: string;
}
interface SendAuthenticatedRequestParams {
headers?: any;
data?: any;
url: string;
}
interface AccountInfoResult {
account: string;
balance: number;
currency: string;
account_status: string;
account_type: string;
avatar?: {
url: string;
ts: string;
};
balance_details?: {
total: number;
available: number;
deposition_pending?: number;
blocked?: number;
debt?: number;
hold?: number;
}
cards_linked?: {
pan_fragment?: string;
type?: string;
}[];
}
interface OperationHistoryOptions {
type: string;
label: string;
from?: string|Date;
till?: string|Date;
start_record?: string;
records?: number;
details?: boolean;
}
interface OperationHistoryResult {
error?: string;
next_record?: string;
operations?: {
operation_id: string;
status: string;
datetime: string;
title: string;
pattern_id?: string;
direction: string;
amount: number;
label?: string;
type?: string;
}[];
}
interface OperationDetailsResult {
error?: string;
operation_id?: string;
status?: string;
pattern_id?: string;
direction?: string;
amount?: number;
amount_due?: number;
fee?: number;
datetime?: string;
title?: string;
sender?: string;
recipient?: string;
recipient_type?: string;
message?: string;
comment?: string;
codepro?: boolean;
protection_code?: string;
expires?: string;
answer_datetime?: string;
label?: string;
details?: string;
type?: string;
digital_goods?: {
article: {
merchantArticleId: string;
serial: string;
secret: string;
}[];
bonus: {
serial: string;
secret: string;
}[];
};
}
interface RequestPaymentOptions {
pattern_id: string;
to?: string;
amount?: number;
amount_due?: number;
comment?: string;
message?: string;
label?: string;
codepro?: boolean;
hold_for_pickup?: boolean;
expire_period?: number;
'phone-number'?: string;
[key: string]: any
test_payment?: boolean;
test_card?: string;
test_result?: string;
}
interface RequestPaymentResult {
status: string;
error?: string;
money_source?: {
wallet?: {
allowed: boolean;
};
cards?: {
allowed: boolean;
csc_required: boolean;
items: {
id: string;
pan_fragment: string;
type: string;
}[];
};
};
request_id?: string;
contract_amount?: number;
balance?: number;
recipient_account_status?: string;
recipient_account_type?: string;
protection_code?: string;
account_unblock_uri?: string;
ext_action_uri?: string;
}
interface ProcessPaymentOptions {
request_id: string;
money_source?: string;
csc?: string;
ext_auth_success_uri?: string;
ext_auth_fail_uri?: string;
test_payment?: boolean;
test_card?: string;
test_result?: string;
}
interface ProcessPaymentResult {
status: string;
error?: string;
payment_id?: string;
balance?: number;
invoice_id?: string;
payer?: string;
payee?: string;
credit_amount?: number;
account_unblock_uri?: string;
hold_for_pickup_link?: string;
acs_uri?: string;
acs_params?: {
MD: string;
PaReq: string;
[key: string]: any
};
next_retry?: number;
digital_goods?: {
article: {
merchantArticleId: string;
serial: string;
secret: string;
}[];
bonus: {
serial: string;
secret: string;
}[];
};
}
interface IncomingTransferAcceptResult {
status: string;
error?: string;
protection_code_attempts_available?: number;
ext_action_uri?: string;
}
interface IncomingTransferRejectResult {
status: string;
error?: string;
}
}
namespace ExternalPayment {
interface GetInstanceIdResult {
status: string;
error?: string;
instance_id?: string;
}
interface RequestOptions {
pattern_id: string;
// instance_id: string; // the method always overwrites this value
to?: string;
amount?: number;
amount_due?: number;
message?: string;
[key: string]: any;
}
interface RequestResult {
status: string;
error?: string;
request_id?: string;
contract_amount?: number;
title?: string;
}
interface ProcessOptions {
request_id: string;
// instance_id: string; // the method always overwrites this value
ext_auth_success_uri: string;
ext_auth_fail_uri: string;
request_token?: boolean;
money_source_token?: string;
csc?: string;
}
interface ProcessResult {
status: string;
error?: string;
acs_uri?: string;
acs_params?: {
MD: string;
PaReq: string;
[key: string]: any
};
money_source?: {
type: string;
payment_card_type: string;
pan_fragment?: string;
money_source_token?: string;
};
next_retry?: number;
invoice_id?: string;
}
}
}
declare module "yandex-money-sdk" {
import * as http from 'http';
export interface ResponseCallback<TBody> {
(err: any, body: TBody, response: http.IncomingMessage): any;
}
export interface WalletStatic {
new (accessToken: string): Wallet;
buildObtainTokenUrl(clientId: string, redirectURI: string, scope: string[]): string;
getAccessToken(clientId: string, code: string, redirectURI: string, clientSecret: string, callback: ResponseCallback<YandexMoneySDK.Wallet.GetAccessTokenResult>): void;
revokeToken(token: string, revoke_all: any, callback: ResponseCallback<any>): void; // revoke_all missing in documentation
}
export interface Wallet {
sendAuthenticatedRequest(params: YandexMoneySDK.Wallet.SendAuthenticatedRequestParams, callback: ResponseCallback<any>): void;
accountInfo(callback: ResponseCallback<YandexMoneySDK.Wallet.AccountInfoResult>): void;
operationHistory(options: YandexMoneySDK.Wallet.OperationHistoryOptions, callback: ResponseCallback<YandexMoneySDK.Wallet.OperationHistoryResult>): void;
operationDetails(operation_id: string, callback: ResponseCallback<YandexMoneySDK.Wallet.OperationDetailsResult>): void;
requestPayment(options: YandexMoneySDK.Wallet.RequestPaymentOptions, callback: ResponseCallback<YandexMoneySDK.Wallet.RequestPaymentResult>): void;
processPayment(options: YandexMoneySDK.Wallet.ProcessPaymentOptions, callback: ResponseCallback<YandexMoneySDK.Wallet.ProcessPaymentResult>): void;
incomingTransferAccept(operation_id: string, protectionCode: string, callback: ResponseCallback<YandexMoneySDK.Wallet.IncomingTransferAcceptResult>): void;
incomingTransferReject(operation_id: string, callback: ResponseCallback<YandexMoneySDK.Wallet.IncomingTransferRejectResult>): void;
}
export interface ExternalPaymentStatic {
new (instanceId: string): ExternalPayment;
getInstanceId(clientId: string, callback: ResponseCallback<YandexMoneySDK.ExternalPayment.GetInstanceIdResult>): void;
}
export interface ExternalPayment {
request(options: YandexMoneySDK.ExternalPayment.RequestOptions, callback: ResponseCallback<YandexMoneySDK.ExternalPayment.RequestResult>): void;
process(options: YandexMoneySDK.ExternalPayment.ProcessOptions, callback: ResponseCallback<YandexMoneySDK.ExternalPayment.ProcessResult>): void;
}
export interface Config {
MONEY_URL: string;
SP_MONEY_URL: string;
}
export var Wallet: WalletStatic;
export var ExternalPayment: ExternalPaymentStatic;
export var Config: Config;
}