PayPal 請求書 送信指示

文字型データ項目で指定した Paypal Invoice ID の請求書をメールで送信し、 ステータスを文字列型データ項目に格納します

2017 © Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/paypal-send/

Configs
  • A: PayPal-REST-API の Client ID と SECRET を2行に分けてセットしてください *
  • B: Paypal Invoce ID が格納されている文字列型データを選択してください *
  • C: Paypal Invoce Status が格納される文字列型データを選択してください (更新) *
Script
//// == 工程コンフィグの参照 / Config Retrieving ==
var clientId_secret = configs.get( "conf_ClientId_Secret" ) + "";
var array_clientId_secret = clientId_secret.split("\n");
var clientId = array_clientId_secret[0];
var secret   = array_clientId_secret[1];

var dataIdB = configs.get( "conf_DataIdB" );
var dataIdC = configs.get( "conf_DataIdC" );


//// == ワークフローデータの参照 / Data Retrieving ==
var paypalId         = data.get( dataIdB ) + "";


//// == 演算 / Calculating ==
// Get OAuth Token with Client Credentials
var uri = "https://api.paypal.com/v1/oauth2/token";
var response = httpClient.begin()
  .basic( clientId, secret )
  .formParam( "grant_type", "client_credentials" )
  .post( uri );
var oauthTokenObj = JSON.parse( response.getResponseAsString() );
var oauthToken = oauthTokenObj.access_token;

// Send invoice
var uriSend = "https://api.paypal.com/v1/invoicing/invoices/" + paypalId + "/send";
var responseSend = httpClient.begin()
  .bearer( oauthToken )
  .post( uriSend );
var statusByCode = responseSend.getStatusCode() + "";

//// == ワークフローデータへの代入 / Data Updating ==
retVal.put( dataIdC, statusByCode );
///retVal.put( "q_accessLog", responseSend.getResponseAsString() ); // for debug

Download

  • Paypal-send.xml
    • スクリプトエンジンとして「Rhino(廃止予定)」が指定されているため、アプリにインストールしても設定エラーとなります
    • 利用するには、スクリプトエンジンの変更、およびそれに伴うスクリプト修正が必要です
    • 修正版は準備中です

Capture

Notes

  • 事前に Paypal Dashboard にて App を生成し、Client ID/Secret を取得しておく必要があります

See also

%d人のブロガーが「いいね」をつけました。