{"id":126030,"date":"2024-05-23T11:45:25","date_gmt":"2024-05-23T02:45:25","guid":{"rendered":"https:\/\/support.questetra.com\/?p=126030"},"modified":"2024-05-23T11:53:41","modified_gmt":"2024-05-23T02:53:41","slug":"service-task-stripe-customer-search","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-stripe-customer-search\/","title":{"rendered":"Stripe: Search Customers"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"58\" data-attachment-id=\"113160\" data-permalink=\"https:\/\/support.questetra.com\/en\/developer-blog\/how-to-use-timer-start-event\/attachment\/advanced-banner-new-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?fit=1200%2C68&amp;ssl=1\" data-orig-size=\"1200,68\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"advanced-banner-new-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?fit=1024%2C58&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en-1024x58.png?resize=1024%2C58&#038;ssl=1\" alt=\"\" class=\"wp-image-113160\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?resize=1024%2C58&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?resize=600%2C34&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?resize=768%2C44&amp;ssl=1 768w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2021\/05\/advanced-banner-new-en.png?w=1200&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-background\" style=\"background-color:#ccffcc;margin-top:var(--wp--preset--spacing--30);margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:var(--wp--preset--spacing--20);padding-bottom:0;padding-left:var(--wp--preset--spacing--20)\"><strong>Stripe: Search Customers<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-right has-background has-small-font-size mt-0 pt-0 wp-block-paragraph\" style=\"background-color:#ccffcc;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:var(--wp--preset--spacing--30);padding-bottom:0;padding-left:var(--wp--preset--spacing--30)\"><a href=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-stripe-customer-search\/\">Stripe: \u9867\u5ba2\u3092\u691c\u7d22<\/a><\/p>\n\n\n\n<p class=\"has-background mt-0 pt-0 wp-block-paragraph\" style=\"background-color:#f0fff0;margin-top:0;margin-right:0;margin-bottom:var(--wp--preset--spacing--60);margin-left:0;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--40)\">This item searches for customer objects on Stripe using a query.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright has-custom-border is-style-default\"><img decoding=\"async\" src=\"data:image;base64,\n        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAvJJREFUWEfF\n        l19I01EUxz\/XKZqWNbVS6cH+UfSUGQlCD0EQRCkoFDkDUzENi6IgkB4sKEgjDStFnVlzalC9+BBR\n        IEFBEeVbFP3R\/lhRpLRpKHO78dtv021u+pszfnv87Zzv+dxzzj33XoHOP6E1fvleGe9KJF\/CDiSZ\n        CDIAo8d\/BMkggn4BfVE27rX0ir9atOcEKC6WqdEOTkuoAOK0iALjAponY7jY0SF+zOYzK0CJSVYI\n        uAQkaAwcaDYm4VS7VTSH8g8JUFokryOpnGdgfzdBk7lTHAmmFRSgxCS7BBxYkOAeEQnd7VZRGKg5\n        A2BBVz4z2oxM+AF4at60kCsP1JJQ6dsTUwBKtxscvI+g4bRyjzljWOfdHVMAZSZZL+G4VpVI7AQ0\n        tFnFCUXDDaAMGWciv8PY55HEV3zHDTaSlWHlBigzySIJlvmoxsbBxHj4ngIOtllFpxug1CTNQMls\n        MjnbIS0d7t6etmpshe9DcKEmfACg3WwVpSpAoXyFIDNQZuMm2J2rfk1Ng6XL4NlTSE4Blwt6LOB0\n        QtEhkBKGvsCdHli9FnLzoe8h9L8MASfpN3eJLd4MDPscLFMeTTcgOhocDjXNi5fAr5+wYqUa+NOA\n        ClF9FiYnVdtHD2DnLpiYgNhYqKmGr5+DQoyYrSLJCyCDmdQ1gtEIdpv6r7LKbgscroKr9ZC\/Dzpa\n        VIBr9VBeBYYoiDKotkLA\/V7\/svnGMVuFYuLugaAAx05C+ipIWa4KShe8eA7ZOdB4GQr2TwMMfoSM\n        NfDuLazfALY\/YLdD9y148zp4GXwBgpag9goYk2BkGJ48hj15MDoK8QnQUAtZ26DrJrRaVMBRO9Sd\n        h7wC2JylAp87A9+G5ipBiCbU0ttbs6HiqFqCkA0XTCigCefchqFgFsWrO2TggxZcP5vpbRjJIAo7\n        rMfBbxDpPoo941i\/w0gB0P04ViB0vZB4m0nXK5kXQtdL6X\/JRLjXcp9M6Pcw8ULo+jTznXK6PU7n\n        O2q1+v0D2nRCMMki7aoAAAAASUVORK5CYII=\n    \" alt=\"Auto Step icon\" class=\"has-border-color has-ast-global-color-6-border-color\" style=\"border-width:0.5em\"\/><\/figure>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Basic Configs<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"0 0 -0.7em 0\">\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\"><\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">Step Name<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #C3C3C3;\"><\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">Note<\/dd>\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details open><summary class=\"wp-block-coblocks-accordion-item__title\">Configs for this Auto Step<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<dl style=\"0 0 -0.7em 0\">\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_Auth<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C1: Authorization Setting in which API Secret Key is set<span style=\"color:#990000;\"> *<\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_Query<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C2: Search Query<span style=\"color:#000099;\"><sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_CustomerIds<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C3: Data item to save customer IDs<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_CustomerUrls<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C4: Data item to save URLs of the customer detail pages<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_CustomerNames<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C5: Data item to save customers&#8217; names<\/dd>\n<dt style=\"font-weight: 300; font-size: 50%; margin: -1em 0 0 0; color: #aaa;\">conf_CustomerEmails<\/dt><dd style=\"margin: -0.5em 0 0.1em 1em\">C6: Data item to save customers&#8217; email addresses<\/dd>\n\n<\/dl>\n<\/div><\/details><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-lightbulb-exclamation\"><\/i> Notes<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>To get Stripe\u2019s API Secret Key, visit&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/dashboard.stripe.com\/apikeys\" target=\"_blank\">https:\/\/dashboard.stripe.com\/apikeys<\/a> (Stripe login required)<\/li><li>See the <a href=\"https:\/\/stripe.com\/docs\/search\" target=\"_blank\" rel=\"noreferrer noopener\">Stripe Documentation<\/a> for the fields and operators that can be used in Search Query<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-images\"><\/i> Capture<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"84005\" data-permalink=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/onedrive-file-upload\/attachment\/setting-service-task-pdf-generation-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/01\/setting-service-task-pdf-generation-en.png?fit=959%2C833&amp;ssl=1\" data-orig-size=\"959,833\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"setting-service-task-pdf-generation-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/01\/setting-service-task-pdf-generation-en.png?fit=725%2C630&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/08\/stripe-customer-search_capture_en.png?ssl=1\" alt=\"\" class=\"wp-image-84005\" style=\"border:10px solid #aaaaaa; padding:5px; margin:5px;\"><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-balance-scale\"><\/i> See also<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/support.questetra.com\/en\/bpmn-icons\/intermediate-error-catch-event-boundary-type\/\" target=\"_blank\">Intermediate Error Catch Event (Boundary Type)<\/a><\/li><\/ul>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><details><summary class=\"wp-block-coblocks-accordion-item__title\">Script (click to open)<\/summary><div class=\"wp-block-coblocks-accordion-item__content\">\n<ul class=\"wp-block-list\">\n<li>An XML file that contains the code below is available to download\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/raw.githubusercontent.com\/Questetra\/Addon-XML\/release-2024-04-30\/stripe-customer-search.xml\" target=\"_blank\" rel=\"noreferrer noopener\">stripe-customer-search.xml<\/a> (C) Questetra, Inc. (MIT License)<\/li>\n\n\n\n<li>If you are using Professional, you can modify the contents of this file and use it as your own add-on auto step<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\n\nconst STRIPE_API_VERSION = &apos;2022-08-01&apos;;\n\nfunction main(){\n    \/\/\/\/ == Config Retrieving \/ \u5de5\u7a0b\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u53c2\u7167 ==\n    const auth = configs.getObject(&apos;conf_Auth&apos;);\n    let query = configs.get(&apos;conf_Query&apos;);\n    if (query === &apos;&apos;) { \/\/ \u691c\u7d22\u30af\u30a8\u30ea\u304c\u7a7a\u306e\u5834\u5408\u3001\u5168\u4ef6\u53d6\u5f97\u3059\u308b\n        query = &apos;created&gt;0&apos;;\n    }\n    const customerIdsDef = configs.getObject(&apos;conf_CustomerIds&apos;);\n    const customerUrlsDef = configs.getObject(&apos;conf_CustomerUrls&apos;);\n    const customerNamesDef = configs.getObject(&apos;conf_CustomerNames&apos;);\n    const customerEmailsDef = configs.getObject(&apos;conf_CustomerEmails&apos;);\n\n    \/\/\/\/ == Calculating \/ \u6f14\u7b97 ==\n    const singleLineFlag = checkDataDefs(customerIdsDef, customerUrlsDef, customerNamesDef, customerEmailsDef);\n    const {customerIds, customerNames, customerEmails} = searchCustomers(auth, query, singleLineFlag);\n\n    \/\/\/\/ == Data Updating \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 ==\n    saveData(customerIdsDef, customerIds);\n    saveData(customerUrlsDef, customerIds.map(id =&gt; `https:\/\/dashboard.stripe.com\/customers\/${id}`));\n    saveData(customerNamesDef, customerNames);\n    saveData(customerEmailsDef, customerEmails);\n}\n\n\/**\n  * \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u3092\u30c1\u30a7\u30c3\u30af\u3057\u3001\u4ee5\u4e0b\u306e\u5834\u5408\u306b\u30a8\u30e9\u30fc\n  * - \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u304c\u4e00\u3064\u3082\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\n  * - \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u304c\u91cd\u8907\n  * @param {ProcessDataDefinitionView} customerIdsDef \u9867\u5ba2 ID \u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee\n  * @param {ProcessDataDefinitionView} customerUrlsDef \u9867\u5ba2\u8a73\u7d30\u30da\u30fc\u30b8\u306e URL \u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee\n  * @param {ProcessDataDefinitionView} customerNamesDef \u9867\u5ba2\u306e\u540d\u524d\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee\n  * @param {ProcessDataDefinitionView} customerEmailsDef \u9867\u5ba2\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u9805\u76ee\n  * @return {boolean} singleLineFlag \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u306e\u3044\u305a\u308c\u304b\u304c\u5358\u4e00\u884c\u3067\u3042\u308c\u3070 true\n  *\/\nfunction checkDataDefs(customerIdsDef, customerUrlsDef, customerNamesDef, customerEmailsDef) {\n    const dataDefList = [customerIdsDef, customerUrlsDef, customerNamesDef, customerEmailsDef]\n        .filter(dataDef =&gt; dataDef !== null);\n    if (dataDefList.length === 0) { \/\/ \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u304c\u4e00\u3064\u3082\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\n        throw new Error(&apos;No data item to save the search result is set.&apos;);\n    }\n    const dataNumSet = new Set(dataDefList.map(dataDef =&gt; dataDef.getNumber())); \/\/ \u91cd\u8907\u78ba\u8a8d\u7528\n    if (dataNumSet.size &lt; dataDefList.length) { \/\/ \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u304c\u91cd\u8907\n        throw new Error(&apos;Same data item is set multiple times.&apos;);\n    }\n    return dataDefList.some(dataDef =&gt; dataDef.matchDataType(&quot;STRING_TEXTFIELD&quot;));\n}\n\n\/**\n  * \u9867\u5ba2\u3092\u691c\u7d22\u3059\u308b\n  * @param {AuthSettingWrapper} auth  HTTP \u8a8d\u8a3c\u8a2d\u5b9a \u30c8\u30fc\u30af\u30f3\u76f4\u63a5\u6307\u5b9a\n  * @param {String} query \u691c\u7d22\u30af\u30a8\u30ea\n  * @param {boolean} singleLineFlag \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u306e\u3044\u305a\u308c\u304b\u304c\u5358\u4e00\u884c\u3067\u3042\u308c\u3070 true\n  * @return {Object} returnObj\n  * @return {List&lt;String&gt;} returnObj.customerIds \u9867\u5ba2 ID \u306e\u4e00\u89a7\n  * @return {List&lt;String&gt;} returnObj.customerNames \u9867\u5ba2\u306e\u540d\u524d\u306e\u4e00\u89a7\n  * @return {List&lt;String&gt;} returnObj.customerEmails \u9867\u5ba2\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u4e00\u89a7\n  *\/\nfunction searchCustomers(auth, query, singleLineFlag) {\n    const customerIds = [];\n    const customerNames = [];\n    const customerEmails = [];\n    let nextPage = search(auth, query, null, customerIds, customerNames, customerEmails);\n    if (singleLineFlag &amp;&amp; customerIds.length &gt; 1) { \/\/ \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\u304c\u5358\u4e00\u884c\u306a\u306e\u306b\u8907\u6570\u4ef6\u3042\u308c\u3070\u30a8\u30e9\u30fc\n        throw new Error(&apos;More than one customers were found while the data item to save the result is Single-Line.&apos;);\n    }\n    while (nextPage !== null) {\n        engine.log(`Current search result: ${customerIds.length} customers found. Fetching next page...`);\n        nextPage = search(auth, query, nextPage, customerIds, customerNames, customerEmails);\n    }\n    engine.log(`Search result: ${customerIds.length} customers found.`);\n    return {customerIds, customerNames, customerEmails};\n}\n\n\/**\n  * \u9867\u5ba2\u3092\u691c\u7d22\u3059\u308b API \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3059\u308b\n  * @param {AuthSettingWrapper} auth  HTTP \u8a8d\u8a3c\u8a2d\u5b9a \u30c8\u30fc\u30af\u30f3\u76f4\u63a5\u6307\u5b9a\n  * @param {String} query \u691c\u7d22\u30af\u30a8\u30ea\n  * @param {String} page \u53d6\u5f97\u3059\u308b\u30da\u30fc\u30b8\u3002\u6700\u521d\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u5834\u5408\u306f null\n  * @param {List&lt;String&gt;} customerIds \u691c\u7d22\u7d50\u679c\u306e\u9867\u5ba2 ID \u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n  * @param {List&lt;String&gt;} customerNames \u691c\u7d22\u7d50\u679c\u306e\u9867\u5ba2\u306e\u540d\u524d\u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n  * @param {List&lt;String&gt;} customerEmails \u691c\u7d22\u7d50\u679c\u306e\u9867\u5ba2\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u683c\u7d0d\u3059\u308b\u914d\u5217\n  * @return {String} nextPage \u6b21\u306e\u30da\u30fc\u30b8\n  *\/\nfunction search(auth, query, page, customerIds, customerNames, customerEmails) {\n    const apiUri = &apos;https:\/\/api.stripe.com\/v1\/customers\/search&apos;;\n    const request = httpClient.begin()\n        .authSetting(auth) \/\/ with &quot;Authorization: Bearer XX&quot;\n        .header(&apos;Stripe-Version&apos;, STRIPE_API_VERSION)\n        .queryParam(&apos;query&apos;, query) \/\/ required\n        .queryParam(&apos;limit&apos;, &apos;100&apos;); \/\/ maximum limit\n    if (page !== null) {\n        request.queryParam(&apos;page&apos;, page);\n    }\n    const response = request.get(apiUri);\n    const status = response.getStatusCode();\n    const responseStr = response.getResponseAsString();\n    if (status !== 200) {\n        engine.log(responseStr);\n        throw new Error(`Failed to search customers. status: ${status}`);\n    }\n    const responseObj = JSON.parse(responseStr);\n    const customers = responseObj.data;\n    if (page === null &amp;&amp; customers.length === 0) { \/\/ 1 \u56de\u76ee\u306e\u691c\u7d22\u3067\u3001\u7d50\u679c\u306e\u4ef6\u6570\u304c 0\n        throw new Error(&apos;No customers found.&apos;);\n    }\n    \/\/ \u7d50\u679c\u3092\u914d\u5217\u306b\u8ffd\u52a0\n    Array.prototype.push.apply(customerIds, customers.map(customer =&gt; customer.id));\n    Array.prototype.push.apply(customerNames, customers.map(customer =&gt; customer.name));\n    Array.prototype.push.apply(customerEmails, customers.map(customer =&gt; customer.email));\n    if (responseObj.has_more) { \/\/ \u6b21\u306e\u30da\u30fc\u30b8\u304c\u3042\u308b\u5834\u5408\n        return responseObj.next_page;\n    }\n    \/\/ \u6b21\u306e\u30da\u30fc\u30b8\u304c\u306a\u3044\u5834\u5408\n    return null;\n}\n\n\/**\n  * \u30c7\u30fc\u30bf\u9805\u76ee\u306b\u51fa\u529b\u3059\u308b\n  * @param {ProcessDataDefinitionView} dataDef \u4fdd\u5b58\u5148\u30c7\u30fc\u30bf\u9805\u76ee\n  * @param {List&lt;String&gt;} dataList \u4fdd\u5b58\u3059\u308b\u30c7\u30fc\u30bf\u306e\u914d\u5217\n  *\/\nfunction saveData(dataDef, dataList) {\n    if ( dataDef === null ) {\n      return;\n    }\n    engine.setData(dataDef, dataList.join(&quot;\\n&quot;));\n}\n\n    <\/code><\/pre><\/div>\n<\/div><\/details><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This item searches for customer objects on Stripe using a query.<\/p>\n","protected":false},"author":17,"featured_media":125421,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[551],"tags":[404],"class_list":["post-126030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bpmn-icons","tag-stripe-api"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"Shiho Tatsumi","author_link":"https:\/\/support.questetra.com\/en\/author\/tatsumi48c607ec82\/"},"uagb_comment_info":1,"uagb_excerpt":"This item searches for customer objects on Stripe using a query.","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-wMK","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":138304,"url":"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-stripe-product-search\/","url_meta":{"origin":126030,"position":0},"title":"Stripe: Search Products","author":"Shiho Tatsumi","date":"2024-05-23","format":false,"excerpt":"This item searches for product objects on Stripe using a query.","rel":"","context":"In &quot;BPMN Icons&quot;","block_context":{"text":"BPMN Icons","link":"https:\/\/support.questetra.com\/en\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":152880,"url":"https:\/\/support.questetra.com\/en\/templates\/stripe-billing-process-2023\/","url_meta":{"origin":126030,"position":1},"title":"Stripe Billing Process","author":"Hirotaka NISHI","date":"2023-10-05","format":false,"excerpt":"An independent sub-process that can be invoked by various business flows. Through the Stripe API; 1) Stripe generates a Stripe invoice, and 2) Stripe sends the Stripe invoice. Billing will be done to customers who are already registered with Stripe, but when the customer is not registered, he or she\u2026","rel":"","context":"In &quot;Workflow Apps&quot;","block_context":{"text":"Workflow Apps","link":"https:\/\/support.questetra.com\/en\/category\/templates\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/eye-catch-stripe-billng-process-20231004-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/eye-catch-stripe-billng-process-20231004-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/eye-catch-stripe-billng-process-20231004-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/eye-catch-stripe-billng-process-20231004-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2023\/10\/eye-catch-stripe-billng-process-20231004-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":126038,"url":"https:\/\/support.questetra.com\/ja\/bpmn-icons\/service-task-stripe-customer-search\/","url_meta":{"origin":126030,"position":2},"title":"Stripe: \u9867\u5ba2\u3092\u691c\u7d22","author":"Shiho Tatsumi","date":"2024-05-23","format":false,"excerpt":"\u3053\u306e\u5de5\u7a0b\u306f\u3001\u691c\u7d22\u30af\u30a8\u30ea\u306b\u5408\u81f4\u3059\u308b Stripe \u4e0a\u306e\u9867\u5ba2\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u691c\u7d22\u3057\u307e\u3059\u3002","rel":"","context":"In &quot;BPMN\u30a2\u30a4\u30b3\u30f3&quot;","block_context":{"text":"BPMN\u30a2\u30a4\u30b3\u30f3","link":"https:\/\/support.questetra.com\/ja\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":125323,"url":"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-stripe-customer-create\/","url_meta":{"origin":126030,"position":3},"title":"Stripe: Create Customer","author":"Shiho Tatsumi","date":"2024-05-23","format":false,"excerpt":"This item creates a customer object on Stripe.","rel":"","context":"In &quot;BPMN Icons&quot;","block_context":{"text":"BPMN Icons","link":"https:\/\/support.questetra.com\/en\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":136924,"url":"https:\/\/support.questetra.com\/en\/bpmn-icons\/service-task-stripe-customer-update\/","url_meta":{"origin":126030,"position":4},"title":"Stripe: Update Customer","author":"Shiho Tatsumi","date":"2024-05-23","format":false,"excerpt":"This item updates a customer object on Stripe. Fields with blank value remain unchanged.","rel":"","context":"In &quot;BPMN Icons&quot;","block_context":{"text":"BPMN Icons","link":"https:\/\/support.questetra.com\/en\/category\/bpmn-icons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2022\/07\/stripe-icon-fi-1.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":67490,"url":"https:\/\/support.questetra.com\/en\/addons\/stripe-chargecreate\/","url_meta":{"origin":126030,"position":5},"title":"Stripe Charge to Customer ID","author":"Hirotaka NISHI","date":"2017-09-09","format":false,"excerpt":"From Customer ID, charge amount, currency code etc. stores Charge ID, last 4 digits of credit card number, status of registration process, communication log respectively into data items as billing record *Note It requires acquiring Secret Key at Stripe Dashboard in advance Supported cards or currency vary from country to\u2026","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/stripe-charge-create-header.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/stripe-charge-create-header.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/stripe-charge-create-header.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/stripe-charge-create-header.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2017\/09\/stripe-charge-create-header.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/126030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/comments?post=126030"}],"version-history":[{"count":7,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/126030\/revisions"}],"predecessor-version":[{"id":161699,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/126030\/revisions\/161699"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/125421"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=126030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=126030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=126030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}