[{"data":1,"prerenderedAt":1424},["ShallowReactive",2],{"navigation_docs":3,"-guides-money-movement":132,"-guides-money-movement-surround":1419},[4,30,47,128],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart",{"title":18,"path":19,"stem":20},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication",{"title":22,"path":23,"stem":24},"Self-Hosting","\u002Fgetting-started\u002Fself-hosting","1.getting-started\u002F4.self-hosting",{"title":26,"path":27,"stem":28},"Build an Integration","\u002Fgetting-started\u002Fbuild-an-integration","1.getting-started\u002F5.build-an-integration",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"Sdks","\u002Fsdks","2.sdks",[35,39,43],{"title":36,"path":37,"stem":38},"TypeScript SDK","\u002Fsdks\u002Ftypescript","2.sdks\u002F1.typescript",{"title":40,"path":41,"stem":42},"Python SDK","\u002Fsdks\u002Fpython","2.sdks\u002F2.python",{"title":44,"path":45,"stem":46},"PHP SDK","\u002Fsdks\u002Fphp","2.sdks\u002F3.php",{"title":48,"path":49,"stem":50,"children":51,"page":29},"Guides","\u002Fguides","3.guides",[52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124],{"title":53,"path":54,"stem":55},"Customers","\u002Fguides\u002Fcustomers","3.guides\u002F1.customers",{"title":57,"path":58,"stem":59},"Usage-Based Billing","\u002Fguides\u002Fusage-billing","3.guides\u002F10.usage-billing",{"title":61,"path":62,"stem":63},"Wallets","\u002Fguides\u002Fwallets","3.guides\u002F11.wallets",{"title":65,"path":66,"stem":67},"Coupons, Add-ons and Credit Notes","\u002Fguides\u002Fcoupons-add-ons-credit-notes","3.guides\u002F12.coupons-add-ons-credit-notes",{"title":69,"path":70,"stem":71},"Taxes","\u002Fguides\u002Ftaxes","3.guides\u002F13.taxes",{"title":73,"path":74,"stem":75},"Customer Portal","\u002Fguides\u002Fcustomer-portal","3.guides\u002F14.customer-portal",{"title":77,"path":78,"stem":79},"Ledger","\u002Fguides\u002Fledger","3.guides\u002F15.ledger",{"title":81,"path":82,"stem":83},"Plan Limits and Access","\u002Fguides\u002Fplan-limits-and-access","3.guides\u002F16.plan-limits-and-access",{"title":85,"path":86,"stem":87},"Currencies and Exchange Rates","\u002Fguides\u002Fcurrencies","3.guides\u002F17.currencies",{"title":89,"path":90,"stem":91},"Charge a Customer","\u002Fguides\u002Fcharge-a-customer","3.guides\u002F18.charge-a-customer",{"title":93,"path":94,"stem":95},"One-time Products & Partial Payments","\u002Fguides\u002Fone-time-products-and-partial-payments","3.guides\u002F19.one-time-products-and-partial-payments",{"title":97,"path":98,"stem":99},"Plans & Pricing","\u002Fguides\u002Fplans-and-pricing","3.guides\u002F2.plans-and-pricing",{"title":101,"path":102,"stem":103},"Subscriptions","\u002Fguides\u002Fsubscriptions","3.guides\u002F3.subscriptions",{"title":105,"path":106,"stem":107},"Invoices & Payments","\u002Fguides\u002Finvoices-and-payments","3.guides\u002F4.invoices-and-payments",{"title":109,"path":110,"stem":111},"Payment Providers","\u002Fguides\u002Fpayment-providers","3.guides\u002F5.payment-providers",{"title":113,"path":114,"stem":115},"Analytics","\u002Fguides\u002Fanalytics","3.guides\u002F6.analytics",{"title":117,"path":118,"stem":119},"Webhooks","\u002Fguides\u002Fwebhooks","3.guides\u002F7.webhooks",{"title":121,"path":122,"stem":123},"Sandbox","\u002Fguides\u002Fsandbox","3.guides\u002F8.sandbox",{"title":125,"path":126,"stem":127},"Money Movement","\u002Fguides\u002Fmoney-movement","3.guides\u002F9.money-movement",{"title":129,"path":130,"stem":131},"API Reference","\u002Fapi-reference","4.api-reference",{"id":133,"title":125,"body":134,"description":1413,"extension":1414,"links":1415,"meta":1416,"navigation":513,"path":126,"seo":1417,"stem":127,"__hash__":1418},"docs\u002F3.guides\u002F9.money-movement.md",{"type":135,"value":136,"toc":1401},"minimark",[137,163,170,175,190,320,324,338,829,843,856,867,871,1154,1161,1166,1175,1199,1203,1218,1222,1228,1231,1318,1328,1332,1346,1380,1383,1387,1397],[138,139,140,141,145,146,149,150,153,154,158,159,162],"p",{},"Besides invoices and subscriptions, PimaBill moves money on its own: ",[142,143,144],"strong",{},"collections"," (take a one-time payment), ",[142,147,148],{},"payouts"," (send money out) and ",[142,151,152],{},"transfers"," (move money between two customer wallets). Each one is a record that goes ",[155,156,157],"code",{},"pending → processing → succeeded"," or ",[155,160,161],{},"failed",", and its outcome is sent to your webhook.",[138,164,165,166,169],{},"Money movement is off until it is switched on. Collections and transfers can be switched on in ",[142,167,168],{},"Settings → Money","; payouts are enabled by the platform operator after a review.",[171,172,174],"h2",{"id":173},"who-pays-who-is-paid","Who pays, who is paid",[138,176,177,178,181,182,185,186,189],{},"Collections have a ",[142,179,180],{},"payer"," and payouts a ",[142,183,184],{},"payee",". Both are a party, told apart by ",[155,187,188],{},"type",":",[191,192,193,210],"table",{},[194,195,196],"thead",{},[197,198,199,204,207],"tr",{},[200,201,202],"th",{},[155,203,188],{},[200,205,206],{},"Fields",[200,208,209],{},"Used for",[211,212,213,241,260,275,288,305],"tbody",{},[197,214,215,221,238],{},[216,217,218],"td",{},[155,219,220],{},"mobile_money",[216,222,223,226,227,230,231,234,235],{},[155,224,225],{},"msisdn"," (international format, e.g. ",[155,228,229],{},"256771234567","), optional ",[155,232,233],{},"name",", ",[155,236,237],{},"network",[216,239,240],{},"PIN prompts and mobile money payouts",[197,242,243,248,257],{},[216,244,245],{},[155,246,247],{},"bank",[216,249,250,234,253,256],{},[155,251,252],{},"accountNumber",[155,254,255],{},"bankCode",", account name",[216,258,259],{},"Bank payouts",[197,261,262,267,272],{},[216,263,264],{},[155,265,266],{},"paypal",[216,268,269],{},[155,270,271],{},"email",[216,273,274],{},"PayPal payouts",[197,276,277,282,285],{},[216,278,279],{},[155,280,281],{},"yo_account",[216,283,284],{},"Yo! Payments account number",[216,286,287],{},"Payouts to a Yo account",[197,289,290,295,302],{},[216,291,292],{},[155,293,294],{},"hosted",[216,296,297,299,300],{},[155,298,271],{},", optional ",[155,301,233],{},[216,303,304],{},"A checkout page from the provider (card, bank or mobile money)",[197,306,307,312,317],{},[216,308,309],{},[155,310,311],{},"crypto",[216,313,314,315],{},"optional ",[155,316,271],{},[216,318,319],{},"Crypto payment to your wallet address",[171,321,323],{"id":322},"collect-a-payment","Collect a payment",[138,325,326,327,330,331,158,334,337],{},"A mobile money collection sends a PIN prompt to the payer's phone. The call returns at once with ",[155,328,329],{},"pending","; the result arrives on your webhook as ",[155,332,333],{},"collection.succeeded",[155,335,336],{},"collection.failed",".",[339,340,342,472,754],"code-group",{"sync":341},"lang",[343,344,350],"pre",{"className":345,"code":346,"filename":347,"language":348,"meta":349,"style":349},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.pimabill.com\u002Fapi\u002Fcollections \\\n  -H \"Authorization: Bearer sk_live_a1b2c3d4...\" \\\n  -H \"Idempotency-Key: order-1042\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"amount\": \"50000\",\n    \"currency\": \"UGX\",\n    \"payer\": { \"type\": \"mobile_money\", \"msisdn\": \"256771234567\" },\n    \"reference\": \"order-1042\",\n    \"description\": \"Order #1042\"\n  }'\n","cURL","bash","",[155,351,352,375,393,407,421,433,439,445,451,457,463],{"__ignoreMap":349},[353,354,357,361,365,368,371],"span",{"class":355,"line":356},"line",1,[353,358,360],{"class":359},"sBMFI","curl",[353,362,364],{"class":363},"sfazB"," -X",[353,366,367],{"class":363}," POST",[353,369,370],{"class":363}," https:\u002F\u002Fapi.pimabill.com\u002Fapi\u002Fcollections",[353,372,374],{"class":373},"sTEyZ"," \\\n",[353,376,378,381,385,388,391],{"class":355,"line":377},2,[353,379,380],{"class":363},"  -H",[353,382,384],{"class":383},"sMK4o"," \"",[353,386,387],{"class":363},"Authorization: Bearer sk_live_a1b2c3d4...",[353,389,390],{"class":383},"\"",[353,392,374],{"class":373},[353,394,396,398,400,403,405],{"class":355,"line":395},3,[353,397,380],{"class":363},[353,399,384],{"class":383},[353,401,402],{"class":363},"Idempotency-Key: order-1042",[353,404,390],{"class":383},[353,406,374],{"class":373},[353,408,410,412,414,417,419],{"class":355,"line":409},4,[353,411,380],{"class":363},[353,413,384],{"class":383},[353,415,416],{"class":363},"Content-Type: application\u002Fjson",[353,418,390],{"class":383},[353,420,374],{"class":373},[353,422,424,427,430],{"class":355,"line":423},5,[353,425,426],{"class":363},"  -d",[353,428,429],{"class":383}," '",[353,431,432],{"class":363},"{\n",[353,434,436],{"class":355,"line":435},6,[353,437,438],{"class":363},"    \"amount\": \"50000\",\n",[353,440,442],{"class":355,"line":441},7,[353,443,444],{"class":363},"    \"currency\": \"UGX\",\n",[353,446,448],{"class":355,"line":447},8,[353,449,450],{"class":363},"    \"payer\": { \"type\": \"mobile_money\", \"msisdn\": \"256771234567\" },\n",[353,452,454],{"class":355,"line":453},9,[353,455,456],{"class":363},"    \"reference\": \"order-1042\",\n",[353,458,460],{"class":355,"line":459},10,[353,461,462],{"class":363},"    \"description\": \"Order #1042\"\n",[353,464,466,469],{"class":355,"line":465},11,[353,467,468],{"class":363},"  }",[353,470,471],{"class":383},"'\n",[343,473,478],{"className":474,"code":475,"filename":476,"language":477,"meta":349,"style":349},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { PimaBillClient } from 'pimabill';\n\nconst client = new PimaBillClient({ token: 'sk_live_a1b2c3d4...' });\n\nconst collection = await client.collections.create({\n  amount: '50000',\n  currency: 'UGX',\n  payer: { type: 'mobile_money', msisdn: '256771234567' },\n  reference: 'order-1042',\n  description: 'Order #1042',\n  'Idempotency-Key': 'order-1042',\n});\n\nconsole.log(collection.status); \u002F\u002F \"pending\" until the payer approves\n","TypeScript","typescript",[155,479,480,509,515,559,563,591,608,624,661,677,693,713,723,728],{"__ignoreMap":349},[353,481,482,486,489,492,495,498,500,503,506],{"class":355,"line":356},[353,483,485],{"class":484},"s7zQu","import",[353,487,488],{"class":383}," {",[353,490,491],{"class":373}," PimaBillClient",[353,493,494],{"class":383}," }",[353,496,497],{"class":484}," from",[353,499,429],{"class":383},[353,501,502],{"class":363},"pimabill",[353,504,505],{"class":383},"'",[353,507,508],{"class":383},";\n",[353,510,511],{"class":355,"line":377},[353,512,514],{"emptyLinePlaceholder":513},true,"\n",[353,516,517,521,524,527,530,533,536,539,543,545,547,550,552,554,557],{"class":355,"line":395},[353,518,520],{"class":519},"spNyl","const",[353,522,523],{"class":373}," client ",[353,525,526],{"class":383},"=",[353,528,529],{"class":383}," new",[353,531,491],{"class":532},"s2Zo4",[353,534,535],{"class":373},"(",[353,537,538],{"class":383},"{",[353,540,542],{"class":541},"swJcz"," token",[353,544,189],{"class":383},[353,546,429],{"class":383},[353,548,549],{"class":363},"sk_live_a1b2c3d4...",[353,551,505],{"class":383},[353,553,494],{"class":383},[353,555,556],{"class":373},")",[353,558,508],{"class":383},[353,560,561],{"class":355,"line":409},[353,562,514],{"emptyLinePlaceholder":513},[353,564,565,567,570,572,575,578,580,582,584,587,589],{"class":355,"line":423},[353,566,520],{"class":519},[353,568,569],{"class":373}," collection ",[353,571,526],{"class":383},[353,573,574],{"class":484}," await",[353,576,577],{"class":373}," client",[353,579,337],{"class":383},[353,581,144],{"class":373},[353,583,337],{"class":383},[353,585,586],{"class":532},"create",[353,588,535],{"class":373},[353,590,432],{"class":383},[353,592,593,596,598,600,603,605],{"class":355,"line":435},[353,594,595],{"class":541},"  amount",[353,597,189],{"class":383},[353,599,429],{"class":383},[353,601,602],{"class":363},"50000",[353,604,505],{"class":383},[353,606,607],{"class":383},",\n",[353,609,610,613,615,617,620,622],{"class":355,"line":441},[353,611,612],{"class":541},"  currency",[353,614,189],{"class":383},[353,616,429],{"class":383},[353,618,619],{"class":363},"UGX",[353,621,505],{"class":383},[353,623,607],{"class":383},[353,625,626,629,631,633,636,638,640,642,644,647,650,652,654,656,658],{"class":355,"line":447},[353,627,628],{"class":541},"  payer",[353,630,189],{"class":383},[353,632,488],{"class":383},[353,634,635],{"class":541}," type",[353,637,189],{"class":383},[353,639,429],{"class":383},[353,641,220],{"class":363},[353,643,505],{"class":383},[353,645,646],{"class":383},",",[353,648,649],{"class":541}," msisdn",[353,651,189],{"class":383},[353,653,429],{"class":383},[353,655,229],{"class":363},[353,657,505],{"class":383},[353,659,660],{"class":383}," },\n",[353,662,663,666,668,670,673,675],{"class":355,"line":453},[353,664,665],{"class":541},"  reference",[353,667,189],{"class":383},[353,669,429],{"class":383},[353,671,672],{"class":363},"order-1042",[353,674,505],{"class":383},[353,676,607],{"class":383},[353,678,679,682,684,686,689,691],{"class":355,"line":459},[353,680,681],{"class":541},"  description",[353,683,189],{"class":383},[353,685,429],{"class":383},[353,687,688],{"class":363},"Order #1042",[353,690,505],{"class":383},[353,692,607],{"class":383},[353,694,695,698,701,703,705,707,709,711],{"class":355,"line":465},[353,696,697],{"class":383},"  '",[353,699,700],{"class":541},"Idempotency-Key",[353,702,505],{"class":383},[353,704,189],{"class":383},[353,706,429],{"class":383},[353,708,672],{"class":363},[353,710,505],{"class":383},[353,712,607],{"class":383},[353,714,716,719,721],{"class":355,"line":715},12,[353,717,718],{"class":383},"}",[353,720,556],{"class":373},[353,722,508],{"class":383},[353,724,726],{"class":355,"line":725},13,[353,727,514],{"emptyLinePlaceholder":513},[353,729,731,734,736,739,742,744,747,750],{"class":355,"line":730},14,[353,732,733],{"class":373},"console",[353,735,337],{"class":383},[353,737,738],{"class":532},"log",[353,740,741],{"class":373},"(collection",[353,743,337],{"class":383},[353,745,746],{"class":373},"status)",[353,748,749],{"class":383},";",[353,751,753],{"class":752},"sHwdD"," \u002F\u002F \"pending\" until the payer approves\n",[343,755,760],{"className":756,"code":757,"filename":758,"language":759,"meta":349,"style":349},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from pimabill import Party_MobileMoney, PimaBillClient\n\nclient = PimaBillClient(token=\"sk_live_a1b2c3d4...\")\n\ncollection = client.collections.create(\n    amount=\"50000\",\n    currency=\"UGX\",\n    payer=Party_MobileMoney(msisdn=\"256771234567\"),\n    reference=\"order-1042\",\n    description=\"Order #1042\",\n    idempotency_key=\"order-1042\",\n)\n\nprint(collection.status)  # \"pending\" until the payer approves\n","Python","python",[155,761,762,767,771,776,780,785,790,795,800,805,810,815,820,824],{"__ignoreMap":349},[353,763,764],{"class":355,"line":356},[353,765,766],{},"from pimabill import Party_MobileMoney, PimaBillClient\n",[353,768,769],{"class":355,"line":377},[353,770,514],{"emptyLinePlaceholder":513},[353,772,773],{"class":355,"line":395},[353,774,775],{},"client = PimaBillClient(token=\"sk_live_a1b2c3d4...\")\n",[353,777,778],{"class":355,"line":409},[353,779,514],{"emptyLinePlaceholder":513},[353,781,782],{"class":355,"line":423},[353,783,784],{},"collection = client.collections.create(\n",[353,786,787],{"class":355,"line":435},[353,788,789],{},"    amount=\"50000\",\n",[353,791,792],{"class":355,"line":441},[353,793,794],{},"    currency=\"UGX\",\n",[353,796,797],{"class":355,"line":447},[353,798,799],{},"    payer=Party_MobileMoney(msisdn=\"256771234567\"),\n",[353,801,802],{"class":355,"line":453},[353,803,804],{},"    reference=\"order-1042\",\n",[353,806,807],{"class":355,"line":459},[353,808,809],{},"    description=\"Order #1042\",\n",[353,811,812],{"class":355,"line":465},[353,813,814],{},"    idempotency_key=\"order-1042\",\n",[353,816,817],{"class":355,"line":715},[353,818,819],{},")\n",[353,821,822],{"class":355,"line":725},[353,823,514],{"emptyLinePlaceholder":513},[353,825,826],{"class":355,"line":730},[353,827,828],{},"print(collection.status)  # \"pending\" until the payer approves\n",[138,830,831,832,834,835,838,839,842],{},"For a card payment, use a ",[155,833,294],{}," payer: the response carries a ",[155,836,837],{},"paymentUrl"," to send the payer to, and ",[155,840,841],{},"returnUrl"," is where they come back to.",[138,844,845,848,849,852,853,855],{},[142,846,847],{},"Never charge twice."," Pass your own ",[155,850,851],{},"reference",": reusing it returns the original collection instead of starting another one. The ",[155,854,700],{}," header does the same for a retried request.",[138,857,858,859,862,863,866],{},"If you have more than one provider, ",[155,860,861],{},"provider"," picks one; otherwise the first one that supports the payer type is used. ",[155,864,865],{},"GET \u002Fapi\u002Fmoney\u002Fcapabilities"," lists what each of your providers can do.",[171,868,870],{"id":869},"send-a-payout","Send a payout",[339,872,873,1095],{"sync":341},[343,874,876],{"className":474,"code":875,"filename":476,"language":477,"meta":349,"style":349},"import { PimaBillClient } from 'pimabill';\n\nconst client = new PimaBillClient({ token: 'sk_live_a1b2c3d4...' });\n\nconst payout = await client.payouts.create({\n  amount: '120000',\n  currency: 'UGX',\n  payee: { type: 'mobile_money', msisdn: '256771234567', name: 'Amina N' },\n  reference: 'supplier-77',\n  description: 'Supplier invoice 77',\n  'Idempotency-Key': 'supplier-77',\n});\n",[155,877,878,898,902,934,938,963,978,992,1039,1054,1069,1087],{"__ignoreMap":349},[353,879,880,882,884,886,888,890,892,894,896],{"class":355,"line":356},[353,881,485],{"class":484},[353,883,488],{"class":383},[353,885,491],{"class":373},[353,887,494],{"class":383},[353,889,497],{"class":484},[353,891,429],{"class":383},[353,893,502],{"class":363},[353,895,505],{"class":383},[353,897,508],{"class":383},[353,899,900],{"class":355,"line":377},[353,901,514],{"emptyLinePlaceholder":513},[353,903,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932],{"class":355,"line":395},[353,905,520],{"class":519},[353,907,523],{"class":373},[353,909,526],{"class":383},[353,911,529],{"class":383},[353,913,491],{"class":532},[353,915,535],{"class":373},[353,917,538],{"class":383},[353,919,542],{"class":541},[353,921,189],{"class":383},[353,923,429],{"class":383},[353,925,549],{"class":363},[353,927,505],{"class":383},[353,929,494],{"class":383},[353,931,556],{"class":373},[353,933,508],{"class":383},[353,935,936],{"class":355,"line":409},[353,937,514],{"emptyLinePlaceholder":513},[353,939,940,942,945,947,949,951,953,955,957,959,961],{"class":355,"line":423},[353,941,520],{"class":519},[353,943,944],{"class":373}," payout ",[353,946,526],{"class":383},[353,948,574],{"class":484},[353,950,577],{"class":373},[353,952,337],{"class":383},[353,954,148],{"class":373},[353,956,337],{"class":383},[353,958,586],{"class":532},[353,960,535],{"class":373},[353,962,432],{"class":383},[353,964,965,967,969,971,974,976],{"class":355,"line":435},[353,966,595],{"class":541},[353,968,189],{"class":383},[353,970,429],{"class":383},[353,972,973],{"class":363},"120000",[353,975,505],{"class":383},[353,977,607],{"class":383},[353,979,980,982,984,986,988,990],{"class":355,"line":441},[353,981,612],{"class":541},[353,983,189],{"class":383},[353,985,429],{"class":383},[353,987,619],{"class":363},[353,989,505],{"class":383},[353,991,607],{"class":383},[353,993,994,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1028,1030,1032,1035,1037],{"class":355,"line":447},[353,995,996],{"class":541},"  payee",[353,998,189],{"class":383},[353,1000,488],{"class":383},[353,1002,635],{"class":541},[353,1004,189],{"class":383},[353,1006,429],{"class":383},[353,1008,220],{"class":363},[353,1010,505],{"class":383},[353,1012,646],{"class":383},[353,1014,649],{"class":541},[353,1016,189],{"class":383},[353,1018,429],{"class":383},[353,1020,229],{"class":363},[353,1022,505],{"class":383},[353,1024,646],{"class":383},[353,1026,1027],{"class":541}," name",[353,1029,189],{"class":383},[353,1031,429],{"class":383},[353,1033,1034],{"class":363},"Amina N",[353,1036,505],{"class":383},[353,1038,660],{"class":383},[353,1040,1041,1043,1045,1047,1050,1052],{"class":355,"line":453},[353,1042,665],{"class":541},[353,1044,189],{"class":383},[353,1046,429],{"class":383},[353,1048,1049],{"class":363},"supplier-77",[353,1051,505],{"class":383},[353,1053,607],{"class":383},[353,1055,1056,1058,1060,1062,1065,1067],{"class":355,"line":459},[353,1057,681],{"class":541},[353,1059,189],{"class":383},[353,1061,429],{"class":383},[353,1063,1064],{"class":363},"Supplier invoice 77",[353,1066,505],{"class":383},[353,1068,607],{"class":383},[353,1070,1071,1073,1075,1077,1079,1081,1083,1085],{"class":355,"line":465},[353,1072,697],{"class":383},[353,1074,700],{"class":541},[353,1076,505],{"class":383},[353,1078,189],{"class":383},[353,1080,429],{"class":383},[353,1082,1049],{"class":363},[353,1084,505],{"class":383},[353,1086,607],{"class":383},[353,1088,1089,1091,1093],{"class":355,"line":715},[353,1090,718],{"class":383},[353,1092,556],{"class":373},[353,1094,508],{"class":383},[343,1096,1098],{"className":756,"code":1097,"filename":758,"language":759,"meta":349,"style":349},"from pimabill import Party_MobileMoney, PimaBillClient\n\nclient = PimaBillClient(token=\"sk_live_a1b2c3d4...\")\n\npayout = client.payouts.create(\n    amount=\"120000\",\n    currency=\"UGX\",\n    payee=Party_MobileMoney(msisdn=\"256771234567\", name=\"Amina N\"),\n    reference=\"supplier-77\",\n    description=\"Supplier invoice 77\",\n    idempotency_key=\"supplier-77\",\n)\n",[155,1099,1100,1104,1108,1112,1116,1121,1126,1130,1135,1140,1145,1150],{"__ignoreMap":349},[353,1101,1102],{"class":355,"line":356},[353,1103,766],{},[353,1105,1106],{"class":355,"line":377},[353,1107,514],{"emptyLinePlaceholder":513},[353,1109,1110],{"class":355,"line":395},[353,1111,775],{},[353,1113,1114],{"class":355,"line":409},[353,1115,514],{"emptyLinePlaceholder":513},[353,1117,1118],{"class":355,"line":423},[353,1119,1120],{},"payout = client.payouts.create(\n",[353,1122,1123],{"class":355,"line":435},[353,1124,1125],{},"    amount=\"120000\",\n",[353,1127,1128],{"class":355,"line":441},[353,1129,794],{},[353,1131,1132],{"class":355,"line":447},[353,1133,1134],{},"    payee=Party_MobileMoney(msisdn=\"256771234567\", name=\"Amina N\"),\n",[353,1136,1137],{"class":355,"line":453},[353,1138,1139],{},"    reference=\"supplier-77\",\n",[353,1141,1142],{"class":355,"line":459},[353,1143,1144],{},"    description=\"Supplier invoice 77\",\n",[353,1146,1147],{"class":355,"line":465},[353,1148,1149],{},"    idempotency_key=\"supplier-77\",\n",[353,1151,1152],{"class":355,"line":715},[353,1153,819],{},[138,1155,1156,1157,1160],{},"A payout is paid from your provider balance, or from a customer wallet when you pass ",[155,1158,1159],{},"walletId"," (the amount is held in the wallet until the payout settles, and released if it fails).",[1162,1163,1165],"h3",{"id":1164},"approval-and-limits","Approval and limits",[138,1167,1168,1169,1171,1172,189],{},"Set these in ",[142,1170,168],{},", or with ",[155,1173,1174],{},"PATCH \u002Fapi\u002Fmoney\u002Fsettings",[1176,1177,1178,1193],"ul",{},[1179,1180,1181,1184,1185,1188,1189,1192],"li",{},[142,1182,1183],{},"Approval threshold"," per currency: payouts at or above it wait as ",[155,1186,1187],{},"requires_approval"," until someone approves them in the dashboard. Approval needs a signed-in person with the ",[155,1190,1191],{},"money.approve"," permission; an API key can never approve, so a leaked key cannot both create and approve a payout.",[1179,1194,1195,1198],{},[142,1196,1197],{},"Daily limit"," per currency: the most that can be paid out per UTC day.",[1162,1200,1202],{"id":1201},"outcomes-you-cannot-see-yet","Outcomes you cannot see yet",[138,1204,1205,1206,1209,1210,1213,1214,1217],{},"If a provider does not answer, the payout is marked ",[155,1207,1208],{},"stuck"," and ",[142,1211,1212],{},"never sent again automatically",": sending it twice could pay twice. Check it with ",[155,1215,1216],{},"POST \u002Fapi\u002Fpayouts\u002F{id}\u002Frefresh",", which asks the provider for the real outcome.",[171,1219,1221],{"id":1220},"move-money-between-wallets","Move money between wallets",[138,1223,1224,1227],{},[155,1225,1226],{},"POST \u002Fapi\u002Ftransfers"," moves an amount from one customer wallet to another in the same currency, at once and in one step: both balances change together or not at all.",[171,1229,117],{"id":1230},"webhooks",[191,1232,1233,1243],{},[194,1234,1235],{},[197,1236,1237,1240],{},[200,1238,1239],{},"Event",[200,1241,1242],{},"When",[211,1244,1245,1256,1269,1282,1295,1308],{},[197,1246,1247,1253],{},[216,1248,1249,234,1251],{},[155,1250,333],{},[155,1252,336],{},[216,1254,1255],{},"The payer paid, or the payment failed",[197,1257,1258,1266],{},[216,1259,1260,234,1263],{},[155,1261,1262],{},"payout.created",[155,1264,1265],{},"payout.requires_approval",[216,1267,1268],{},"A payout was created, or is waiting for approval",[197,1270,1271,1279],{},[216,1272,1273,234,1276],{},[155,1274,1275],{},"payout.succeeded",[155,1277,1278],{},"payout.failed",[216,1280,1281],{},"The payout arrived, or failed (a wallet hold is released)",[197,1283,1284,1292],{},[216,1285,1286,234,1289],{},[155,1287,1288],{},"collection.stuck",[155,1290,1291],{},"payout.stuck",[216,1293,1294],{},"The provider could not confirm the outcome yet",[197,1296,1297,1305],{},[216,1298,1299,234,1302],{},[155,1300,1301],{},"collection.canceled",[155,1303,1304],{},"payout.canceled",[216,1306,1307],{},"It was canceled before reaching the provider",[197,1309,1310,1315],{},[216,1311,1312],{},[155,1313,1314],{},"transfer.succeeded",[216,1316,1317],{},"Money moved between two wallets",[138,1319,1320,1323,1324,1327],{},[155,1321,1322],{},"data"," is the movement in the same shape the API returns. See ",[1325,1326,117],"a",{"href":118}," for signatures and retries.",[171,1329,1331],{"id":1330},"managed-payments","Managed payments",[138,1333,1334,1335,1338,1339,1342,1343,189],{},"No payment provider account of your own? Managed payments takes ",[142,1336,1337],{},"every kind of payment"," for you: invoice checkouts, subscription renewals, portal payments, payment links and one-time collections. It is part of the cloud plans, including Free, and is not available on self-hosted deployments. Apply in ",[142,1340,1341],{},"Money movement → Managed payments"," in the dashboard, or with ",[155,1344,1345],{},"POST \u002Fapi\u002Fmoney\u002Fmanaged",[1176,1347,1348,1354,1368,1374],{},[1179,1349,1350,1353],{},[142,1351,1352],{},"Where you are paid."," Choose a payout destination: mobile money (with the name on the account, which some providers require), a bank account or PayPal. The platform keeps what it collects for you and pays it out there. Bank details also let it settle each payment straight to your bank where the provider supports it.",[1179,1355,1356,1359,1360,1363,1364,1367],{},[142,1357,1358],{},"Changing details."," Your email, phone and payout destination can be changed at any time with ",[142,1361,1362],{},"Edit details"," on the same card, or ",[155,1365,1366],{},"PATCH \u002Fapi\u002Fmoney\u002Fmanaged",". Payouts from then on go to the new destination, and every change is recorded by the platform.",[1179,1369,1370,1373],{},[142,1371,1372],{},"Review."," Your details are reviewed before payments start. The status shows on the same page: in review, active, not approved or suspended. When it changes, the organisation's owners and admins get an email (with the reason, if one was given), and the change shows under the bell in the dashboard.",[1179,1375,1376,1379],{},[142,1377,1378],{},"Fees."," Managed payments has a small fee per payment, shown on the same card once you are approved. It is taken from each payment before it is paid out to you. Payments through your own providers have no managed payments fee.",[138,1381,1382],{},"Once active, checkouts try your own providers first and use managed payments when none of them can take the payment (for example a revoked key), so you can add your own provider later without changing your integration.",[171,1384,1386],{"id":1385},"testing","Testing",[138,1388,1389,1390,1392,1393,1396],{},"Use the ",[1325,1391,121],{"href":122},": the same calls with a ",[155,1394,1395],{},"sk_test_"," key move test money only, through each provider's test account.",[1398,1399,1400],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":349,"searchDepth":377,"depth":377,"links":1402},[1403,1404,1405,1409,1410,1411,1412],{"id":173,"depth":377,"text":174},{"id":322,"depth":377,"text":323},{"id":869,"depth":377,"text":870,"children":1406},[1407,1408],{"id":1164,"depth":395,"text":1165},{"id":1201,"depth":395,"text":1202},{"id":1220,"depth":377,"text":1221},{"id":1230,"depth":377,"text":117},{"id":1330,"depth":377,"text":1331},{"id":1385,"depth":377,"text":1386},"Collect one-time payments, send payouts, move money between wallets, and use managed payments when you have no provider account.","md",null,{},{"title":125,"description":1413},"gnqqPAPqRHXgSvCSFZF0YEpcra7fYKEjGYzcMihWIcc",[1420,1422],{"title":121,"path":122,"stem":123,"description":1421,"children":-1},"Test your integration with test money before going live.",{"title":129,"path":130,"stem":131,"description":1423,"children":-1},"Complete API documentation for PimaBill — 107 endpoints across 18 controllers.",1793401245865]